From 280fefdbade70e1b048196b0851a12dc0cf6cb23 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 08:57:12 -0700 Subject: [PATCH 1/6] feat: [Bigtable] add session based protocol (#9087) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add session based protocol docs: update various comments PiperOrigin-RevId: 896559755 Source-Link: https://github.com/googleapis/googleapis/commit/d6677757c6a800b826e7c3a2b8a66d421dfa1837 Source-Link: https://github.com/googleapis/googleapis-gen/commit/f5d557e572135751a9279913e44508a3607edf3a Copy-Tag: eyJwIjoiQmlndGFibGUvLk93bEJvdC55YW1sIiwiaCI6ImY1ZDU1N2U1NzIxMzU3NTFhOTI3OTkxM2U0NDUwOGEzNjA3ZWRmM2EifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- metadata/V2/Bigtable.php | 3 +- metadata/V2/FeatureFlags.php | 2 +- metadata/V2/PeerInfo.php | 2 +- metadata/V2/Session.php | 33 ++ .../get_client_configuration.php | 76 ++++ .../BigtableClient/open_authorized_view.php | 65 +++ .../BigtableClient/open_materialized_view.php | 65 +++ samples/V2/BigtableClient/open_table.php | 65 +++ src/V2/AuthorizedViewRequest.php | 98 +++++ src/V2/AuthorizedViewResponse.php | 98 +++++ src/V2/BackendIdentifier.php | 146 +++++++ src/V2/Client/BigtableClient.php | 101 +++++ src/V2/ClientConfiguration.php | 247 ++++++++++++ .../PollingConfiguration.php | 181 +++++++++ src/V2/CloseSessionRequest.php | 87 ++++ .../CloseSessionReason.php | 72 ++++ src/V2/ClusterInformation.php | 88 +++++ src/V2/ErrorResponse.php | 185 +++++++++ src/V2/FeatureFlags.php | 68 ++++ src/V2/GetClientConfigurationRequest.php | 117 ++++++ src/V2/GoAwayResponse.php | 140 +++++++ src/V2/HeartbeatResponse.php | 33 ++ src/V2/LoadBalancingOptions.php | 126 ++++++ src/V2/LoadBalancingOptions/LeastInFlight.php | 72 ++++ src/V2/LoadBalancingOptions/PeakEwma.php | 75 ++++ src/V2/LoadBalancingOptions/Random.php | 33 ++ src/V2/MaterializedViewRequest.php | 70 ++++ src/V2/MaterializedViewResponse.php | 71 ++++ src/V2/OpenAuthorizedViewRequest.php | 139 +++++++ .../OpenAuthorizedViewRequest/Permission.php | 58 +++ src/V2/OpenAuthorizedViewResponse.php | 33 ++ src/V2/OpenMaterializedViewRequest.php | 139 +++++++ .../Permission.php | 48 +++ src/V2/OpenMaterializedViewResponse.php | 33 ++ src/V2/OpenSessionRequest.php | 233 +++++++++++ src/V2/OpenSessionResponse.php | 115 ++++++ src/V2/OpenTableRequest.php | 114 ++++++ src/V2/OpenTableRequest/Permission.php | 58 +++ src/V2/OpenTableResponse.php | 33 ++ src/V2/PeerInfo.php | 59 ++- src/V2/SessionClientConfiguration.php | 207 ++++++++++ .../ChannelPoolConfiguration.php | 275 +++++++++++++ .../CloudPathOnly.php | 33 ++ .../DirectAccessOnly.php | 33 ++ .../DirectAccessWithFallback.php | 128 ++++++ .../SessionPoolConfiguration.php | 370 ++++++++++++++++++ src/V2/SessionMutateRowRequest.php | 87 ++++ src/V2/SessionMutateRowResponse.php | 33 ++ src/V2/SessionParametersResponse.php | 93 +++++ src/V2/SessionReadRowRequest.php | 97 +++++ src/V2/SessionReadRowResponse.php | 107 +++++ src/V2/SessionRefreshConfig.php | 119 ++++++ src/V2/SessionRefreshConfig/Metadata.php | 102 +++++ src/V2/SessionRequest.php | 126 ++++++ src/V2/SessionRequestStats.php | 77 ++++ src/V2/SessionResponse.php | 249 ++++++++++++ src/V2/SessionType.php | 67 ++++ src/V2/TableRequest.php | 98 +++++ src/V2/TableResponse.php | 98 +++++ src/V2/TelemetryConfiguration.php | 68 ++++ src/V2/TelemetryConfiguration/Level.php | 75 ++++ src/V2/VirtualRpcRequest.php | 201 ++++++++++ src/V2/VirtualRpcRequest/Metadata.php | 157 ++++++++ src/V2/VirtualRpcResponse.php | 175 +++++++++ src/V2/gapic_metadata.json | 20 + src/V2/resources/bigtable_client_config.json | 14 + .../resources/bigtable_descriptor_config.php | 25 ++ tests/Unit/V2/Client/BigtableClientTest.php | 333 ++++++++++++++++ 68 files changed, 6938 insertions(+), 10 deletions(-) create mode 100644 metadata/V2/Session.php create mode 100644 samples/V2/BigtableClient/get_client_configuration.php create mode 100644 samples/V2/BigtableClient/open_authorized_view.php create mode 100644 samples/V2/BigtableClient/open_materialized_view.php create mode 100644 samples/V2/BigtableClient/open_table.php create mode 100644 src/V2/AuthorizedViewRequest.php create mode 100644 src/V2/AuthorizedViewResponse.php create mode 100644 src/V2/BackendIdentifier.php create mode 100644 src/V2/ClientConfiguration.php create mode 100644 src/V2/ClientConfiguration/PollingConfiguration.php create mode 100644 src/V2/CloseSessionRequest.php create mode 100644 src/V2/CloseSessionRequest/CloseSessionReason.php create mode 100644 src/V2/ClusterInformation.php create mode 100644 src/V2/ErrorResponse.php create mode 100644 src/V2/GetClientConfigurationRequest.php create mode 100644 src/V2/GoAwayResponse.php create mode 100644 src/V2/HeartbeatResponse.php create mode 100644 src/V2/LoadBalancingOptions.php create mode 100644 src/V2/LoadBalancingOptions/LeastInFlight.php create mode 100644 src/V2/LoadBalancingOptions/PeakEwma.php create mode 100644 src/V2/LoadBalancingOptions/Random.php create mode 100644 src/V2/MaterializedViewRequest.php create mode 100644 src/V2/MaterializedViewResponse.php create mode 100644 src/V2/OpenAuthorizedViewRequest.php create mode 100644 src/V2/OpenAuthorizedViewRequest/Permission.php create mode 100644 src/V2/OpenAuthorizedViewResponse.php create mode 100644 src/V2/OpenMaterializedViewRequest.php create mode 100644 src/V2/OpenMaterializedViewRequest/Permission.php create mode 100644 src/V2/OpenMaterializedViewResponse.php create mode 100644 src/V2/OpenSessionRequest.php create mode 100644 src/V2/OpenSessionResponse.php create mode 100644 src/V2/OpenTableRequest.php create mode 100644 src/V2/OpenTableRequest/Permission.php create mode 100644 src/V2/OpenTableResponse.php create mode 100644 src/V2/SessionClientConfiguration.php create mode 100644 src/V2/SessionClientConfiguration/ChannelPoolConfiguration.php create mode 100644 src/V2/SessionClientConfiguration/ChannelPoolConfiguration/CloudPathOnly.php create mode 100644 src/V2/SessionClientConfiguration/ChannelPoolConfiguration/DirectAccessOnly.php create mode 100644 src/V2/SessionClientConfiguration/ChannelPoolConfiguration/DirectAccessWithFallback.php create mode 100644 src/V2/SessionClientConfiguration/SessionPoolConfiguration.php create mode 100644 src/V2/SessionMutateRowRequest.php create mode 100644 src/V2/SessionMutateRowResponse.php create mode 100644 src/V2/SessionParametersResponse.php create mode 100644 src/V2/SessionReadRowRequest.php create mode 100644 src/V2/SessionReadRowResponse.php create mode 100644 src/V2/SessionRefreshConfig.php create mode 100644 src/V2/SessionRefreshConfig/Metadata.php create mode 100644 src/V2/SessionRequest.php create mode 100644 src/V2/SessionRequestStats.php create mode 100644 src/V2/SessionResponse.php create mode 100644 src/V2/SessionType.php create mode 100644 src/V2/TableRequest.php create mode 100644 src/V2/TableResponse.php create mode 100644 src/V2/TelemetryConfiguration.php create mode 100644 src/V2/TelemetryConfiguration/Level.php create mode 100644 src/V2/VirtualRpcRequest.php create mode 100644 src/V2/VirtualRpcRequest/Metadata.php create mode 100644 src/V2/VirtualRpcResponse.php diff --git a/metadata/V2/Bigtable.php b/metadata/V2/Bigtable.php index eff71ec..5a7744a 100644 --- a/metadata/V2/Bigtable.php +++ b/metadata/V2/Bigtable.php @@ -21,13 +21,14 @@ public static function initOnce() { \GPBMetadata\Google\Api\Routing::initOnce(); \GPBMetadata\Google\Bigtable\V2\Data::initOnce(); \GPBMetadata\Google\Bigtable\V2\RequestStats::initOnce(); + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); \GPBMetadata\Google\Bigtable\V2\Types::initOnce(); \GPBMetadata\Google\Protobuf\Duration::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); \GPBMetadata\Google\Protobuf\Wrappers::initOnce(); \GPBMetadata\Google\Rpc\Status::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x81b\x0A!google/bigtable/v2/bigtable.proto\x12\x12google.bigtable.v2\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x18google/api/routing.proto\x1A\x1Dgoogle/bigtable/v2/data.proto\x1A&google/bigtable/v2/request_stats.proto\x1A\x1Egoogle/bigtable/v2/types.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/protobuf/wrappers.proto\x1A\x17google/rpc/status.proto\"\xCC\x04\x0A\x0FReadRowsRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x09 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12U\x0A\x16materialized_view_name\x18\x0B \x01(\x09B5\xE0A\x01\xFAA/\x0A-bigtableadmin.googleapis.com/MaterializedView\x12\x16\x0A\x0Eapp_profile_id\x18\x05 \x01(\x09\x12(\x0A\x04rows\x18\x02 \x01(\x0B2\x1A.google.bigtable.v2.RowSet\x12-\x0A\x06filter\x18\x03 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\x12\x12\x0A\x0Arows_limit\x18\x04 \x01(\x03\x12P\x0A\x12request_stats_view\x18\x06 \x01(\x0E24.google.bigtable.v2.ReadRowsRequest.RequestStatsView\x12\x10\x0A\x08reversed\x18\x07 \x01(\x08\"f\x0A\x10RequestStatsView\x12\"\x0A\x1EREQUEST_STATS_VIEW_UNSPECIFIED\x10\x00\x12\x16\x0A\x12REQUEST_STATS_NONE\x10\x01\x12\x16\x0A\x12REQUEST_STATS_FULL\x10\x02\"\xB1\x03\x0A\x10ReadRowsResponse\x12>\x0A\x06chunks\x18\x01 \x03(\x0B2..google.bigtable.v2.ReadRowsResponse.CellChunk\x12\x1C\x0A\x14last_scanned_row_key\x18\x02 \x01(\x0C\x127\x0A\x0Drequest_stats\x18\x03 \x01(\x0B2 .google.bigtable.v2.RequestStats\x1A\x85\x02\x0A\x09CellChunk\x12\x0F\x0A\x07row_key\x18\x01 \x01(\x0C\x121\x0A\x0Bfamily_name\x18\x02 \x01(\x0B2\x1C.google.protobuf.StringValue\x12.\x0A\x09qualifier\x18\x03 \x01(\x0B2\x1B.google.protobuf.BytesValue\x12\x18\x0A\x10timestamp_micros\x18\x04 \x01(\x03\x12\x0E\x0A\x06labels\x18\x05 \x03(\x09\x12\x0D\x0A\x05value\x18\x06 \x01(\x0C\x12\x12\x0A\x0Avalue_size\x18\x07 \x01(\x05\x12\x13\x0A\x09reset_row\x18\x08 \x01(\x08H\x00\x12\x14\x0A\x0Acommit_row\x18\x09 \x01(\x08H\x00B\x0C\x0A\x0Arow_status\"\x98\x02\x0A\x14SampleRowKeysRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x04 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12U\x0A\x16materialized_view_name\x18\x05 \x01(\x09B5\xE0A\x01\xFAA/\x0A-bigtableadmin.googleapis.com/MaterializedView\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\">\x0A\x15SampleRowKeysResponse\x12\x0F\x0A\x07row_key\x18\x01 \x01(\x0C\x12\x14\x0A\x0Coffset_bytes\x18\x02 \x01(\x03\"\xBF\x02\x0A\x10MutateRowRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x06 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\x0A\x0Eapp_profile_id\x18\x04 \x01(\x09\x12\x14\x0A\x07row_key\x18\x02 \x01(\x0CB\x03\xE0A\x02\x124\x0A\x09mutations\x18\x03 \x03(\x0B2\x1C.google.bigtable.v2.MutationB\x03\xE0A\x02\x124\x0A\x0Bidempotency\x18\x08 \x01(\x0B2\x1F.google.bigtable.v2.Idempotency\"\x13\x0A\x11MutateRowResponse\"\x88\x03\x0A\x11MutateRowsRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x05 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\x0A\x0Eapp_profile_id\x18\x03 \x01(\x09\x12A\x0A\x07entries\x18\x02 \x03(\x0B2+.google.bigtable.v2.MutateRowsRequest.EntryB\x03\xE0A\x02\x1A\x84\x01\x0A\x05Entry\x12\x0F\x0A\x07row_key\x18\x01 \x01(\x0C\x124\x0A\x09mutations\x18\x02 \x03(\x0B2\x1C.google.bigtable.v2.MutationB\x03\xE0A\x02\x124\x0A\x0Bidempotency\x18\x03 \x01(\x0B2\x1F.google.bigtable.v2.Idempotency\"\xE4\x01\x0A\x12MutateRowsResponse\x12=\x0A\x07entries\x18\x01 \x03(\x0B2,.google.bigtable.v2.MutateRowsResponse.Entry\x12?\x0A\x0Frate_limit_info\x18\x03 \x01(\x0B2!.google.bigtable.v2.RateLimitInfoH\x00\x88\x01\x01\x1A:\x0A\x05Entry\x12\x0D\x0A\x05index\x18\x01 \x01(\x03\x12\"\x0A\x06status\x18\x02 \x01(\x0B2\x12.google.rpc.StatusB\x12\x0A\x10_rate_limit_info\"J\x0A\x0DRateLimitInfo\x12)\x0A\x06period\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x12\x0E\x0A\x06factor\x18\x02 \x01(\x01\"\x81\x03\x0A\x18CheckAndMutateRowRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x09 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\x0A\x0Eapp_profile_id\x18\x07 \x01(\x09\x12\x14\x0A\x07row_key\x18\x02 \x01(\x0CB\x03\xE0A\x02\x127\x0A\x10predicate_filter\x18\x06 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\x124\x0A\x0Etrue_mutations\x18\x04 \x03(\x0B2\x1C.google.bigtable.v2.Mutation\x125\x0A\x0Ffalse_mutations\x18\x05 \x03(\x0B2\x1C.google.bigtable.v2.Mutation\"6\x0A\x19CheckAndMutateRowResponse\x12\x19\x0A\x11predicate_matched\x18\x01 \x01(\x08\"i\x0A\x12PingAndWarmRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\"\x15\x0A\x13PingAndWarmResponse\"\x99\x02\x0A\x19ReadModifyWriteRowRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x06 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\x0A\x0Eapp_profile_id\x18\x04 \x01(\x09\x12\x14\x0A\x07row_key\x18\x02 \x01(\x0CB\x03\xE0A\x02\x12;\x0A\x05rules\x18\x03 \x03(\x0B2'.google.bigtable.v2.ReadModifyWriteRuleB\x03\xE0A\x02\"B\x0A\x1AReadModifyWriteRowResponse\x12\$\x0A\x03row\x18\x01 \x01(\x0B2\x17.google.bigtable.v2.Row\"\x86\x01\x0A,GenerateInitialChangeStreamPartitionsRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\"g\x0A-GenerateInitialChangeStreamPartitionsResponse\x126\x0A\x09partition\x18\x01 \x01(\x0B2#.google.bigtable.v2.StreamPartition\"\x9B\x03\x0A\x17ReadChangeStreamRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x126\x0A\x09partition\x18\x03 \x01(\x0B2#.google.bigtable.v2.StreamPartition\x120\x0A\x0Astart_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampH\x00\x12K\x0A\x13continuation_tokens\x18\x06 \x01(\x0B2,.google.bigtable.v2.StreamContinuationTokensH\x00\x12,\x0A\x08end_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x125\x0A\x12heartbeat_duration\x18\x07 \x01(\x0B2\x19.google.protobuf.DurationB\x0C\x0A\x0Astart_from\"\xA9\x0A\x0A\x18ReadChangeStreamResponse\x12N\x0A\x0Bdata_change\x18\x01 \x01(\x0B27.google.bigtable.v2.ReadChangeStreamResponse.DataChangeH\x00\x12K\x0A\x09heartbeat\x18\x02 \x01(\x0B26.google.bigtable.v2.ReadChangeStreamResponse.HeartbeatH\x00\x12P\x0A\x0Cclose_stream\x18\x03 \x01(\x0B28.google.bigtable.v2.ReadChangeStreamResponse.CloseStreamH\x00\x1A\xF4\x01\x0A\x0DMutationChunk\x12X\x0A\x0Achunk_info\x18\x01 \x01(\x0B2D.google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo\x12.\x0A\x08mutation\x18\x02 \x01(\x0B2\x1C.google.bigtable.v2.Mutation\x1AY\x0A\x09ChunkInfo\x12\x1A\x0A\x12chunked_value_size\x18\x01 \x01(\x05\x12\x1C\x0A\x14chunked_value_offset\x18\x02 \x01(\x05\x12\x12\x0A\x0Alast_chunk\x18\x03 \x01(\x08\x1A\xC6\x03\x0A\x0ADataChange\x12J\x0A\x04type\x18\x01 \x01(\x0E2<.google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type\x12\x19\x0A\x11source_cluster_id\x18\x02 \x01(\x09\x12\x0F\x0A\x07row_key\x18\x03 \x01(\x0C\x124\x0A\x10commit_timestamp\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x12\x0A\x0Atiebreaker\x18\x05 \x01(\x05\x12J\x0A\x06chunks\x18\x06 \x03(\x0B2:.google.bigtable.v2.ReadChangeStreamResponse.MutationChunk\x12\x0C\x0A\x04done\x18\x08 \x01(\x08\x12\x0D\x0A\x05token\x18\x09 \x01(\x09\x12;\x0A\x17estimated_low_watermark\x18\x0A \x01(\x0B2\x1A.google.protobuf.Timestamp\"P\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04USER\x10\x01\x12\x16\x0A\x12GARBAGE_COLLECTION\x10\x02\x12\x10\x0A\x0CCONTINUATION\x10\x03\x1A\x91\x01\x0A\x09Heartbeat\x12G\x0A\x12continuation_token\x18\x01 \x01(\x0B2+.google.bigtable.v2.StreamContinuationToken\x12;\x0A\x17estimated_low_watermark\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x1A\xB8\x01\x0A\x0BCloseStream\x12\"\x0A\x06status\x18\x01 \x01(\x0B2\x12.google.rpc.Status\x12H\x0A\x13continuation_tokens\x18\x02 \x03(\x0B2+.google.bigtable.v2.StreamContinuationToken\x12;\x0A\x0Enew_partitions\x18\x03 \x03(\x0B2#.google.bigtable.v2.StreamPartitionB\x0F\x0A\x0Dstream_record\"\xA1\x03\x0A\x13ExecuteQueryRequest\x12D\x0A\x0Dinstance_name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x1B\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x14\x0A\x05query\x18\x03 \x01(\x09B\x05\x18\x01\xE0A\x02\x12\x16\x0A\x0Eprepared_query\x18\x09 \x01(\x0C\x12;\x0A\x0Cproto_format\x18\x04 \x01(\x0B2\x1F.google.bigtable.v2.ProtoFormatB\x02\x18\x01H\x00\x12\x19\x0A\x0Cresume_token\x18\x08 \x01(\x0CB\x03\xE0A\x01\x12H\x0A\x06params\x18\x07 \x03(\x0B23.google.bigtable.v2.ExecuteQueryRequest.ParamsEntryB\x03\xE0A\x02\x1AH\x0A\x0BParamsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12(\x0A\x05value\x18\x02 \x01(\x0B2\x19.google.bigtable.v2.Value:\x028\x01B\x0D\x0A\x0Bdata_format\"\x96\x01\x0A\x14ExecuteQueryResponse\x129\x0A\x08metadata\x18\x01 \x01(\x0B2%.google.bigtable.v2.ResultSetMetadataH\x00\x127\x0A\x07results\x18\x02 \x01(\x0B2\$.google.bigtable.v2.PartialResultSetH\x00B\x0A\x0A\x08response\"\xF4\x02\x0A\x13PrepareQueryRequest\x12D\x0A\x0Dinstance_name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x1B\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05query\x18\x03 \x01(\x09B\x03\xE0A\x02\x127\x0A\x0Cproto_format\x18\x04 \x01(\x0B2\x1F.google.bigtable.v2.ProtoFormatH\x00\x12Q\x0A\x0Bparam_types\x18\x06 \x03(\x0B27.google.bigtable.v2.PrepareQueryRequest.ParamTypesEntryB\x03\xE0A\x02\x1AK\x0A\x0FParamTypesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12'\x0A\x05value\x18\x02 \x01(\x0B2\x18.google.bigtable.v2.Type:\x028\x01B\x0D\x0A\x0Bdata_format\"\x98\x01\x0A\x14PrepareQueryResponse\x127\x0A\x08metadata\x18\x01 \x01(\x0B2%.google.bigtable.v2.ResultSetMetadata\x12\x16\x0A\x0Eprepared_query\x18\x02 \x01(\x0C\x12/\x0A\x0Bvalid_until\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp2\xDB'\x0A\x08Bigtable\x12\xD5\x04\x0A\x08ReadRows\x12#.google.bigtable.v2.ReadRowsRequest\x1A\$.google.bigtable.v2.ReadRowsResponse\"\xFB\x03\xDAA\x0Atable_name\xDAA\x19table_name,app_profile_id\x82\xD3\xE4\x93\x02\xF1\x01\"9/v2/{table_name=projects/*/instances/*/tables/*}:readRows:\x01*ZZ\"U/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:readRows:\x01*ZU\"P/v2/{materialized_view_name=projects/*/instances/*/materializedViews/*}:readRows:\x01*\x8A\xD3\xE4\x93\x02\xD3\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12:\x0A\x16materialized_view_name\x12 {name=projects/*/instances/*}/**0\x01\x12\xEA\x04\x0A\x0DSampleRowKeys\x12(.google.bigtable.v2.SampleRowKeysRequest\x1A).google.bigtable.v2.SampleRowKeysResponse\"\x81\x04\xDAA\x0Atable_name\xDAA\x19table_name,app_profile_id\x82\xD3\xE4\x93\x02\xF7\x01\x12>/v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeysZ\\\x12Z/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:sampleRowKeysZW\x12U/v2/{materialized_view_name=projects/*/instances/*/materializedViews/*}:sampleRowKeys\x8A\xD3\xE4\x93\x02\xD3\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12:\x0A\x16materialized_view_name\x12 {name=projects/*/instances/*}/**0\x01\x12\xE9\x03\x0A\x09MutateRow\x12\$.google.bigtable.v2.MutateRowRequest\x1A%.google.bigtable.v2.MutateRowResponse\"\x8E\x03\xDAA\x1Ctable_name,row_key,mutations\xDAA+table_name,row_key,mutations,app_profile_id\x82\xD3\xE4\x93\x02\x9C\x01\":/v2/{table_name=projects/*/instances/*/tables/*}:mutateRow:\x01*Z[\"V/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:mutateRow:\x01*\x8A\xD3\xE4\x93\x02\x97\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xDC\x03\x0A\x0AMutateRows\x12%.google.bigtable.v2.MutateRowsRequest\x1A&.google.bigtable.v2.MutateRowsResponse\"\xFC\x02\xDAA\x12table_name,entries\xDAA!table_name,entries,app_profile_id\x82\xD3\xE4\x93\x02\x9E\x01\";/v2/{table_name=projects/*/instances/*/tables/*}:mutateRows:\x01*Z\\\"W/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:mutateRows:\x01*\x8A\xD3\xE4\x93\x02\x97\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**0\x01\x12\xDD\x04\x0A\x11CheckAndMutateRow\x12,.google.bigtable.v2.CheckAndMutateRowRequest\x1A-.google.bigtable.v2.CheckAndMutateRowResponse\"\xEA\x03\xDAABtable_name,row_key,predicate_filter,true_mutations,false_mutations\xDAAQtable_name,row_key,predicate_filter,true_mutations,false_mutations,app_profile_id\x82\xD3\xE4\x93\x02\xAC\x01\"B/v2/{table_name=projects/*/instances/*/tables/*}:checkAndMutateRow:\x01*Zc\"^/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:checkAndMutateRow:\x01*\x8A\xD3\xE4\x93\x02\x97\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xEE\x01\x0A\x0BPingAndWarm\x12&.google.bigtable.v2.PingAndWarmRequest\x1A'.google.bigtable.v2.PingAndWarmResponse\"\x8D\x01\xDAA\x04name\xDAA\x13name,app_profile_id\x82\xD3\xE4\x93\x02+\"&/v2/{name=projects/*/instances/*}:ping:\x01*\x8A\xD3\xE4\x93\x029\x12%\x0A\x04name\x12\x1D{name=projects/*/instances/*}\x12\x10\x0A\x0Eapp_profile_id\x12\x8E\x04\x0A\x12ReadModifyWriteRow\x12-.google.bigtable.v2.ReadModifyWriteRowRequest\x1A..google.bigtable.v2.ReadModifyWriteRowResponse\"\x98\x03\xDAA\x18table_name,row_key,rules\xDAA'table_name,row_key,rules,app_profile_id\x82\xD3\xE4\x93\x02\xAE\x01\"C/v2/{table_name=projects/*/instances/*/tables/*}:readModifyWriteRow:\x01*Zd\"_/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:readModifyWriteRow:\x01*\x8A\xD3\xE4\x93\x02\x97\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xBB\x02\x0A%GenerateInitialChangeStreamPartitions\x12@.google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest\x1AA.google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse\"\x8A\x01\xDAA\x0Atable_name\xDAA\x19table_name,app_profile_id\x82\xD3\xE4\x93\x02[\"V/v2/{table_name=projects/*/instances/*/tables/*}:generateInitialChangeStreamPartitions:\x01*0\x01\x12\xE6\x01\x0A\x10ReadChangeStream\x12+.google.bigtable.v2.ReadChangeStreamRequest\x1A,.google.bigtable.v2.ReadChangeStreamResponse\"u\xDAA\x0Atable_name\xDAA\x19table_name,app_profile_id\x82\xD3\xE4\x93\x02F\"A/v2/{table_name=projects/*/instances/*/tables/*}:readChangeStream:\x01*0\x01\x12\xA9\x02\x0A\x0CPrepareQuery\x12'.google.bigtable.v2.PrepareQueryRequest\x1A(.google.bigtable.v2.PrepareQueryResponse\"\xC5\x01\xDAA\x13instance_name,query\xDAA\"instance_name,query,app_profile_id\x82\xD3\xE4\x93\x02<\"7/v2/{instance_name=projects/*/instances/*}:prepareQuery:\x01*\x8A\xD3\xE4\x93\x02B\x12.\x0A\x0Dinstance_name\x12\x1D{name=projects/*/instances/*}\x12\x10\x0A\x0Eapp_profile_id\x12\xAB\x02\x0A\x0CExecuteQuery\x12'.google.bigtable.v2.ExecuteQueryRequest\x1A(.google.bigtable.v2.ExecuteQueryResponse\"\xC5\x01\xDAA\x13instance_name,query\xDAA\"instance_name,query,app_profile_id\x82\xD3\xE4\x93\x02<\"7/v2/{instance_name=projects/*/instances/*}:executeQuery:\x01*\x8A\xD3\xE4\x93\x02B\x12.\x0A\x0Dinstance_name\x12\x1D{name=projects/*/instances/*}\x12\x10\x0A\x0Eapp_profile_id0\x01\x1A\xDB\x02\xCAA\x17bigtable.googleapis.com\xD2A\xBD\x02https://www.googleapis.com/auth/bigtable.data,https://www.googleapis.com/auth/bigtable.data.readonly,https://www.googleapis.com/auth/cloud-bigtable.data,https://www.googleapis.com/auth/cloud-bigtable.data.readonly,https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-onlyB\xF5\x04\x0A\x16com.google.bigtable.v2B\x0DBigtableProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2\xEAAP\x0A%bigtableadmin.googleapis.com/Instance\x12'projects/{project}/instances/{instance}\xEAA\\\x0A\"bigtableadmin.googleapis.com/Table\x126projects/{project}/instances/{instance}/tables/{table}\xEAA\x87\x01\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12Xprojects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}\xEAA~\x0A-bigtableadmin.googleapis.com/MaterializedView\x12Mprojects/{project}/instances/{instance}/materializedViews/{materialized_view}b\x06proto3" + "\x0A\xD5e\x0A!google/bigtable/v2/bigtable.proto\x12\x12google.bigtable.v2\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x18google/api/routing.proto\x1A\x1Dgoogle/bigtable/v2/data.proto\x1A&google/bigtable/v2/request_stats.proto\x1A google/bigtable/v2/session.proto\x1A\x1Egoogle/bigtable/v2/types.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/protobuf/wrappers.proto\x1A\x17google/rpc/status.proto\"\xCC\x04\x0A\x0FReadRowsRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x09 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12U\x0A\x16materialized_view_name\x18\x0B \x01(\x09B5\xE0A\x01\xFAA/\x0A-bigtableadmin.googleapis.com/MaterializedView\x12\x16\x0A\x0Eapp_profile_id\x18\x05 \x01(\x09\x12(\x0A\x04rows\x18\x02 \x01(\x0B2\x1A.google.bigtable.v2.RowSet\x12-\x0A\x06filter\x18\x03 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\x12\x12\x0A\x0Arows_limit\x18\x04 \x01(\x03\x12P\x0A\x12request_stats_view\x18\x06 \x01(\x0E24.google.bigtable.v2.ReadRowsRequest.RequestStatsView\x12\x10\x0A\x08reversed\x18\x07 \x01(\x08\"f\x0A\x10RequestStatsView\x12\"\x0A\x1EREQUEST_STATS_VIEW_UNSPECIFIED\x10\x00\x12\x16\x0A\x12REQUEST_STATS_NONE\x10\x01\x12\x16\x0A\x12REQUEST_STATS_FULL\x10\x02\"\xB1\x03\x0A\x10ReadRowsResponse\x12>\x0A\x06chunks\x18\x01 \x03(\x0B2..google.bigtable.v2.ReadRowsResponse.CellChunk\x12\x1C\x0A\x14last_scanned_row_key\x18\x02 \x01(\x0C\x127\x0A\x0Drequest_stats\x18\x03 \x01(\x0B2 .google.bigtable.v2.RequestStats\x1A\x85\x02\x0A\x09CellChunk\x12\x0F\x0A\x07row_key\x18\x01 \x01(\x0C\x121\x0A\x0Bfamily_name\x18\x02 \x01(\x0B2\x1C.google.protobuf.StringValue\x12.\x0A\x09qualifier\x18\x03 \x01(\x0B2\x1B.google.protobuf.BytesValue\x12\x18\x0A\x10timestamp_micros\x18\x04 \x01(\x03\x12\x0E\x0A\x06labels\x18\x05 \x03(\x09\x12\x0D\x0A\x05value\x18\x06 \x01(\x0C\x12\x12\x0A\x0Avalue_size\x18\x07 \x01(\x05\x12\x13\x0A\x09reset_row\x18\x08 \x01(\x08H\x00\x12\x14\x0A\x0Acommit_row\x18\x09 \x01(\x08H\x00B\x0C\x0A\x0Arow_status\"\x98\x02\x0A\x14SampleRowKeysRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x04 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12U\x0A\x16materialized_view_name\x18\x05 \x01(\x09B5\xE0A\x01\xFAA/\x0A-bigtableadmin.googleapis.com/MaterializedView\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\">\x0A\x15SampleRowKeysResponse\x12\x0F\x0A\x07row_key\x18\x01 \x01(\x0C\x12\x14\x0A\x0Coffset_bytes\x18\x02 \x01(\x03\"\xBF\x02\x0A\x10MutateRowRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x06 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\x0A\x0Eapp_profile_id\x18\x04 \x01(\x09\x12\x14\x0A\x07row_key\x18\x02 \x01(\x0CB\x03\xE0A\x02\x124\x0A\x09mutations\x18\x03 \x03(\x0B2\x1C.google.bigtable.v2.MutationB\x03\xE0A\x02\x124\x0A\x0Bidempotency\x18\x08 \x01(\x0B2\x1F.google.bigtable.v2.Idempotency\"\x13\x0A\x11MutateRowResponse\"\x88\x03\x0A\x11MutateRowsRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x05 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\x0A\x0Eapp_profile_id\x18\x03 \x01(\x09\x12A\x0A\x07entries\x18\x02 \x03(\x0B2+.google.bigtable.v2.MutateRowsRequest.EntryB\x03\xE0A\x02\x1A\x84\x01\x0A\x05Entry\x12\x0F\x0A\x07row_key\x18\x01 \x01(\x0C\x124\x0A\x09mutations\x18\x02 \x03(\x0B2\x1C.google.bigtable.v2.MutationB\x03\xE0A\x02\x124\x0A\x0Bidempotency\x18\x03 \x01(\x0B2\x1F.google.bigtable.v2.Idempotency\"\xE4\x01\x0A\x12MutateRowsResponse\x12=\x0A\x07entries\x18\x01 \x03(\x0B2,.google.bigtable.v2.MutateRowsResponse.Entry\x12?\x0A\x0Frate_limit_info\x18\x03 \x01(\x0B2!.google.bigtable.v2.RateLimitInfoH\x00\x88\x01\x01\x1A:\x0A\x05Entry\x12\x0D\x0A\x05index\x18\x01 \x01(\x03\x12\"\x0A\x06status\x18\x02 \x01(\x0B2\x12.google.rpc.StatusB\x12\x0A\x10_rate_limit_info\"J\x0A\x0DRateLimitInfo\x12)\x0A\x06period\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x12\x0E\x0A\x06factor\x18\x02 \x01(\x01\"\x81\x03\x0A\x18CheckAndMutateRowRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x09 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\x0A\x0Eapp_profile_id\x18\x07 \x01(\x09\x12\x14\x0A\x07row_key\x18\x02 \x01(\x0CB\x03\xE0A\x02\x127\x0A\x10predicate_filter\x18\x06 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\x124\x0A\x0Etrue_mutations\x18\x04 \x03(\x0B2\x1C.google.bigtable.v2.Mutation\x125\x0A\x0Ffalse_mutations\x18\x05 \x03(\x0B2\x1C.google.bigtable.v2.Mutation\"6\x0A\x19CheckAndMutateRowResponse\x12\x19\x0A\x11predicate_matched\x18\x01 \x01(\x08\"i\x0A\x12PingAndWarmRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\"\x15\x0A\x13PingAndWarmResponse\"\x99\x02\x0A\x19ReadModifyWriteRowRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x01\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12Q\x0A\x14authorized_view_name\x18\x06 \x01(\x09B3\xE0A\x01\xFAA-\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\x0A\x0Eapp_profile_id\x18\x04 \x01(\x09\x12\x14\x0A\x07row_key\x18\x02 \x01(\x0CB\x03\xE0A\x02\x12;\x0A\x05rules\x18\x03 \x03(\x0B2'.google.bigtable.v2.ReadModifyWriteRuleB\x03\xE0A\x02\"B\x0A\x1AReadModifyWriteRowResponse\x12\$\x0A\x03row\x18\x01 \x01(\x0B2\x17.google.bigtable.v2.Row\"\x86\x01\x0A,GenerateInitialChangeStreamPartitionsRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\"g\x0A-GenerateInitialChangeStreamPartitionsResponse\x126\x0A\x09partition\x18\x01 \x01(\x0B2#.google.bigtable.v2.StreamPartition\"\x9B\x03\x0A\x17ReadChangeStreamRequest\x12>\x0A\x0Atable_name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x126\x0A\x09partition\x18\x03 \x01(\x0B2#.google.bigtable.v2.StreamPartition\x120\x0A\x0Astart_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampH\x00\x12K\x0A\x13continuation_tokens\x18\x06 \x01(\x0B2,.google.bigtable.v2.StreamContinuationTokensH\x00\x12,\x0A\x08end_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.Timestamp\x125\x0A\x12heartbeat_duration\x18\x07 \x01(\x0B2\x19.google.protobuf.DurationB\x0C\x0A\x0Astart_from\"\xA9\x0A\x0A\x18ReadChangeStreamResponse\x12N\x0A\x0Bdata_change\x18\x01 \x01(\x0B27.google.bigtable.v2.ReadChangeStreamResponse.DataChangeH\x00\x12K\x0A\x09heartbeat\x18\x02 \x01(\x0B26.google.bigtable.v2.ReadChangeStreamResponse.HeartbeatH\x00\x12P\x0A\x0Cclose_stream\x18\x03 \x01(\x0B28.google.bigtable.v2.ReadChangeStreamResponse.CloseStreamH\x00\x1A\xF4\x01\x0A\x0DMutationChunk\x12X\x0A\x0Achunk_info\x18\x01 \x01(\x0B2D.google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo\x12.\x0A\x08mutation\x18\x02 \x01(\x0B2\x1C.google.bigtable.v2.Mutation\x1AY\x0A\x09ChunkInfo\x12\x1A\x0A\x12chunked_value_size\x18\x01 \x01(\x05\x12\x1C\x0A\x14chunked_value_offset\x18\x02 \x01(\x05\x12\x12\x0A\x0Alast_chunk\x18\x03 \x01(\x08\x1A\xC6\x03\x0A\x0ADataChange\x12J\x0A\x04type\x18\x01 \x01(\x0E2<.google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type\x12\x19\x0A\x11source_cluster_id\x18\x02 \x01(\x09\x12\x0F\x0A\x07row_key\x18\x03 \x01(\x0C\x124\x0A\x10commit_timestamp\x18\x04 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x12\x0A\x0Atiebreaker\x18\x05 \x01(\x05\x12J\x0A\x06chunks\x18\x06 \x03(\x0B2:.google.bigtable.v2.ReadChangeStreamResponse.MutationChunk\x12\x0C\x0A\x04done\x18\x08 \x01(\x08\x12\x0D\x0A\x05token\x18\x09 \x01(\x09\x12;\x0A\x17estimated_low_watermark\x18\x0A \x01(\x0B2\x1A.google.protobuf.Timestamp\"P\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04USER\x10\x01\x12\x16\x0A\x12GARBAGE_COLLECTION\x10\x02\x12\x10\x0A\x0CCONTINUATION\x10\x03\x1A\x91\x01\x0A\x09Heartbeat\x12G\x0A\x12continuation_token\x18\x01 \x01(\x0B2+.google.bigtable.v2.StreamContinuationToken\x12;\x0A\x17estimated_low_watermark\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x1A\xB8\x01\x0A\x0BCloseStream\x12\"\x0A\x06status\x18\x01 \x01(\x0B2\x12.google.rpc.Status\x12H\x0A\x13continuation_tokens\x18\x02 \x03(\x0B2+.google.bigtable.v2.StreamContinuationToken\x12;\x0A\x0Enew_partitions\x18\x03 \x03(\x0B2#.google.bigtable.v2.StreamPartitionB\x0F\x0A\x0Dstream_record\"\xA1\x03\x0A\x13ExecuteQueryRequest\x12D\x0A\x0Dinstance_name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x1B\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x14\x0A\x05query\x18\x03 \x01(\x09B\x05\x18\x01\xE0A\x02\x12\x16\x0A\x0Eprepared_query\x18\x09 \x01(\x0C\x12;\x0A\x0Cproto_format\x18\x04 \x01(\x0B2\x1F.google.bigtable.v2.ProtoFormatB\x02\x18\x01H\x00\x12\x19\x0A\x0Cresume_token\x18\x08 \x01(\x0CB\x03\xE0A\x01\x12H\x0A\x06params\x18\x07 \x03(\x0B23.google.bigtable.v2.ExecuteQueryRequest.ParamsEntryB\x03\xE0A\x02\x1AH\x0A\x0BParamsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12(\x0A\x05value\x18\x02 \x01(\x0B2\x19.google.bigtable.v2.Value:\x028\x01B\x0D\x0A\x0Bdata_format\"\x96\x01\x0A\x14ExecuteQueryResponse\x129\x0A\x08metadata\x18\x01 \x01(\x0B2%.google.bigtable.v2.ResultSetMetadataH\x00\x127\x0A\x07results\x18\x02 \x01(\x0B2\$.google.bigtable.v2.PartialResultSetH\x00B\x0A\x0A\x08response\"\xF4\x02\x0A\x13PrepareQueryRequest\x12D\x0A\x0Dinstance_name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x1B\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05query\x18\x03 \x01(\x09B\x03\xE0A\x02\x127\x0A\x0Cproto_format\x18\x04 \x01(\x0B2\x1F.google.bigtable.v2.ProtoFormatH\x00\x12Q\x0A\x0Bparam_types\x18\x06 \x03(\x0B27.google.bigtable.v2.PrepareQueryRequest.ParamTypesEntryB\x03\xE0A\x02\x1AK\x0A\x0FParamTypesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12'\x0A\x05value\x18\x02 \x01(\x0B2\x18.google.bigtable.v2.Type:\x028\x01B\x0D\x0A\x0Bdata_format\"\x98\x01\x0A\x14PrepareQueryResponse\x127\x0A\x08metadata\x18\x01 \x01(\x0B2%.google.bigtable.v2.ResultSetMetadata\x12\x16\x0A\x0Eprepared_query\x18\x02 \x01(\x0C\x12/\x0A\x0Bvalid_until\x18\x03 \x01(\x0B2\x1A.google.protobuf.Timestamp2\x8D+\x0A\x08Bigtable\x12\xD5\x04\x0A\x08ReadRows\x12#.google.bigtable.v2.ReadRowsRequest\x1A\$.google.bigtable.v2.ReadRowsResponse\"\xFB\x03\xDAA\x0Atable_name\xDAA\x19table_name,app_profile_id\x82\xD3\xE4\x93\x02\xF1\x01\"9/v2/{table_name=projects/*/instances/*/tables/*}:readRows:\x01*ZZ\"U/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:readRows:\x01*ZU\"P/v2/{materialized_view_name=projects/*/instances/*/materializedViews/*}:readRows:\x01*\x8A\xD3\xE4\x93\x02\xD3\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12:\x0A\x16materialized_view_name\x12 {name=projects/*/instances/*}/**0\x01\x12\xEA\x04\x0A\x0DSampleRowKeys\x12(.google.bigtable.v2.SampleRowKeysRequest\x1A).google.bigtable.v2.SampleRowKeysResponse\"\x81\x04\xDAA\x0Atable_name\xDAA\x19table_name,app_profile_id\x82\xD3\xE4\x93\x02\xF7\x01\x12>/v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeysZ\\\x12Z/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:sampleRowKeysZW\x12U/v2/{materialized_view_name=projects/*/instances/*/materializedViews/*}:sampleRowKeys\x8A\xD3\xE4\x93\x02\xD3\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12:\x0A\x16materialized_view_name\x12 {name=projects/*/instances/*}/**0\x01\x12\xE9\x03\x0A\x09MutateRow\x12\$.google.bigtable.v2.MutateRowRequest\x1A%.google.bigtable.v2.MutateRowResponse\"\x8E\x03\xDAA\x1Ctable_name,row_key,mutations\xDAA+table_name,row_key,mutations,app_profile_id\x82\xD3\xE4\x93\x02\x9C\x01\":/v2/{table_name=projects/*/instances/*/tables/*}:mutateRow:\x01*Z[\"V/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:mutateRow:\x01*\x8A\xD3\xE4\x93\x02\x97\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xDC\x03\x0A\x0AMutateRows\x12%.google.bigtable.v2.MutateRowsRequest\x1A&.google.bigtable.v2.MutateRowsResponse\"\xFC\x02\xDAA\x12table_name,entries\xDAA!table_name,entries,app_profile_id\x82\xD3\xE4\x93\x02\x9E\x01\";/v2/{table_name=projects/*/instances/*/tables/*}:mutateRows:\x01*Z\\\"W/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:mutateRows:\x01*\x8A\xD3\xE4\x93\x02\x97\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**0\x01\x12\xDD\x04\x0A\x11CheckAndMutateRow\x12,.google.bigtable.v2.CheckAndMutateRowRequest\x1A-.google.bigtable.v2.CheckAndMutateRowResponse\"\xEA\x03\xDAABtable_name,row_key,predicate_filter,true_mutations,false_mutations\xDAAQtable_name,row_key,predicate_filter,true_mutations,false_mutations,app_profile_id\x82\xD3\xE4\x93\x02\xAC\x01\"B/v2/{table_name=projects/*/instances/*/tables/*}:checkAndMutateRow:\x01*Zc\"^/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:checkAndMutateRow:\x01*\x8A\xD3\xE4\x93\x02\x97\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xEE\x01\x0A\x0BPingAndWarm\x12&.google.bigtable.v2.PingAndWarmRequest\x1A'.google.bigtable.v2.PingAndWarmResponse\"\x8D\x01\xDAA\x04name\xDAA\x13name,app_profile_id\x82\xD3\xE4\x93\x02+\"&/v2/{name=projects/*/instances/*}:ping:\x01*\x8A\xD3\xE4\x93\x029\x12%\x0A\x04name\x12\x1D{name=projects/*/instances/*}\x12\x10\x0A\x0Eapp_profile_id\x12\x8E\x04\x0A\x12ReadModifyWriteRow\x12-.google.bigtable.v2.ReadModifyWriteRowRequest\x1A..google.bigtable.v2.ReadModifyWriteRowResponse\"\x98\x03\xDAA\x18table_name,row_key,rules\xDAA'table_name,row_key,rules,app_profile_id\x82\xD3\xE4\x93\x02\xAE\x01\"C/v2/{table_name=projects/*/instances/*/tables/*}:readModifyWriteRow:\x01*Zd\"_/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:readModifyWriteRow:\x01*\x8A\xD3\xE4\x93\x02\x97\x01\x12:\x0A\x0Atable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\x0A\x0Eapp_profile_id\x12G\x0A\x14authorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xBB\x02\x0A%GenerateInitialChangeStreamPartitions\x12@.google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest\x1AA.google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse\"\x8A\x01\xDAA\x0Atable_name\xDAA\x19table_name,app_profile_id\x82\xD3\xE4\x93\x02[\"V/v2/{table_name=projects/*/instances/*/tables/*}:generateInitialChangeStreamPartitions:\x01*0\x01\x12\xE6\x01\x0A\x10ReadChangeStream\x12+.google.bigtable.v2.ReadChangeStreamRequest\x1A,.google.bigtable.v2.ReadChangeStreamResponse\"u\xDAA\x0Atable_name\xDAA\x19table_name,app_profile_id\x82\xD3\xE4\x93\x02F\"A/v2/{table_name=projects/*/instances/*/tables/*}:readChangeStream:\x01*0\x01\x12\xA9\x02\x0A\x0CPrepareQuery\x12'.google.bigtable.v2.PrepareQueryRequest\x1A(.google.bigtable.v2.PrepareQueryResponse\"\xC5\x01\xDAA\x13instance_name,query\xDAA\"instance_name,query,app_profile_id\x82\xD3\xE4\x93\x02<\"7/v2/{instance_name=projects/*/instances/*}:prepareQuery:\x01*\x8A\xD3\xE4\x93\x02B\x12.\x0A\x0Dinstance_name\x12\x1D{name=projects/*/instances/*}\x12\x10\x0A\x0Eapp_profile_id\x12\xAB\x02\x0A\x0CExecuteQuery\x12'.google.bigtable.v2.ExecuteQueryRequest\x1A(.google.bigtable.v2.ExecuteQueryResponse\"\xC5\x01\xDAA\x13instance_name,query\xDAA\"instance_name,query,app_profile_id\x82\xD3\xE4\x93\x02<\"7/v2/{instance_name=projects/*/instances/*}:executeQuery:\x01*\x8A\xD3\xE4\x93\x02B\x12.\x0A\x0Dinstance_name\x12\x1D{name=projects/*/instances/*}\x12\x10\x0A\x0Eapp_profile_id0\x01\x12v\x0A\x16GetClientConfiguration\x121.google.bigtable.v2.GetClientConfigurationRequest\x1A'.google.bigtable.v2.ClientConfiguration\"\x00\x12`\x0A\x09OpenTable\x12\".google.bigtable.v2.SessionRequest\x1A#.google.bigtable.v2.SessionResponse\"\x06\xA0\xD0\xA5\x8E\x04\x01(\x010\x01\x12i\x0A\x12OpenAuthorizedView\x12\".google.bigtable.v2.SessionRequest\x1A#.google.bigtable.v2.SessionResponse\"\x06\xA0\xD0\xA5\x8E\x04\x02(\x010\x01\x12k\x0A\x14OpenMaterializedView\x12\".google.bigtable.v2.SessionRequest\x1A#.google.bigtable.v2.SessionResponse\"\x06\xA0\xD0\xA5\x8E\x04\x03(\x010\x01\x1A\xDB\x02\xCAA\x17bigtable.googleapis.com\xD2A\xBD\x02https://www.googleapis.com/auth/bigtable.data,https://www.googleapis.com/auth/bigtable.data.readonly,https://www.googleapis.com/auth/cloud-bigtable.data,https://www.googleapis.com/auth/cloud-bigtable.data.readonly,https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-onlyB\xF5\x04\x0A\x16com.google.bigtable.v2B\x0DBigtableProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2\xEAAP\x0A%bigtableadmin.googleapis.com/Instance\x12'projects/{project}/instances/{instance}\xEAA\\\x0A\"bigtableadmin.googleapis.com/Table\x126projects/{project}/instances/{instance}/tables/{table}\xEAA\x87\x01\x0A+bigtableadmin.googleapis.com/AuthorizedView\x12Xprojects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}\xEAA~\x0A-bigtableadmin.googleapis.com/MaterializedView\x12Mprojects/{project}/instances/{instance}/materializedViews/{materialized_view}b\x06proto3" , true); static::$is_initialized = true; diff --git a/metadata/V2/FeatureFlags.php b/metadata/V2/FeatureFlags.php index e61f0df..f991e5b 100644 --- a/metadata/V2/FeatureFlags.php +++ b/metadata/V2/FeatureFlags.php @@ -15,7 +15,7 @@ public static function initOnce() { return; } $pool->internalAddGeneratedFile( - "\x0A\xB6\x04\x0A&google/bigtable/v2/feature_flags.proto\x12\x12google.bigtable.v2\"\xB1\x02\x0A\x0CFeatureFlags\x12\x15\x0A\x0Dreverse_scans\x18\x01 \x01(\x08\x12\x1E\x0A\x16mutate_rows_rate_limit\x18\x03 \x01(\x08\x12\x1F\x0A\x17mutate_rows_rate_limit2\x18\x05 \x01(\x08\x12\"\x0A\x1Alast_scanned_row_responses\x18\x04 \x01(\x08\x12\x16\x0A\x0Erouting_cookie\x18\x06 \x01(\x08\x12\x12\x0A\x0Aretry_info\x18\x07 \x01(\x08\x12#\x0A\x1Bclient_side_metrics_enabled\x18\x08 \x01(\x08\x12 \x0A\x18traffic_director_enabled\x18\x09 \x01(\x08\x12\x1F\x0A\x17direct_access_requested\x18\x0A \x01(\x08\x12\x11\x0A\x09peer_info\x18\x0B \x01(\x08B\xBB\x01\x0A\x16com.google.bigtable.v2B\x11FeatureFlagsProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" + "\x0A\xEE\x04\x0A&google/bigtable/v2/feature_flags.proto\x12\x12google.bigtable.v2\"\xE9\x02\x0A\x0CFeatureFlags\x12\x15\x0A\x0Dreverse_scans\x18\x01 \x01(\x08\x12\x1E\x0A\x16mutate_rows_rate_limit\x18\x03 \x01(\x08\x12\x1F\x0A\x17mutate_rows_rate_limit2\x18\x05 \x01(\x08\x12\"\x0A\x1Alast_scanned_row_responses\x18\x04 \x01(\x08\x12\x16\x0A\x0Erouting_cookie\x18\x06 \x01(\x08\x12\x12\x0A\x0Aretry_info\x18\x07 \x01(\x08\x12#\x0A\x1Bclient_side_metrics_enabled\x18\x08 \x01(\x08\x12 \x0A\x18traffic_director_enabled\x18\x09 \x01(\x08\x12\x1F\x0A\x17direct_access_requested\x18\x0A \x01(\x08\x12\x11\x0A\x09peer_info\x18\x0B \x01(\x08\x12\x1B\x0A\x13sessions_compatible\x18\x0C \x01(\x08\x12\x19\x0A\x11sessions_required\x18\x0D \x01(\x08B\xBB\x01\x0A\x16com.google.bigtable.v2B\x11FeatureFlagsProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" , true); static::$is_initialized = true; diff --git a/metadata/V2/PeerInfo.php b/metadata/V2/PeerInfo.php index 87f25f9..dc58883 100644 --- a/metadata/V2/PeerInfo.php +++ b/metadata/V2/PeerInfo.php @@ -15,7 +15,7 @@ public static function initOnce() { return; } $pool->internalAddGeneratedFile( - "\x0A\xF7\x05\x0A\"google/bigtable/v2/peer_info.proto\x12\x12google.bigtable.v2\"\xFA\x03\x0A\x08PeerInfo\x12\x1A\x0A\x12google_frontend_id\x18\x01 \x01(\x03\x12\x1F\x0A\x17application_frontend_id\x18\x02 \x01(\x03\x12!\x0A\x19application_frontend_zone\x18\x03 \x01(\x09\x12\$\x0A\x1Capplication_frontend_subzone\x18\x04 \x01(\x09\x12B\x0A\x0Etransport_type\x18\x05 \x01(\x0E2*.google.bigtable.v2.PeerInfo.TransportType\"\xA3\x02\x0A\x0DTransportType\x12\x1A\x0A\x16TRANSPORT_TYPE_UNKNOWN\x10\x00\x12\x1B\x0A\x17TRANSPORT_TYPE_EXTERNAL\x10\x01\x12\x1D\x0A\x19TRANSPORT_TYPE_CLOUD_PATH\x10\x02\x12 \x0A\x1CTRANSPORT_TYPE_DIRECT_ACCESS\x10\x03\x12\"\x0A\x1ETRANSPORT_TYPE_SESSION_UNKNOWN\x10\x04\x12#\x0A\x1FTRANSPORT_TYPE_SESSION_EXTERNAL\x10\x05\x12%\x0A!TRANSPORT_TYPE_SESSION_CLOUD_PATH\x10\x06\x12(\x0A\$TRANSPORT_TYPE_SESSION_DIRECT_ACCESS\x10\x07B\xB7\x01\x0A\x16com.google.bigtable.v2B\x0DPeerInfoProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" + "\x0A\xA0\x06\x0A\"google/bigtable/v2/peer_info.proto\x12\x12google.bigtable.v2\"\xA3\x04\x0A\x08PeerInfo\x12\x1A\x0A\x12google_frontend_id\x18\x01 \x01(\x03\x12\x1F\x0A\x17application_frontend_id\x18\x02 \x01(\x03\x12#\x0A\x1Bapplication_frontend_region\x18\x06 \x01(\x09\x12%\x0A\x19application_frontend_zone\x18\x03 \x01(\x09B\x02\x18\x01\x12\$\x0A\x1Capplication_frontend_subzone\x18\x04 \x01(\x09\x12B\x0A\x0Etransport_type\x18\x05 \x01(\x0E2*.google.bigtable.v2.PeerInfo.TransportType\"\xA3\x02\x0A\x0DTransportType\x12\x1A\x0A\x16TRANSPORT_TYPE_UNKNOWN\x10\x00\x12\x1B\x0A\x17TRANSPORT_TYPE_EXTERNAL\x10\x01\x12\x1D\x0A\x19TRANSPORT_TYPE_CLOUD_PATH\x10\x02\x12 \x0A\x1CTRANSPORT_TYPE_DIRECT_ACCESS\x10\x03\x12\"\x0A\x1ETRANSPORT_TYPE_SESSION_UNKNOWN\x10\x04\x12#\x0A\x1FTRANSPORT_TYPE_SESSION_EXTERNAL\x10\x05\x12%\x0A!TRANSPORT_TYPE_SESSION_CLOUD_PATH\x10\x06\x12(\x0A\$TRANSPORT_TYPE_SESSION_DIRECT_ACCESS\x10\x07B\xB7\x01\x0A\x16com.google.bigtable.v2B\x0DPeerInfoProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" , true); static::$is_initialized = true; diff --git a/metadata/V2/Session.php b/metadata/V2/Session.php new file mode 100644 index 0000000..aac2cf8 --- /dev/null +++ b/metadata/V2/Session.php @@ -0,0 +1,33 @@ +internalAddGeneratedFile( + "\x0A\x9A>\x0A google/bigtable/v2/session.proto\x12\x12google.bigtable.v2\x1A\x19google/api/resource.proto\x1A\x1Dgoogle/bigtable/v2/data.proto\x1A&google/bigtable/v2/feature_flags.proto\x1A&google/bigtable/v2/request_stats.proto\x1A google/protobuf/descriptor.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/rpc/error_details.proto\x1A\x17google/rpc/status.proto\"\x82\x01\x0A\x1DGetClientConfigurationRequest\x12D\x0A\x0Dinstance_name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x1B\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xEE\x02\x0A\x14LoadBalancingOptions\x12Q\x0A\x0Fleast_in_flight\x18\x01 \x01(\x0B26.google.bigtable.v2.LoadBalancingOptions.LeastInFlightH\x00\x12F\x0A\x09peak_ewma\x18\x02 \x01(\x0B21.google.bigtable.v2.LoadBalancingOptions.PeakEwmaH\x00\x12A\x0A\x06random\x18\x04 \x01(\x0B2/.google.bigtable.v2.LoadBalancingOptions.RandomH\x00\x1A+\x0A\x0DLeastInFlight\x12\x1A\x0A\x12random_subset_size\x18\x01 \x01(\x03\x1A&\x0A\x08PeakEwma\x12\x1A\x0A\x12random_subset_size\x18\x01 \x01(\x03\x1A\x08\x0A\x06RandomB\x19\x0A\x17load_balancing_strategy\"\xBC\x0A\x0A\x1ASessionClientConfiguration\x12\x14\x0A\x0Csession_load\x18\x01 \x01(\x02\x12L\x0A\x16load_balancing_options\x18\x02 \x01(\x0B2(.google.bigtable.v2.LoadBalancingOptionsB\x02\x18\x01\x12f\x0A\x15channel_configuration\x18\x03 \x01(\x0B2G.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration\x12k\x0A\x1Asession_pool_configuration\x18\x04 \x01(\x0B2G.google.bigtable.v2.SessionClientConfiguration.SessionPoolConfiguration\x1A\xFE\x04\x0A\x18ChannelPoolConfiguration\x12\x18\x0A\x10min_server_count\x18\x01 \x01(\x05\x12\x18\x0A\x10max_server_count\x18\x02 \x01(\x05\x12 \x0A\x18per_server_session_count\x18\x03 \x01(\x05\x12\x87\x01\x0A\x1Bdirect_access_with_fallback\x18\x04 \x01(\x0B2`.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessWithFallbackH\x00\x12v\x0A\x12direct_access_only\x18\x05 \x01(\x0B2X.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessOnlyH\x00\x12p\x0A\x0Fcloud_path_only\x18\x06 \x01(\x0B2U.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.CloudPathOnlyH\x00\x1Ak\x0A\x18DirectAccessWithFallback\x12\x1C\x0A\x14error_rate_threshold\x18\x01 \x01(\x02\x121\x0A\x0Echeck_interval\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x1A\x12\x0A\x10DirectAccessOnly\x1A\x0F\x0A\x0DCloudPathOnlyB\x06\x0A\x04mode\x1A\xE3\x02\x0A\x18SessionPoolConfiguration\x12\x10\x0A\x08headroom\x18\x01 \x01(\x02\x12\x19\x0A\x11min_session_count\x18\x02 \x01(\x05\x12\x19\x0A\x11max_session_count\x18\x03 \x01(\x05\x12 \x0A\x18new_session_queue_length\x18\x04 \x01(\x05\x12#\x0A\x1Bnew_session_creation_budget\x18\x05 \x01(\x05\x12?\x0A\x1Cnew_session_creation_penalty\x18\x06 \x01(\x0B2\x19.google.protobuf.Duration\x12-\x0A%consecutive_session_failure_threshold\x18\x08 \x01(\x05\x12H\x0A\x16load_balancing_options\x18\x09 \x01(\x0B2(.google.bigtable.v2.LoadBalancingOptions\"\xAD\x01\x0A\x16TelemetryConfiguration\x12I\x0A\x0Fdebug_tag_level\x18\x01 \x01(\x0E20.google.bigtable.v2.TelemetryConfiguration.Level\"H\x0A\x05Level\x12\x15\x0A\x11LEVEL_UNSPECIFIED\x10\x00\x12\x09\x0A\x05DEBUG\x10\x01\x12\x08\x0A\x04INFO\x10\x02\x12\x08\x0A\x04WARN\x10\x03\x12\x09\x0A\x05ERROR\x10\x04\"\x8F\x04\x0A\x13ClientConfiguration\x12M\x0A\x15session_configuration\x18\x02 \x01(\x0B2..google.bigtable.v2.SessionClientConfiguration\x12\x16\x0A\x0Cstop_polling\x18\x03 \x01(\x08H\x00\x129\x0A\x10polling_interval\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationB\x02\x18\x01H\x00\x12]\x0A\x15polling_configuration\x18\x05 \x01(\x0B2<.google.bigtable.v2.ClientConfiguration.PollingConfigurationH\x00\x12K\x0A\x17telemetry_configuration\x18\x06 \x01(\x0B2*.google.bigtable.v2.TelemetryConfiguration\x1A\x9E\x01\x0A\x14PollingConfiguration\x123\x0A\x10polling_interval\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x124\x0A\x11validity_duration\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\x1B\x0A\x13max_rpc_retry_count\x18\x06 \x01(\x05B\x09\x0A\x07polling\"\xDB\x01\x0A\x0ESessionRequest\x12>\x0A\x0Copen_session\x18\x01 \x01(\x0B2&.google.bigtable.v2.OpenSessionRequestH\x00\x12@\x0A\x0Dclose_session\x18\x02 \x01(\x0B2'.google.bigtable.v2.CloseSessionRequestH\x00\x12<\x0A\x0Bvirtual_rpc\x18\x03 \x01(\x0B2%.google.bigtable.v2.VirtualRpcRequestH\x00B\x09\x0A\x07payload\"\xDC\x03\x0A\x0FSessionResponse\x12?\x0A\x0Copen_session\x18\x01 \x01(\x0B2'.google.bigtable.v2.OpenSessionResponseH\x00\x12=\x0A\x0Bvirtual_rpc\x18\x02 \x01(\x0B2&.google.bigtable.v2.VirtualRpcResponseH\x00\x122\x0A\x05error\x18\x03 \x01(\x0B2!.google.bigtable.v2.ErrorResponseH\x00\x12K\x0A\x12session_parameters\x18\x04 \x01(\x0B2-.google.bigtable.v2.SessionParametersResponseH\x00\x12:\x0A\x09heartbeat\x18\x05 \x01(\x0B2%.google.bigtable.v2.HeartbeatResponseH\x00\x125\x0A\x07go_away\x18\x06 \x01(\x0B2\".google.bigtable.v2.GoAwayResponseH\x00\x12J\x0A\x16session_refresh_config\x18\x07 \x01(\x0B2(.google.bigtable.v2.SessionRefreshConfigH\x00B\x09\x0A\x07payload\"\xB8\x01\x0A\x12OpenSessionRequest\x12\x18\x0A\x10protocol_version\x18\x01 \x01(\x03\x12/\x0A\x05flags\x18\x02 \x01(\x0B2 .google.bigtable.v2.FeatureFlags\x12.\x0A&consecutive_failed_connection_attempts\x18\x03 \x01(\x03\x12\x16\x0A\x0Erouting_cookie\x18\x04 \x01(\x0C\x12\x0F\x0A\x07payload\x18\x05 \x01(\x0C\"s\x0A\x11BackendIdentifier\x12\x1A\x0A\x12google_frontend_id\x18\x01 \x01(\x03\x12\x1F\x0A\x17application_frontend_id\x18\x02 \x01(\x03\x12!\x0A\x19application_frontend_zone\x18\x03 \x01(\x09\"^\x0A\x13OpenSessionResponse\x126\x0A\x07backend\x18\x02 \x01(\x0B2%.google.bigtable.v2.BackendIdentifier\x12\x0F\x0A\x07payload\x18\x01 \x01(\x0C\"\xDB\x02\x0A\x13CloseSessionRequest\x12J\x0A\x06reason\x18\x01 \x01(\x0E2:.google.bigtable.v2.CloseSessionRequest.CloseSessionReason\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\"\xE2\x01\x0A\x12CloseSessionReason\x12\x1E\x0A\x1ACLOSE_SESSION_REASON_UNSET\x10\x00\x12\x1F\x0A\x1BCLOSE_SESSION_REASON_GOAWAY\x10\x01\x12\x1E\x0A\x1ACLOSE_SESSION_REASON_ERROR\x10\x02\x12\x1D\x0A\x19CLOSE_SESSION_REASON_USER\x10\x03\x12!\x0A\x1DCLOSE_SESSION_REASON_DOWNSIZE\x10\x04\x12)\x0A%CLOSE_SESSION_REASON_MISSED_HEARTBEAT\x10\x05\"\xF5\x01\x0A\x10OpenTableRequest\x12\x12\x0A\x0Atable_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12C\x0A\x0Apermission\x18\x03 \x01(\x0E2/.google.bigtable.v2.OpenTableRequest.Permission\"h\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01\x12\x14\x0A\x10PERMISSION_WRITE\x10\x02\x12\x19\x0A\x15PERMISSION_READ_WRITE\x10\x03:\x06\xD0\xC2\xED\x91\x04\x01\"\x1B\x0A\x11OpenTableResponse:\x06\xD0\xC2\xED\x91\x04\x01\"\x91\x02\x0A\x19OpenAuthorizedViewRequest\x12\x1C\x0A\x14authorized_view_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12L\x0A\x0Apermission\x18\x03 \x01(\x0E28.google.bigtable.v2.OpenAuthorizedViewRequest.Permission\"h\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01\x12\x14\x0A\x10PERMISSION_WRITE\x10\x02\x12\x19\x0A\x15PERMISSION_READ_WRITE\x10\x03:\x06\xD0\xC2\xED\x91\x04\x02\"\$\x0A\x1AOpenAuthorizedViewResponse:\x06\xD0\xC2\xED\x91\x04\x02\"\xE6\x01\x0A\x1BOpenMaterializedViewRequest\x12\x1E\x0A\x16materialized_view_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12N\x0A\x0Apermission\x18\x03 \x01(\x0E2:.google.bigtable.v2.OpenMaterializedViewRequest.Permission\"7\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01:\x06\xD0\xC2\xED\x91\x04\x03\"&\x0A\x1COpenMaterializedViewResponse:\x06\xD0\xC2\xED\x91\x04\x03\"\x8F\x02\x0A\x11VirtualRpcRequest\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12+\x0A\x08deadline\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12@\x0A\x08metadata\x18\x03 \x01(\x0B2..google.bigtable.v2.VirtualRpcRequest.Metadata\x12\x0F\x0A\x07payload\x18\x04 \x01(\x0C\x1Aj\x0A\x08Metadata\x12\x16\x0A\x0Eattempt_number\x18\x01 \x01(\x03\x121\x0A\x0Dattempt_start\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x13\x0A\x0Btraceparent\x18\x03 \x01(\x09\"9\x0A\x12ClusterInformation\x12\x12\x0A\x0Acluster_id\x18\x01 \x01(\x09\x12\x0F\x0A\x07zone_id\x18\x02 \x01(\x09\"I\x0A\x13SessionRequestStats\x122\x0A\x0Fbackend_latency\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\"\xAB\x01\x0A\x12VirtualRpcResponse\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12<\x0A\x0Ccluster_info\x18\x02 \x01(\x0B2&.google.bigtable.v2.ClusterInformation\x126\x0A\x05stats\x18\x04 \x01(\x0B2'.google.bigtable.v2.SessionRequestStats\x12\x0F\x0A\x07payload\x18\x03 \x01(\x0C\"\xAC\x01\x0A\x0DErrorResponse\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12<\x0A\x0Ccluster_info\x18\x02 \x01(\x0B2&.google.bigtable.v2.ClusterInformation\x12\"\x0A\x06status\x18\x03 \x01(\x0B2\x12.google.rpc.Status\x12)\x0A\x0Aretry_info\x18\x04 \x01(\x0B2\x15.google.rpc.RetryInfo\"\xA4\x01\x0A\x0CTableRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00\x12A\x0A\x0Amutate_row\x18\x02 \x01(\x0B2+.google.bigtable.v2.SessionMutateRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x01B\x09\x0A\x07payload\"\xA7\x01\x0A\x0DTableResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00\x12B\x0A\x0Amutate_row\x18\x02 \x01(\x0B2,.google.bigtable.v2.SessionMutateRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x01B\x09\x0A\x07payload\"\xAD\x01\x0A\x15AuthorizedViewRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00\x12A\x0A\x0Amutate_row\x18\x02 \x01(\x0B2+.google.bigtable.v2.SessionMutateRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x02B\x09\x0A\x07payload\"\xB0\x01\x0A\x16AuthorizedViewResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00\x12B\x0A\x0Amutate_row\x18\x02 \x01(\x0B2,.google.bigtable.v2.SessionMutateRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x02B\x09\x0A\x07payload\"l\x0A\x17MaterializedViewRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x03B\x09\x0A\x07payload\"n\x0A\x18MaterializedViewResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x03B\x09\x0A\x07payload\"S\x0A\x15SessionReadRowRequest\x12\x0B\x0A\x03key\x18\x01 \x01(\x0C\x12-\x0A\x06filter\x18\x02 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\"o\x0A\x16SessionReadRowResponse\x12\$\x0A\x03row\x18\x01 \x01(\x0B2\x17.google.bigtable.v2.Row\x12/\x0A\x05stats\x18\x02 \x01(\x0B2 .google.bigtable.v2.RequestStats\"W\x0A\x17SessionMutateRowRequest\x12\x0B\x0A\x03key\x18\x01 \x01(\x0C\x12/\x0A\x09mutations\x18\x02 \x03(\x0B2\x1C.google.bigtable.v2.Mutation\"\x1A\x0A\x18SessionMutateRowResponse\"J\x0A\x19SessionParametersResponse\x12-\x0A\x0Akeep_alive\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\"\x13\x0A\x11HeartbeatResponse\"S\x0A\x0EGoAwayResponse\x12\x0E\x0A\x06reason\x18\x01 \x01(\x09\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\x12\x1C\x0A\x14last_rpc_id_admitted\x18\x03 \x01(\x03\"\xDA\x01\x0A\x14SessionRefreshConfig\x12F\x0A\x16optimized_open_request\x18\x01 \x01(\x0B2&.google.bigtable.v2.OpenSessionRequest\x12H\x0A\x08metadata\x18\x02 \x03(\x0B21.google.bigtable.v2.SessionRefreshConfig.MetadataB\x03\xE0A\x03\x1A0\x0A\x08Metadata\x12\x10\x0A\x03key\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05value\x18\x02 \x01(\x0CB\x03\xE0A\x03*\xA3\x01\x0A\x0BSessionType\x12\x16\x0A\x12SESSION_TYPE_UNSET\x10\x00\x12\x16\x0A\x12SESSION_TYPE_TABLE\x10\x01\x12 \x0A\x1CSESSION_TYPE_AUTHORIZED_VIEW\x10\x02\x12\"\x0A\x1ESESSION_TYPE_MATERIALIZED_VIEW\x10\x03\x12\x1E\x0A\x11SESSION_TYPE_TEST\x10\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01B\xB6\x01\x0A\x16com.google.bigtable.v2B\x0CSessionProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" + , true); + + static::$is_initialized = true; + } +} + diff --git a/samples/V2/BigtableClient/get_client_configuration.php b/samples/V2/BigtableClient/get_client_configuration.php new file mode 100644 index 0000000..91c1781 --- /dev/null +++ b/samples/V2/BigtableClient/get_client_configuration.php @@ -0,0 +1,76 @@ +/instances/` + * Please see {@see BigtableClient::instanceName()} for help formatting this field. + */ +function get_client_configuration_sample(string $formattedInstanceName): void +{ + // Create a client. + $bigtableClient = new BigtableClient(); + + // Prepare the request message. + $request = (new GetClientConfigurationRequest()) + ->setInstanceName($formattedInstanceName); + + // Call the API and handle any network failures. + try { + /** @var ClientConfiguration $response */ + $response = $bigtableClient->getClientConfiguration($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample 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, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedInstanceName = BigtableClient::instanceName('[PROJECT]', '[INSTANCE]'); + + get_client_configuration_sample($formattedInstanceName); +} +// [END bigtable_v2_generated_Bigtable_GetClientConfiguration_sync] diff --git a/samples/V2/BigtableClient/open_authorized_view.php b/samples/V2/BigtableClient/open_authorized_view.php new file mode 100644 index 0000000..7f657ba --- /dev/null +++ b/samples/V2/BigtableClient/open_authorized_view.php @@ -0,0 +1,65 @@ +openAuthorizedView(); + $stream->writeAll([$request,]); + + /** @var SessionResponse $element */ + foreach ($stream->closeWriteAndReadAll() as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} +// [END bigtable_v2_generated_Bigtable_OpenAuthorizedView_sync] diff --git a/samples/V2/BigtableClient/open_materialized_view.php b/samples/V2/BigtableClient/open_materialized_view.php new file mode 100644 index 0000000..5f3d147 --- /dev/null +++ b/samples/V2/BigtableClient/open_materialized_view.php @@ -0,0 +1,65 @@ +openMaterializedView(); + $stream->writeAll([$request,]); + + /** @var SessionResponse $element */ + foreach ($stream->closeWriteAndReadAll() as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} +// [END bigtable_v2_generated_Bigtable_OpenMaterializedView_sync] diff --git a/samples/V2/BigtableClient/open_table.php b/samples/V2/BigtableClient/open_table.php new file mode 100644 index 0000000..e380433 --- /dev/null +++ b/samples/V2/BigtableClient/open_table.php @@ -0,0 +1,65 @@ +openTable(); + $stream->writeAll([$request,]); + + /** @var SessionResponse $element */ + foreach ($stream->closeWriteAndReadAll() as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} +// [END bigtable_v2_generated_Bigtable_OpenTable_sync] diff --git a/src/V2/AuthorizedViewRequest.php b/src/V2/AuthorizedViewRequest.php new file mode 100644 index 0000000..5b8ddce --- /dev/null +++ b/src/V2/AuthorizedViewRequest.php @@ -0,0 +1,98 @@ +google.bigtable.v2.AuthorizedViewRequest + */ +class AuthorizedViewRequest extends \Google\Protobuf\Internal\Message +{ + protected $payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\SessionReadRowRequest $read_row + * @type \Google\Cloud\Bigtable\V2\SessionMutateRowRequest $mutate_row + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowRequest read_row = 1; + * @return \Google\Cloud\Bigtable\V2\SessionReadRowRequest|null + */ + public function getReadRow() + { + return $this->readOneof(1); + } + + public function hasReadRow() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowRequest read_row = 1; + * @param \Google\Cloud\Bigtable\V2\SessionReadRowRequest $var + * @return $this + */ + public function setReadRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionReadRowRequest::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionMutateRowRequest mutate_row = 2; + * @return \Google\Cloud\Bigtable\V2\SessionMutateRowRequest|null + */ + public function getMutateRow() + { + return $this->readOneof(2); + } + + public function hasMutateRow() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionMutateRowRequest mutate_row = 2; + * @param \Google\Cloud\Bigtable\V2\SessionMutateRowRequest $var + * @return $this + */ + public function setMutateRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionMutateRowRequest::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getPayload() + { + return $this->whichOneof("payload"); + } + +} + diff --git a/src/V2/AuthorizedViewResponse.php b/src/V2/AuthorizedViewResponse.php new file mode 100644 index 0000000..6fcf341 --- /dev/null +++ b/src/V2/AuthorizedViewResponse.php @@ -0,0 +1,98 @@ +google.bigtable.v2.AuthorizedViewResponse + */ +class AuthorizedViewResponse extends \Google\Protobuf\Internal\Message +{ + protected $payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\SessionReadRowResponse $read_row + * @type \Google\Cloud\Bigtable\V2\SessionMutateRowResponse $mutate_row + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowResponse read_row = 1; + * @return \Google\Cloud\Bigtable\V2\SessionReadRowResponse|null + */ + public function getReadRow() + { + return $this->readOneof(1); + } + + public function hasReadRow() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowResponse read_row = 1; + * @param \Google\Cloud\Bigtable\V2\SessionReadRowResponse $var + * @return $this + */ + public function setReadRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionReadRowResponse::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionMutateRowResponse mutate_row = 2; + * @return \Google\Cloud\Bigtable\V2\SessionMutateRowResponse|null + */ + public function getMutateRow() + { + return $this->readOneof(2); + } + + public function hasMutateRow() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionMutateRowResponse mutate_row = 2; + * @param \Google\Cloud\Bigtable\V2\SessionMutateRowResponse $var + * @return $this + */ + public function setMutateRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionMutateRowResponse::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getPayload() + { + return $this->whichOneof("payload"); + } + +} + diff --git a/src/V2/BackendIdentifier.php b/src/V2/BackendIdentifier.php new file mode 100644 index 0000000..c41b73c --- /dev/null +++ b/src/V2/BackendIdentifier.php @@ -0,0 +1,146 @@ +google.bigtable.v2.BackendIdentifier + */ +class BackendIdentifier extends \Google\Protobuf\Internal\Message +{ + /** + * An opaque identifier for the Google Frontend which serviced this request. + * Only set when not using DirectAccess. + * + * Generated from protobuf field int64 google_frontend_id = 1; + */ + protected $google_frontend_id = 0; + /** + * An opaque identifier for the application frontend which serviced this + * request. + * + * Generated from protobuf field int64 application_frontend_id = 2; + */ + protected $application_frontend_id = 0; + /** + * The zone of the application frontend that served this request. + * + * Generated from protobuf field string application_frontend_zone = 3; + */ + protected $application_frontend_zone = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $google_frontend_id + * An opaque identifier for the Google Frontend which serviced this request. + * Only set when not using DirectAccess. + * @type int|string $application_frontend_id + * An opaque identifier for the application frontend which serviced this + * request. + * @type string $application_frontend_zone + * The zone of the application frontend that served this request. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * An opaque identifier for the Google Frontend which serviced this request. + * Only set when not using DirectAccess. + * + * Generated from protobuf field int64 google_frontend_id = 1; + * @return int|string + */ + public function getGoogleFrontendId() + { + return $this->google_frontend_id; + } + + /** + * An opaque identifier for the Google Frontend which serviced this request. + * Only set when not using DirectAccess. + * + * Generated from protobuf field int64 google_frontend_id = 1; + * @param int|string $var + * @return $this + */ + public function setGoogleFrontendId($var) + { + GPBUtil::checkInt64($var); + $this->google_frontend_id = $var; + + return $this; + } + + /** + * An opaque identifier for the application frontend which serviced this + * request. + * + * Generated from protobuf field int64 application_frontend_id = 2; + * @return int|string + */ + public function getApplicationFrontendId() + { + return $this->application_frontend_id; + } + + /** + * An opaque identifier for the application frontend which serviced this + * request. + * + * Generated from protobuf field int64 application_frontend_id = 2; + * @param int|string $var + * @return $this + */ + public function setApplicationFrontendId($var) + { + GPBUtil::checkInt64($var); + $this->application_frontend_id = $var; + + return $this; + } + + /** + * The zone of the application frontend that served this request. + * + * Generated from protobuf field string application_frontend_zone = 3; + * @return string + */ + public function getApplicationFrontendZone() + { + return $this->application_frontend_zone; + } + + /** + * The zone of the application frontend that served this request. + * + * Generated from protobuf field string application_frontend_zone = 3; + * @param string $var + * @return $this + */ + public function setApplicationFrontendZone($var) + { + GPBUtil::checkString($var, True); + $this->application_frontend_zone = $var; + + return $this; + } + +} + diff --git a/src/V2/Client/BigtableClient.php b/src/V2/Client/BigtableClient.php index b40e99d..7b5cdec 100644 --- a/src/V2/Client/BigtableClient.php +++ b/src/V2/Client/BigtableClient.php @@ -25,6 +25,7 @@ namespace Google\Cloud\Bigtable\V2\Client; use Google\ApiCore\ApiException; +use Google\ApiCore\BidiStream; use Google\ApiCore\CredentialsWrapper; use Google\ApiCore\GapicClientTrait; use Google\ApiCore\InsecureCredentialsWrapper; @@ -37,10 +38,12 @@ use Google\Auth\FetchAuthTokenInterface; use Google\Cloud\Bigtable\V2\CheckAndMutateRowRequest; use Google\Cloud\Bigtable\V2\CheckAndMutateRowResponse; +use Google\Cloud\Bigtable\V2\ClientConfiguration; use Google\Cloud\Bigtable\V2\ExecuteQueryRequest; use Google\Cloud\Bigtable\V2\ExecuteQueryResponse; use Google\Cloud\Bigtable\V2\GenerateInitialChangeStreamPartitionsRequest; use Google\Cloud\Bigtable\V2\GenerateInitialChangeStreamPartitionsResponse; +use Google\Cloud\Bigtable\V2\GetClientConfigurationRequest; use Google\Cloud\Bigtable\V2\MutateRowRequest; use Google\Cloud\Bigtable\V2\MutateRowResponse; use Google\Cloud\Bigtable\V2\MutateRowsRequest; @@ -75,6 +78,7 @@ * contained within formatted names that are returned by the API. * * @method PromiseInterface checkAndMutateRowAsync(CheckAndMutateRowRequest $request, array $optionalArgs = []) + * @method PromiseInterface getClientConfigurationAsync(GetClientConfigurationRequest $request, array $optionalArgs = []) * @method PromiseInterface mutateRowAsync(MutateRowRequest $request, array $optionalArgs = []) * @method PromiseInterface pingAndWarmAsync(PingAndWarmRequest $request, array $optionalArgs = []) * @method PromiseInterface prepareQueryAsync(PrepareQueryRequest $request, array $optionalArgs = []) @@ -399,6 +403,34 @@ public function generateInitialChangeStreamPartitions(GenerateInitialChangeStrea return $this->startApiCall('GenerateInitialChangeStreamPartitions', $request, $callOptions); } + /** + * This RPC is only intended to be used by the official Cloud Bigtable client + * libraries to implement the Bigtable Session based protocol. It is subject + * to change without notice. + * + * The async variant is {@see BigtableClient::getClientConfigurationAsync()} . + * + * @example samples/V2/BigtableClient/get_client_configuration.php + * + * @param GetClientConfigurationRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return ClientConfiguration + * + * @throws ApiException Thrown if the API call fails. + */ + public function getClientConfiguration(GetClientConfigurationRequest $request, array $callOptions = []): ClientConfiguration + { + return $this->startApiCall('GetClientConfiguration', $request, $callOptions)->wait(); + } + /** * Mutates a row atomically. Cells already present in the row are left * unchanged unless explicitly changed by `mutation`. @@ -450,6 +482,75 @@ public function mutateRows(MutateRowsRequest $request, array $callOptions = []): return $this->startApiCall('MutateRows', $request, $callOptions); } + /** + * This RPC is only intended to be used by the official Cloud Bigtable client + * libraries to implement the Bigtable Session based protocol. It is subject + * to change without notice. + * + * @example samples/V2/BigtableClient/open_authorized_view.php + * + * @param array $callOptions { + * Optional. + * + * @type int $timeoutMillis + * Timeout to use for this call. + * } + * + * @return BidiStream + * + * @throws ApiException Thrown if the API call fails. + */ + public function openAuthorizedView(array $callOptions = []): BidiStream + { + return $this->startApiCall('OpenAuthorizedView', null, $callOptions); + } + + /** + * This RPC is only intended to be used by the official Cloud Bigtable client + * libraries to implement the Bigtable Session based protocol. It is subject + * to change without notice. + * + * @example samples/V2/BigtableClient/open_materialized_view.php + * + * @param array $callOptions { + * Optional. + * + * @type int $timeoutMillis + * Timeout to use for this call. + * } + * + * @return BidiStream + * + * @throws ApiException Thrown if the API call fails. + */ + public function openMaterializedView(array $callOptions = []): BidiStream + { + return $this->startApiCall('OpenMaterializedView', null, $callOptions); + } + + /** + * This RPC is only intended to be used by the official Cloud Bigtable client + * libraries to implement the Bigtable Session based protocol. It is subject + * to change without notice. + * + * @example samples/V2/BigtableClient/open_table.php + * + * @param array $callOptions { + * Optional. + * + * @type int $timeoutMillis + * Timeout to use for this call. + * } + * + * @return BidiStream + * + * @throws ApiException Thrown if the API call fails. + */ + public function openTable(array $callOptions = []): BidiStream + { + return $this->startApiCall('OpenTable', null, $callOptions); + } + /** * Warm up associated instance metadata for this connection. * This call is not required but may be useful for connection keep-alive. diff --git a/src/V2/ClientConfiguration.php b/src/V2/ClientConfiguration.php new file mode 100644 index 0000000..59c21af --- /dev/null +++ b/src/V2/ClientConfiguration.php @@ -0,0 +1,247 @@ +google.bigtable.v2.ClientConfiguration + */ +class ClientConfiguration extends \Google\Protobuf\Internal\Message +{ + /** + * The configuration for Bigtable Sessions. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration session_configuration = 2; + */ + protected $session_configuration = null; + /** + * Configuration for telemetry. + * + * Generated from protobuf field .google.bigtable.v2.TelemetryConfiguration telemetry_configuration = 6; + */ + protected $telemetry_configuration = null; + protected $polling; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\SessionClientConfiguration $session_configuration + * The configuration for Bigtable Sessions. + * @type bool $stop_polling + * If the client should cease to check for new configurations, e.g. a + * backstop to prevent excessive GetClientConfiguration RPCs. + * @type \Google\Protobuf\Duration $polling_interval + * Deprecated, prerfer polling_configuration. + * A duration describing the time between GetClientConfiguration RPCs. + * Only strictly positive values are permissible. + * @type \Google\Cloud\Bigtable\V2\ClientConfiguration\PollingConfiguration $polling_configuration + * If the client should continue to check for new configurations. + * @type \Google\Cloud\Bigtable\V2\TelemetryConfiguration $telemetry_configuration + * Configuration for telemetry. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * The configuration for Bigtable Sessions. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration session_configuration = 2; + * @return \Google\Cloud\Bigtable\V2\SessionClientConfiguration|null + */ + public function getSessionConfiguration() + { + return $this->session_configuration; + } + + public function hasSessionConfiguration() + { + return isset($this->session_configuration); + } + + public function clearSessionConfiguration() + { + unset($this->session_configuration); + } + + /** + * The configuration for Bigtable Sessions. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration session_configuration = 2; + * @param \Google\Cloud\Bigtable\V2\SessionClientConfiguration $var + * @return $this + */ + public function setSessionConfiguration($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionClientConfiguration::class); + $this->session_configuration = $var; + + return $this; + } + + /** + * If the client should cease to check for new configurations, e.g. a + * backstop to prevent excessive GetClientConfiguration RPCs. + * + * Generated from protobuf field bool stop_polling = 3; + * @return bool + */ + public function getStopPolling() + { + return $this->readOneof(3); + } + + public function hasStopPolling() + { + return $this->hasOneof(3); + } + + /** + * If the client should cease to check for new configurations, e.g. a + * backstop to prevent excessive GetClientConfiguration RPCs. + * + * Generated from protobuf field bool stop_polling = 3; + * @param bool $var + * @return $this + */ + public function setStopPolling($var) + { + GPBUtil::checkBool($var); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Deprecated, prerfer polling_configuration. + * A duration describing the time between GetClientConfiguration RPCs. + * Only strictly positive values are permissible. + * + * Generated from protobuf field .google.protobuf.Duration polling_interval = 4 [deprecated = true]; + * @return \Google\Protobuf\Duration|null + * @deprecated + */ + public function getPollingInterval() + { + if ($this->hasOneof(4)) { + @trigger_error('polling_interval is deprecated.', E_USER_DEPRECATED); + } + return $this->readOneof(4); + } + + public function hasPollingInterval() + { + if ($this->hasOneof(4)) { + @trigger_error('polling_interval is deprecated.', E_USER_DEPRECATED); + } + return $this->hasOneof(4); + } + + /** + * Deprecated, prerfer polling_configuration. + * A duration describing the time between GetClientConfiguration RPCs. + * Only strictly positive values are permissible. + * + * Generated from protobuf field .google.protobuf.Duration polling_interval = 4 [deprecated = true]; + * @param \Google\Protobuf\Duration $var + * @return $this + * @deprecated + */ + public function setPollingInterval($var) + { + @trigger_error('polling_interval is deprecated.', E_USER_DEPRECATED); + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * If the client should continue to check for new configurations. + * + * Generated from protobuf field .google.bigtable.v2.ClientConfiguration.PollingConfiguration polling_configuration = 5; + * @return \Google\Cloud\Bigtable\V2\ClientConfiguration\PollingConfiguration|null + */ + public function getPollingConfiguration() + { + return $this->readOneof(5); + } + + public function hasPollingConfiguration() + { + return $this->hasOneof(5); + } + + /** + * If the client should continue to check for new configurations. + * + * Generated from protobuf field .google.bigtable.v2.ClientConfiguration.PollingConfiguration polling_configuration = 5; + * @param \Google\Cloud\Bigtable\V2\ClientConfiguration\PollingConfiguration $var + * @return $this + */ + public function setPollingConfiguration($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\ClientConfiguration\PollingConfiguration::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * Configuration for telemetry. + * + * Generated from protobuf field .google.bigtable.v2.TelemetryConfiguration telemetry_configuration = 6; + * @return \Google\Cloud\Bigtable\V2\TelemetryConfiguration|null + */ + public function getTelemetryConfiguration() + { + return $this->telemetry_configuration; + } + + public function hasTelemetryConfiguration() + { + return isset($this->telemetry_configuration); + } + + public function clearTelemetryConfiguration() + { + unset($this->telemetry_configuration); + } + + /** + * Configuration for telemetry. + * + * Generated from protobuf field .google.bigtable.v2.TelemetryConfiguration telemetry_configuration = 6; + * @param \Google\Cloud\Bigtable\V2\TelemetryConfiguration $var + * @return $this + */ + public function setTelemetryConfiguration($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\TelemetryConfiguration::class); + $this->telemetry_configuration = $var; + + return $this; + } + + /** + * @return string + */ + public function getPolling() + { + return $this->whichOneof("polling"); + } + +} + diff --git a/src/V2/ClientConfiguration/PollingConfiguration.php b/src/V2/ClientConfiguration/PollingConfiguration.php new file mode 100644 index 0000000..3f53bfd --- /dev/null +++ b/src/V2/ClientConfiguration/PollingConfiguration.php @@ -0,0 +1,181 @@ +google.bigtable.v2.ClientConfiguration.PollingConfiguration + */ +class PollingConfiguration extends \Google\Protobuf\Internal\Message +{ + /** + * A duration describing the time between GetClientConfiguration RPCs. + * Only strictly positive values are permissible. + * + * Generated from protobuf field .google.protobuf.Duration polling_interval = 1; + */ + protected $polling_interval = null; + /** + * How long the client should consider the configuration it receives from + * GetClientConfiguration valid for. Once this duration has passed, the + * client should consider the configuration invalid and must either: + * - Get a new configuration from GetClientConfiguration + * - Or if it cannot, use a sane default configuration + * This duration will be at least as long as the polling interval. + * + * Generated from protobuf field .google.protobuf.Duration validity_duration = 2; + */ + protected $validity_duration = null; + /** + * Number of times the client should retry a failed + * GetClientConfiguration RPC per polling interval before giving up. + * + * Generated from protobuf field int32 max_rpc_retry_count = 6; + */ + protected $max_rpc_retry_count = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Duration $polling_interval + * A duration describing the time between GetClientConfiguration RPCs. + * Only strictly positive values are permissible. + * @type \Google\Protobuf\Duration $validity_duration + * How long the client should consider the configuration it receives from + * GetClientConfiguration valid for. Once this duration has passed, the + * client should consider the configuration invalid and must either: + * - Get a new configuration from GetClientConfiguration + * - Or if it cannot, use a sane default configuration + * This duration will be at least as long as the polling interval. + * @type int $max_rpc_retry_count + * Number of times the client should retry a failed + * GetClientConfiguration RPC per polling interval before giving up. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * A duration describing the time between GetClientConfiguration RPCs. + * Only strictly positive values are permissible. + * + * Generated from protobuf field .google.protobuf.Duration polling_interval = 1; + * @return \Google\Protobuf\Duration|null + */ + public function getPollingInterval() + { + return $this->polling_interval; + } + + public function hasPollingInterval() + { + return isset($this->polling_interval); + } + + public function clearPollingInterval() + { + unset($this->polling_interval); + } + + /** + * A duration describing the time between GetClientConfiguration RPCs. + * Only strictly positive values are permissible. + * + * Generated from protobuf field .google.protobuf.Duration polling_interval = 1; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setPollingInterval($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->polling_interval = $var; + + return $this; + } + + /** + * How long the client should consider the configuration it receives from + * GetClientConfiguration valid for. Once this duration has passed, the + * client should consider the configuration invalid and must either: + * - Get a new configuration from GetClientConfiguration + * - Or if it cannot, use a sane default configuration + * This duration will be at least as long as the polling interval. + * + * Generated from protobuf field .google.protobuf.Duration validity_duration = 2; + * @return \Google\Protobuf\Duration|null + */ + public function getValidityDuration() + { + return $this->validity_duration; + } + + public function hasValidityDuration() + { + return isset($this->validity_duration); + } + + public function clearValidityDuration() + { + unset($this->validity_duration); + } + + /** + * How long the client should consider the configuration it receives from + * GetClientConfiguration valid for. Once this duration has passed, the + * client should consider the configuration invalid and must either: + * - Get a new configuration from GetClientConfiguration + * - Or if it cannot, use a sane default configuration + * This duration will be at least as long as the polling interval. + * + * Generated from protobuf field .google.protobuf.Duration validity_duration = 2; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setValidityDuration($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->validity_duration = $var; + + return $this; + } + + /** + * Number of times the client should retry a failed + * GetClientConfiguration RPC per polling interval before giving up. + * + * Generated from protobuf field int32 max_rpc_retry_count = 6; + * @return int + */ + public function getMaxRpcRetryCount() + { + return $this->max_rpc_retry_count; + } + + /** + * Number of times the client should retry a failed + * GetClientConfiguration RPC per polling interval before giving up. + * + * Generated from protobuf field int32 max_rpc_retry_count = 6; + * @param int $var + * @return $this + */ + public function setMaxRpcRetryCount($var) + { + GPBUtil::checkInt32($var); + $this->max_rpc_retry_count = $var; + + return $this; + } + +} + diff --git a/src/V2/CloseSessionRequest.php b/src/V2/CloseSessionRequest.php new file mode 100644 index 0000000..528720a --- /dev/null +++ b/src/V2/CloseSessionRequest.php @@ -0,0 +1,87 @@ +google.bigtable.v2.CloseSessionRequest + */ +class CloseSessionRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field .google.bigtable.v2.CloseSessionRequest.CloseSessionReason reason = 1; + */ + protected $reason = 0; + /** + * Generated from protobuf field string description = 2; + */ + protected $description = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $reason + * @type string $description + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.CloseSessionRequest.CloseSessionReason reason = 1; + * @return int + */ + public function getReason() + { + return $this->reason; + } + + /** + * Generated from protobuf field .google.bigtable.v2.CloseSessionRequest.CloseSessionReason reason = 1; + * @param int $var + * @return $this + */ + public function setReason($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Bigtable\V2\CloseSessionRequest\CloseSessionReason::class); + $this->reason = $var; + + return $this; + } + + /** + * Generated from protobuf field string description = 2; + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Generated from protobuf field string description = 2; + * @param string $var + * @return $this + */ + public function setDescription($var) + { + GPBUtil::checkString($var, True); + $this->description = $var; + + return $this; + } + +} + diff --git a/src/V2/CloseSessionRequest/CloseSessionReason.php b/src/V2/CloseSessionRequest/CloseSessionReason.php new file mode 100644 index 0000000..f8d9e5b --- /dev/null +++ b/src/V2/CloseSessionRequest/CloseSessionReason.php @@ -0,0 +1,72 @@ +google.bigtable.v2.CloseSessionRequest.CloseSessionReason + */ +class CloseSessionReason +{ + /** + * Generated from protobuf enum CLOSE_SESSION_REASON_UNSET = 0; + */ + const CLOSE_SESSION_REASON_UNSET = 0; + /** + * Generated from protobuf enum CLOSE_SESSION_REASON_GOAWAY = 1; + */ + const CLOSE_SESSION_REASON_GOAWAY = 1; + /** + * Generated from protobuf enum CLOSE_SESSION_REASON_ERROR = 2; + */ + const CLOSE_SESSION_REASON_ERROR = 2; + /** + * Generated from protobuf enum CLOSE_SESSION_REASON_USER = 3; + */ + const CLOSE_SESSION_REASON_USER = 3; + /** + * Generated from protobuf enum CLOSE_SESSION_REASON_DOWNSIZE = 4; + */ + const CLOSE_SESSION_REASON_DOWNSIZE = 4; + /** + * Generated from protobuf enum CLOSE_SESSION_REASON_MISSED_HEARTBEAT = 5; + */ + const CLOSE_SESSION_REASON_MISSED_HEARTBEAT = 5; + + private static $valueToName = [ + self::CLOSE_SESSION_REASON_UNSET => 'CLOSE_SESSION_REASON_UNSET', + self::CLOSE_SESSION_REASON_GOAWAY => 'CLOSE_SESSION_REASON_GOAWAY', + self::CLOSE_SESSION_REASON_ERROR => 'CLOSE_SESSION_REASON_ERROR', + self::CLOSE_SESSION_REASON_USER => 'CLOSE_SESSION_REASON_USER', + self::CLOSE_SESSION_REASON_DOWNSIZE => 'CLOSE_SESSION_REASON_DOWNSIZE', + self::CLOSE_SESSION_REASON_MISSED_HEARTBEAT => 'CLOSE_SESSION_REASON_MISSED_HEARTBEAT', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/src/V2/ClusterInformation.php b/src/V2/ClusterInformation.php new file mode 100644 index 0000000..f94fc4d --- /dev/null +++ b/src/V2/ClusterInformation.php @@ -0,0 +1,88 @@ +google.bigtable.v2.ClusterInformation + */ +class ClusterInformation extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string cluster_id = 1; + */ + protected $cluster_id = ''; + /** + * Generated from protobuf field string zone_id = 2; + */ + protected $zone_id = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $cluster_id + * @type string $zone_id + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string cluster_id = 1; + * @return string + */ + public function getClusterId() + { + return $this->cluster_id; + } + + /** + * Generated from protobuf field string cluster_id = 1; + * @param string $var + * @return $this + */ + public function setClusterId($var) + { + GPBUtil::checkString($var, True); + $this->cluster_id = $var; + + return $this; + } + + /** + * Generated from protobuf field string zone_id = 2; + * @return string + */ + public function getZoneId() + { + return $this->zone_id; + } + + /** + * Generated from protobuf field string zone_id = 2; + * @param string $var + * @return $this + */ + public function setZoneId($var) + { + GPBUtil::checkString($var, True); + $this->zone_id = $var; + + return $this; + } + +} + diff --git a/src/V2/ErrorResponse.php b/src/V2/ErrorResponse.php new file mode 100644 index 0000000..d0a3545 --- /dev/null +++ b/src/V2/ErrorResponse.php @@ -0,0 +1,185 @@ +google.bigtable.v2.ErrorResponse + */ +class ErrorResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Which vRPC this response is for. + * + * Generated from protobuf field int64 rpc_id = 1; + */ + protected $rpc_id = 0; + /** + * Generated from protobuf field .google.bigtable.v2.ClusterInformation cluster_info = 2; + */ + protected $cluster_info = null; + /** + * The error from the vRPC and any retry information to consider. + * + * Generated from protobuf field .google.rpc.Status status = 3; + */ + protected $status = null; + /** + * Generated from protobuf field .google.rpc.RetryInfo retry_info = 4; + */ + protected $retry_info = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $rpc_id + * Which vRPC this response is for. + * @type \Google\Cloud\Bigtable\V2\ClusterInformation $cluster_info + * @type \Google\Rpc\Status $status + * The error from the vRPC and any retry information to consider. + * @type \Google\Rpc\RetryInfo $retry_info + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Which vRPC this response is for. + * + * Generated from protobuf field int64 rpc_id = 1; + * @return int|string + */ + public function getRpcId() + { + return $this->rpc_id; + } + + /** + * Which vRPC this response is for. + * + * Generated from protobuf field int64 rpc_id = 1; + * @param int|string $var + * @return $this + */ + public function setRpcId($var) + { + GPBUtil::checkInt64($var); + $this->rpc_id = $var; + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.ClusterInformation cluster_info = 2; + * @return \Google\Cloud\Bigtable\V2\ClusterInformation|null + */ + public function getClusterInfo() + { + return $this->cluster_info; + } + + public function hasClusterInfo() + { + return isset($this->cluster_info); + } + + public function clearClusterInfo() + { + unset($this->cluster_info); + } + + /** + * Generated from protobuf field .google.bigtable.v2.ClusterInformation cluster_info = 2; + * @param \Google\Cloud\Bigtable\V2\ClusterInformation $var + * @return $this + */ + public function setClusterInfo($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\ClusterInformation::class); + $this->cluster_info = $var; + + return $this; + } + + /** + * The error from the vRPC and any retry information to consider. + * + * Generated from protobuf field .google.rpc.Status status = 3; + * @return \Google\Rpc\Status|null + */ + public function getStatus() + { + return $this->status; + } + + public function hasStatus() + { + return isset($this->status); + } + + public function clearStatus() + { + unset($this->status); + } + + /** + * The error from the vRPC and any retry information to consider. + * + * Generated from protobuf field .google.rpc.Status status = 3; + * @param \Google\Rpc\Status $var + * @return $this + */ + public function setStatus($var) + { + GPBUtil::checkMessage($var, \Google\Rpc\Status::class); + $this->status = $var; + + return $this; + } + + /** + * Generated from protobuf field .google.rpc.RetryInfo retry_info = 4; + * @return \Google\Rpc\RetryInfo|null + */ + public function getRetryInfo() + { + return $this->retry_info; + } + + public function hasRetryInfo() + { + return isset($this->retry_info); + } + + public function clearRetryInfo() + { + unset($this->retry_info); + } + + /** + * Generated from protobuf field .google.rpc.RetryInfo retry_info = 4; + * @param \Google\Rpc\RetryInfo $var + * @return $this + */ + public function setRetryInfo($var) + { + GPBUtil::checkMessage($var, \Google\Rpc\RetryInfo::class); + $this->retry_info = $var; + + return $this; + } + +} + diff --git a/src/V2/FeatureFlags.php b/src/V2/FeatureFlags.php index b70fa1d..e1d3fd8 100644 --- a/src/V2/FeatureFlags.php +++ b/src/V2/FeatureFlags.php @@ -90,6 +90,18 @@ class FeatureFlags extends \Google\Protobuf\Internal\Message * Generated from protobuf field bool peer_info = 11; */ protected $peer_info = false; + /** + * Indicates whether the client supports the Bigtable Sessions API. + * + * Generated from protobuf field bool sessions_compatible = 12; + */ + protected $sessions_compatible = false; + /** + * Internal flag to force sessions for internal projects. + * + * Generated from protobuf field bool sessions_required = 13; + */ + protected $sessions_required = false; /** * Constructor. @@ -125,6 +137,10 @@ class FeatureFlags extends \Google\Protobuf\Internal\Message * Notify the server that the client explicitly opted in for Direct Access. * @type bool $peer_info * If the client can support using BigtablePeerInfo. + * @type bool $sessions_compatible + * Indicates whether the client supports the Bigtable Sessions API. + * @type bool $sessions_required + * Internal flag to force sessions for internal projects. * } */ public function __construct($data = NULL) { @@ -408,5 +424,57 @@ public function setPeerInfo($var) return $this; } + /** + * Indicates whether the client supports the Bigtable Sessions API. + * + * Generated from protobuf field bool sessions_compatible = 12; + * @return bool + */ + public function getSessionsCompatible() + { + return $this->sessions_compatible; + } + + /** + * Indicates whether the client supports the Bigtable Sessions API. + * + * Generated from protobuf field bool sessions_compatible = 12; + * @param bool $var + * @return $this + */ + public function setSessionsCompatible($var) + { + GPBUtil::checkBool($var); + $this->sessions_compatible = $var; + + return $this; + } + + /** + * Internal flag to force sessions for internal projects. + * + * Generated from protobuf field bool sessions_required = 13; + * @return bool + */ + public function getSessionsRequired() + { + return $this->sessions_required; + } + + /** + * Internal flag to force sessions for internal projects. + * + * Generated from protobuf field bool sessions_required = 13; + * @param bool $var + * @return $this + */ + public function setSessionsRequired($var) + { + GPBUtil::checkBool($var); + $this->sessions_required = $var; + + return $this; + } + } diff --git a/src/V2/GetClientConfigurationRequest.php b/src/V2/GetClientConfigurationRequest.php new file mode 100644 index 0000000..9e649f6 --- /dev/null +++ b/src/V2/GetClientConfigurationRequest.php @@ -0,0 +1,117 @@ +google.bigtable.v2.GetClientConfigurationRequest + */ +class GetClientConfigurationRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The unique name of the instance for which the client will target + * with Data API requests. + * Values are of the form `projects//instances/` + * + * Generated from protobuf field string instance_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $instance_name = ''; + /** + * Optional. The name of the AppProfile which will be used by the client when + * sending requests in the Data API. + * If not specified, the `default` application profile will be used. + * + * Generated from protobuf field string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $app_profile_id = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $instance_name + * Required. The unique name of the instance for which the client will target + * with Data API requests. + * Values are of the form `projects//instances/` + * @type string $app_profile_id + * Optional. The name of the AppProfile which will be used by the client when + * sending requests in the Data API. + * If not specified, the `default` application profile will be used. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Required. The unique name of the instance for which the client will target + * with Data API requests. + * Values are of the form `projects//instances/` + * + * Generated from protobuf field string instance_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getInstanceName() + { + return $this->instance_name; + } + + /** + * Required. The unique name of the instance for which the client will target + * with Data API requests. + * Values are of the form `projects//instances/` + * + * Generated from protobuf field string instance_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setInstanceName($var) + { + GPBUtil::checkString($var, True); + $this->instance_name = $var; + + return $this; + } + + /** + * Optional. The name of the AppProfile which will be used by the client when + * sending requests in the Data API. + * If not specified, the `default` application profile will be used. + * + * Generated from protobuf field string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getAppProfileId() + { + return $this->app_profile_id; + } + + /** + * Optional. The name of the AppProfile which will be used by the client when + * sending requests in the Data API. + * If not specified, the `default` application profile will be used. + * + * Generated from protobuf field string app_profile_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setAppProfileId($var) + { + GPBUtil::checkString($var, True); + $this->app_profile_id = $var; + + return $this; + } + +} + diff --git a/src/V2/GoAwayResponse.php b/src/V2/GoAwayResponse.php new file mode 100644 index 0000000..be7df0b --- /dev/null +++ b/src/V2/GoAwayResponse.php @@ -0,0 +1,140 @@ +google.bigtable.v2.GoAwayResponse + */ +class GoAwayResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Server-generated reason for GOAWAY, including a plain-text description of + * why. 'reason' may be used for CSM, while both may be logged. + * + * Generated from protobuf field string reason = 1; + */ + protected $reason = ''; + /** + * Generated from protobuf field string description = 2; + */ + protected $description = ''; + /** + * The last vRPC which was admitted by the AFE. The client may expect the + * result from the vRPC on the stream before disconnecting, and should + * retry vRPCs beyond this boundary. + * + * Generated from protobuf field int64 last_rpc_id_admitted = 3; + */ + protected $last_rpc_id_admitted = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $reason + * Server-generated reason for GOAWAY, including a plain-text description of + * why. 'reason' may be used for CSM, while both may be logged. + * @type string $description + * @type int|string $last_rpc_id_admitted + * The last vRPC which was admitted by the AFE. The client may expect the + * result from the vRPC on the stream before disconnecting, and should + * retry vRPCs beyond this boundary. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Server-generated reason for GOAWAY, including a plain-text description of + * why. 'reason' may be used for CSM, while both may be logged. + * + * Generated from protobuf field string reason = 1; + * @return string + */ + public function getReason() + { + return $this->reason; + } + + /** + * Server-generated reason for GOAWAY, including a plain-text description of + * why. 'reason' may be used for CSM, while both may be logged. + * + * Generated from protobuf field string reason = 1; + * @param string $var + * @return $this + */ + public function setReason($var) + { + GPBUtil::checkString($var, True); + $this->reason = $var; + + return $this; + } + + /** + * Generated from protobuf field string description = 2; + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Generated from protobuf field string description = 2; + * @param string $var + * @return $this + */ + public function setDescription($var) + { + GPBUtil::checkString($var, True); + $this->description = $var; + + return $this; + } + + /** + * The last vRPC which was admitted by the AFE. The client may expect the + * result from the vRPC on the stream before disconnecting, and should + * retry vRPCs beyond this boundary. + * + * Generated from protobuf field int64 last_rpc_id_admitted = 3; + * @return int|string + */ + public function getLastRpcIdAdmitted() + { + return $this->last_rpc_id_admitted; + } + + /** + * The last vRPC which was admitted by the AFE. The client may expect the + * result from the vRPC on the stream before disconnecting, and should + * retry vRPCs beyond this boundary. + * + * Generated from protobuf field int64 last_rpc_id_admitted = 3; + * @param int|string $var + * @return $this + */ + public function setLastRpcIdAdmitted($var) + { + GPBUtil::checkInt64($var); + $this->last_rpc_id_admitted = $var; + + return $this; + } + +} + diff --git a/src/V2/HeartbeatResponse.php b/src/V2/HeartbeatResponse.php new file mode 100644 index 0000000..8584551 --- /dev/null +++ b/src/V2/HeartbeatResponse.php @@ -0,0 +1,33 @@ +google.bigtable.v2.HeartbeatResponse + */ +class HeartbeatResponse extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + +} + diff --git a/src/V2/LoadBalancingOptions.php b/src/V2/LoadBalancingOptions.php new file mode 100644 index 0000000..f0c8029 --- /dev/null +++ b/src/V2/LoadBalancingOptions.php @@ -0,0 +1,126 @@ +google.bigtable.v2.LoadBalancingOptions + */ +class LoadBalancingOptions extends \Google\Protobuf\Internal\Message +{ + protected $load_balancing_strategy; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\LoadBalancingOptions\LeastInFlight $least_in_flight + * @type \Google\Cloud\Bigtable\V2\LoadBalancingOptions\PeakEwma $peak_ewma + * @type \Google\Cloud\Bigtable\V2\LoadBalancingOptions\Random $random + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions.LeastInFlight least_in_flight = 1; + * @return \Google\Cloud\Bigtable\V2\LoadBalancingOptions\LeastInFlight|null + */ + public function getLeastInFlight() + { + return $this->readOneof(1); + } + + public function hasLeastInFlight() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions.LeastInFlight least_in_flight = 1; + * @param \Google\Cloud\Bigtable\V2\LoadBalancingOptions\LeastInFlight $var + * @return $this + */ + public function setLeastInFlight($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\LoadBalancingOptions\LeastInFlight::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions.PeakEwma peak_ewma = 2; + * @return \Google\Cloud\Bigtable\V2\LoadBalancingOptions\PeakEwma|null + */ + public function getPeakEwma() + { + return $this->readOneof(2); + } + + public function hasPeakEwma() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions.PeakEwma peak_ewma = 2; + * @param \Google\Cloud\Bigtable\V2\LoadBalancingOptions\PeakEwma $var + * @return $this + */ + public function setPeakEwma($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\LoadBalancingOptions\PeakEwma::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions.Random random = 4; + * @return \Google\Cloud\Bigtable\V2\LoadBalancingOptions\Random|null + */ + public function getRandom() + { + return $this->readOneof(4); + } + + public function hasRandom() + { + return $this->hasOneof(4); + } + + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions.Random random = 4; + * @param \Google\Cloud\Bigtable\V2\LoadBalancingOptions\Random $var + * @return $this + */ + public function setRandom($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\LoadBalancingOptions\Random::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * @return string + */ + public function getLoadBalancingStrategy() + { + return $this->whichOneof("load_balancing_strategy"); + } + +} + diff --git a/src/V2/LoadBalancingOptions/LeastInFlight.php b/src/V2/LoadBalancingOptions/LeastInFlight.php new file mode 100644 index 0000000..0f16fca --- /dev/null +++ b/src/V2/LoadBalancingOptions/LeastInFlight.php @@ -0,0 +1,72 @@ +google.bigtable.v2.LoadBalancingOptions.LeastInFlight + */ +class LeastInFlight extends \Google\Protobuf\Internal\Message +{ + /** + * Of all connected AFEs, the size of the random subset to run the algorithm + * on. Zero implies all connected AFEs. + * + * Generated from protobuf field int64 random_subset_size = 1; + */ + protected $random_subset_size = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $random_subset_size + * Of all connected AFEs, the size of the random subset to run the algorithm + * on. Zero implies all connected AFEs. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Of all connected AFEs, the size of the random subset to run the algorithm + * on. Zero implies all connected AFEs. + * + * Generated from protobuf field int64 random_subset_size = 1; + * @return int|string + */ + public function getRandomSubsetSize() + { + return $this->random_subset_size; + } + + /** + * Of all connected AFEs, the size of the random subset to run the algorithm + * on. Zero implies all connected AFEs. + * + * Generated from protobuf field int64 random_subset_size = 1; + * @param int|string $var + * @return $this + */ + public function setRandomSubsetSize($var) + { + GPBUtil::checkInt64($var); + $this->random_subset_size = $var; + + return $this; + } + +} + diff --git a/src/V2/LoadBalancingOptions/PeakEwma.php b/src/V2/LoadBalancingOptions/PeakEwma.php new file mode 100644 index 0000000..10b2f9b --- /dev/null +++ b/src/V2/LoadBalancingOptions/PeakEwma.php @@ -0,0 +1,75 @@ +google.bigtable.v2.LoadBalancingOptions.PeakEwma + */ +class PeakEwma extends \Google\Protobuf\Internal\Message +{ + /** + * Of all connected AFEs, the size of the random subset to compare costs + * over. Zero implies all connected AFEs. + * + * Generated from protobuf field int64 random_subset_size = 1; + */ + protected $random_subset_size = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $random_subset_size + * Of all connected AFEs, the size of the random subset to compare costs + * over. Zero implies all connected AFEs. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Of all connected AFEs, the size of the random subset to compare costs + * over. Zero implies all connected AFEs. + * + * Generated from protobuf field int64 random_subset_size = 1; + * @return int|string + */ + public function getRandomSubsetSize() + { + return $this->random_subset_size; + } + + /** + * Of all connected AFEs, the size of the random subset to compare costs + * over. Zero implies all connected AFEs. + * + * Generated from protobuf field int64 random_subset_size = 1; + * @param int|string $var + * @return $this + */ + public function setRandomSubsetSize($var) + { + GPBUtil::checkInt64($var); + $this->random_subset_size = $var; + + return $this; + } + +} + diff --git a/src/V2/LoadBalancingOptions/Random.php b/src/V2/LoadBalancingOptions/Random.php new file mode 100644 index 0000000..6f088a8 --- /dev/null +++ b/src/V2/LoadBalancingOptions/Random.php @@ -0,0 +1,33 @@ +google.bigtable.v2.LoadBalancingOptions.Random + */ +class Random extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + +} + diff --git a/src/V2/MaterializedViewRequest.php b/src/V2/MaterializedViewRequest.php new file mode 100644 index 0000000..b5aad94 --- /dev/null +++ b/src/V2/MaterializedViewRequest.php @@ -0,0 +1,70 @@ +google.bigtable.v2.MaterializedViewRequest + */ +class MaterializedViewRequest extends \Google\Protobuf\Internal\Message +{ + protected $payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\SessionReadRowRequest $read_row + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowRequest read_row = 1; + * @return \Google\Cloud\Bigtable\V2\SessionReadRowRequest|null + */ + public function getReadRow() + { + return $this->readOneof(1); + } + + public function hasReadRow() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowRequest read_row = 1; + * @param \Google\Cloud\Bigtable\V2\SessionReadRowRequest $var + * @return $this + */ + public function setReadRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionReadRowRequest::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * @return string + */ + public function getPayload() + { + return $this->whichOneof("payload"); + } + +} + diff --git a/src/V2/MaterializedViewResponse.php b/src/V2/MaterializedViewResponse.php new file mode 100644 index 0000000..54a679a --- /dev/null +++ b/src/V2/MaterializedViewResponse.php @@ -0,0 +1,71 @@ +google.bigtable.v2.MaterializedViewResponse + */ +class MaterializedViewResponse extends \Google\Protobuf\Internal\Message +{ + protected $payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\SessionReadRowResponse $read_row + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowResponse read_row = 1; + * @return \Google\Cloud\Bigtable\V2\SessionReadRowResponse|null + */ + public function getReadRow() + { + return $this->readOneof(1); + } + + public function hasReadRow() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowResponse read_row = 1; + * @param \Google\Cloud\Bigtable\V2\SessionReadRowResponse $var + * @return $this + */ + public function setReadRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionReadRowResponse::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * @return string + */ + public function getPayload() + { + return $this->whichOneof("payload"); + } + +} + diff --git a/src/V2/OpenAuthorizedViewRequest.php b/src/V2/OpenAuthorizedViewRequest.php new file mode 100644 index 0000000..0142b1c --- /dev/null +++ b/src/V2/OpenAuthorizedViewRequest.php @@ -0,0 +1,139 @@ +google.bigtable.v2.OpenAuthorizedViewRequest + */ +class OpenAuthorizedViewRequest extends \Google\Protobuf\Internal\Message +{ + /** + * The Authorized view name to read and write from. Values are of the form + * `projects//instances//tables//authorizedViews/`. + * + * Generated from protobuf field string authorized_view_name = 1; + */ + protected $authorized_view_name = ''; + /** + * The app profile id to use for the authorized view sessions. + * + * Generated from protobuf field string app_profile_id = 2; + */ + protected $app_profile_id = ''; + /** + * Permission for the session. + * + * Generated from protobuf field .google.bigtable.v2.OpenAuthorizedViewRequest.Permission permission = 3; + */ + protected $permission = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $authorized_view_name + * The Authorized view name to read and write from. Values are of the form + * `projects//instances//tables/
/authorizedViews/`. + * @type string $app_profile_id + * The app profile id to use for the authorized view sessions. + * @type int $permission + * Permission for the session. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * The Authorized view name to read and write from. Values are of the form + * `projects//instances//tables/
/authorizedViews/`. + * + * Generated from protobuf field string authorized_view_name = 1; + * @return string + */ + public function getAuthorizedViewName() + { + return $this->authorized_view_name; + } + + /** + * The Authorized view name to read and write from. Values are of the form + * `projects//instances//tables/
/authorizedViews/`. + * + * Generated from protobuf field string authorized_view_name = 1; + * @param string $var + * @return $this + */ + public function setAuthorizedViewName($var) + { + GPBUtil::checkString($var, True); + $this->authorized_view_name = $var; + + return $this; + } + + /** + * The app profile id to use for the authorized view sessions. + * + * Generated from protobuf field string app_profile_id = 2; + * @return string + */ + public function getAppProfileId() + { + return $this->app_profile_id; + } + + /** + * The app profile id to use for the authorized view sessions. + * + * Generated from protobuf field string app_profile_id = 2; + * @param string $var + * @return $this + */ + public function setAppProfileId($var) + { + GPBUtil::checkString($var, True); + $this->app_profile_id = $var; + + return $this; + } + + /** + * Permission for the session. + * + * Generated from protobuf field .google.bigtable.v2.OpenAuthorizedViewRequest.Permission permission = 3; + * @return int + */ + public function getPermission() + { + return $this->permission; + } + + /** + * Permission for the session. + * + * Generated from protobuf field .google.bigtable.v2.OpenAuthorizedViewRequest.Permission permission = 3; + * @param int $var + * @return $this + */ + public function setPermission($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Bigtable\V2\OpenAuthorizedViewRequest\Permission::class); + $this->permission = $var; + + return $this; + } + +} + diff --git a/src/V2/OpenAuthorizedViewRequest/Permission.php b/src/V2/OpenAuthorizedViewRequest/Permission.php new file mode 100644 index 0000000..7dfa768 --- /dev/null +++ b/src/V2/OpenAuthorizedViewRequest/Permission.php @@ -0,0 +1,58 @@ +google.bigtable.v2.OpenAuthorizedViewRequest.Permission + */ +class Permission +{ + /** + * Generated from protobuf enum PERMISSION_UNSET = 0; + */ + const PERMISSION_UNSET = 0; + /** + * Generated from protobuf enum PERMISSION_READ = 1; + */ + const PERMISSION_READ = 1; + /** + * Generated from protobuf enum PERMISSION_WRITE = 2; + */ + const PERMISSION_WRITE = 2; + /** + * Generated from protobuf enum PERMISSION_READ_WRITE = 3; + */ + const PERMISSION_READ_WRITE = 3; + + private static $valueToName = [ + self::PERMISSION_UNSET => 'PERMISSION_UNSET', + self::PERMISSION_READ => 'PERMISSION_READ', + self::PERMISSION_WRITE => 'PERMISSION_WRITE', + self::PERMISSION_READ_WRITE => 'PERMISSION_READ_WRITE', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/src/V2/OpenAuthorizedViewResponse.php b/src/V2/OpenAuthorizedViewResponse.php new file mode 100644 index 0000000..1b614a6 --- /dev/null +++ b/src/V2/OpenAuthorizedViewResponse.php @@ -0,0 +1,33 @@ +google.bigtable.v2.OpenAuthorizedViewResponse + */ +class OpenAuthorizedViewResponse extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + +} + diff --git a/src/V2/OpenMaterializedViewRequest.php b/src/V2/OpenMaterializedViewRequest.php new file mode 100644 index 0000000..b605462 --- /dev/null +++ b/src/V2/OpenMaterializedViewRequest.php @@ -0,0 +1,139 @@ +google.bigtable.v2.OpenMaterializedViewRequest + */ +class OpenMaterializedViewRequest extends \Google\Protobuf\Internal\Message +{ + /** + * The Materialized view name to read and write from. Values are of the form + * `projects//instances//materializedViews/`. + * + * Generated from protobuf field string materialized_view_name = 1; + */ + protected $materialized_view_name = ''; + /** + * The app profile id to use for the materialized view sessions. + * + * Generated from protobuf field string app_profile_id = 2; + */ + protected $app_profile_id = ''; + /** + * Permission for the session. + * + * Generated from protobuf field .google.bigtable.v2.OpenMaterializedViewRequest.Permission permission = 3; + */ + protected $permission = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $materialized_view_name + * The Materialized view name to read and write from. Values are of the form + * `projects//instances//materializedViews/`. + * @type string $app_profile_id + * The app profile id to use for the materialized view sessions. + * @type int $permission + * Permission for the session. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * The Materialized view name to read and write from. Values are of the form + * `projects//instances//materializedViews/`. + * + * Generated from protobuf field string materialized_view_name = 1; + * @return string + */ + public function getMaterializedViewName() + { + return $this->materialized_view_name; + } + + /** + * The Materialized view name to read and write from. Values are of the form + * `projects//instances//materializedViews/`. + * + * Generated from protobuf field string materialized_view_name = 1; + * @param string $var + * @return $this + */ + public function setMaterializedViewName($var) + { + GPBUtil::checkString($var, True); + $this->materialized_view_name = $var; + + return $this; + } + + /** + * The app profile id to use for the materialized view sessions. + * + * Generated from protobuf field string app_profile_id = 2; + * @return string + */ + public function getAppProfileId() + { + return $this->app_profile_id; + } + + /** + * The app profile id to use for the materialized view sessions. + * + * Generated from protobuf field string app_profile_id = 2; + * @param string $var + * @return $this + */ + public function setAppProfileId($var) + { + GPBUtil::checkString($var, True); + $this->app_profile_id = $var; + + return $this; + } + + /** + * Permission for the session. + * + * Generated from protobuf field .google.bigtable.v2.OpenMaterializedViewRequest.Permission permission = 3; + * @return int + */ + public function getPermission() + { + return $this->permission; + } + + /** + * Permission for the session. + * + * Generated from protobuf field .google.bigtable.v2.OpenMaterializedViewRequest.Permission permission = 3; + * @param int $var + * @return $this + */ + public function setPermission($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Bigtable\V2\OpenMaterializedViewRequest\Permission::class); + $this->permission = $var; + + return $this; + } + +} + diff --git a/src/V2/OpenMaterializedViewRequest/Permission.php b/src/V2/OpenMaterializedViewRequest/Permission.php new file mode 100644 index 0000000..b0f1884 --- /dev/null +++ b/src/V2/OpenMaterializedViewRequest/Permission.php @@ -0,0 +1,48 @@ +google.bigtable.v2.OpenMaterializedViewRequest.Permission + */ +class Permission +{ + /** + * Generated from protobuf enum PERMISSION_UNSET = 0; + */ + const PERMISSION_UNSET = 0; + /** + * Generated from protobuf enum PERMISSION_READ = 1; + */ + const PERMISSION_READ = 1; + + private static $valueToName = [ + self::PERMISSION_UNSET => 'PERMISSION_UNSET', + self::PERMISSION_READ => 'PERMISSION_READ', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/src/V2/OpenMaterializedViewResponse.php b/src/V2/OpenMaterializedViewResponse.php new file mode 100644 index 0000000..a3da709 --- /dev/null +++ b/src/V2/OpenMaterializedViewResponse.php @@ -0,0 +1,33 @@ +google.bigtable.v2.OpenMaterializedViewResponse + */ +class OpenMaterializedViewResponse extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + +} + diff --git a/src/V2/OpenSessionRequest.php b/src/V2/OpenSessionRequest.php new file mode 100644 index 0000000..3e6d8d0 --- /dev/null +++ b/src/V2/OpenSessionRequest.php @@ -0,0 +1,233 @@ +google.bigtable.v2.OpenSessionRequest + */ +class OpenSessionRequest extends \Google\Protobuf\Internal\Message +{ + /** + * A version indicator from the client stating its understanding of the + * protocol. This is to disambiguate client behavior amidst changes in + * semantic usage of the API, e.g. if the structure remains the same but + * behavior changes. + * + * Generated from protobuf field int64 protocol_version = 1; + */ + protected $protocol_version = 0; + /** + * Client settings, including a record of + * + * Generated from protobuf field .google.bigtable.v2.FeatureFlags flags = 2; + */ + protected $flags = null; + /** + * Used for serverside observability. + * + * Generated from protobuf field int64 consecutive_failed_connection_attempts = 3; + */ + protected $consecutive_failed_connection_attempts = 0; + /** + * How the request should be routed (if presented as part of a GOAWAY + * from a previous session). Post V1. + * + * Generated from protobuf field bytes routing_cookie = 4; + */ + protected $routing_cookie = ''; + /** + * Can be Open{Table,AuthorizedView,MaterializedView}Request, + * (or in post-V1, PrepareSqlQueryRequest) + * + * Generated from protobuf field bytes payload = 5; + */ + protected $payload = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $protocol_version + * A version indicator from the client stating its understanding of the + * protocol. This is to disambiguate client behavior amidst changes in + * semantic usage of the API, e.g. if the structure remains the same but + * behavior changes. + * @type \Google\Cloud\Bigtable\V2\FeatureFlags $flags + * Client settings, including a record of + * @type int|string $consecutive_failed_connection_attempts + * Used for serverside observability. + * @type string $routing_cookie + * How the request should be routed (if presented as part of a GOAWAY + * from a previous session). Post V1. + * @type string $payload + * Can be Open{Table,AuthorizedView,MaterializedView}Request, + * (or in post-V1, PrepareSqlQueryRequest) + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * A version indicator from the client stating its understanding of the + * protocol. This is to disambiguate client behavior amidst changes in + * semantic usage of the API, e.g. if the structure remains the same but + * behavior changes. + * + * Generated from protobuf field int64 protocol_version = 1; + * @return int|string + */ + public function getProtocolVersion() + { + return $this->protocol_version; + } + + /** + * A version indicator from the client stating its understanding of the + * protocol. This is to disambiguate client behavior amidst changes in + * semantic usage of the API, e.g. if the structure remains the same but + * behavior changes. + * + * Generated from protobuf field int64 protocol_version = 1; + * @param int|string $var + * @return $this + */ + public function setProtocolVersion($var) + { + GPBUtil::checkInt64($var); + $this->protocol_version = $var; + + return $this; + } + + /** + * Client settings, including a record of + * + * Generated from protobuf field .google.bigtable.v2.FeatureFlags flags = 2; + * @return \Google\Cloud\Bigtable\V2\FeatureFlags|null + */ + public function getFlags() + { + return $this->flags; + } + + public function hasFlags() + { + return isset($this->flags); + } + + public function clearFlags() + { + unset($this->flags); + } + + /** + * Client settings, including a record of + * + * Generated from protobuf field .google.bigtable.v2.FeatureFlags flags = 2; + * @param \Google\Cloud\Bigtable\V2\FeatureFlags $var + * @return $this + */ + public function setFlags($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\FeatureFlags::class); + $this->flags = $var; + + return $this; + } + + /** + * Used for serverside observability. + * + * Generated from protobuf field int64 consecutive_failed_connection_attempts = 3; + * @return int|string + */ + public function getConsecutiveFailedConnectionAttempts() + { + return $this->consecutive_failed_connection_attempts; + } + + /** + * Used for serverside observability. + * + * Generated from protobuf field int64 consecutive_failed_connection_attempts = 3; + * @param int|string $var + * @return $this + */ + public function setConsecutiveFailedConnectionAttempts($var) + { + GPBUtil::checkInt64($var); + $this->consecutive_failed_connection_attempts = $var; + + return $this; + } + + /** + * How the request should be routed (if presented as part of a GOAWAY + * from a previous session). Post V1. + * + * Generated from protobuf field bytes routing_cookie = 4; + * @return string + */ + public function getRoutingCookie() + { + return $this->routing_cookie; + } + + /** + * How the request should be routed (if presented as part of a GOAWAY + * from a previous session). Post V1. + * + * Generated from protobuf field bytes routing_cookie = 4; + * @param string $var + * @return $this + */ + public function setRoutingCookie($var) + { + GPBUtil::checkString($var, False); + $this->routing_cookie = $var; + + return $this; + } + + /** + * Can be Open{Table,AuthorizedView,MaterializedView}Request, + * (or in post-V1, PrepareSqlQueryRequest) + * + * Generated from protobuf field bytes payload = 5; + * @return string + */ + public function getPayload() + { + return $this->payload; + } + + /** + * Can be Open{Table,AuthorizedView,MaterializedView}Request, + * (or in post-V1, PrepareSqlQueryRequest) + * + * Generated from protobuf field bytes payload = 5; + * @param string $var + * @return $this + */ + public function setPayload($var) + { + GPBUtil::checkString($var, False); + $this->payload = $var; + + return $this; + } + +} + diff --git a/src/V2/OpenSessionResponse.php b/src/V2/OpenSessionResponse.php new file mode 100644 index 0000000..8dd5ff6 --- /dev/null +++ b/src/V2/OpenSessionResponse.php @@ -0,0 +1,115 @@ +google.bigtable.v2.OpenSessionResponse + */ +class OpenSessionResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Information on the backend(s) that are hosting this session. + * + * Generated from protobuf field .google.bigtable.v2.BackendIdentifier backend = 2; + */ + protected $backend = null; + /** + * Can be Open{Table,AuthorizedView,MaterializedView}Response, + * (or in post-V1, PrepareSqlQueryResponse) + * + * Generated from protobuf field bytes payload = 1; + */ + protected $payload = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\BackendIdentifier $backend + * Information on the backend(s) that are hosting this session. + * @type string $payload + * Can be Open{Table,AuthorizedView,MaterializedView}Response, + * (or in post-V1, PrepareSqlQueryResponse) + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Information on the backend(s) that are hosting this session. + * + * Generated from protobuf field .google.bigtable.v2.BackendIdentifier backend = 2; + * @return \Google\Cloud\Bigtable\V2\BackendIdentifier|null + */ + public function getBackend() + { + return $this->backend; + } + + public function hasBackend() + { + return isset($this->backend); + } + + public function clearBackend() + { + unset($this->backend); + } + + /** + * Information on the backend(s) that are hosting this session. + * + * Generated from protobuf field .google.bigtable.v2.BackendIdentifier backend = 2; + * @param \Google\Cloud\Bigtable\V2\BackendIdentifier $var + * @return $this + */ + public function setBackend($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\BackendIdentifier::class); + $this->backend = $var; + + return $this; + } + + /** + * Can be Open{Table,AuthorizedView,MaterializedView}Response, + * (or in post-V1, PrepareSqlQueryResponse) + * + * Generated from protobuf field bytes payload = 1; + * @return string + */ + public function getPayload() + { + return $this->payload; + } + + /** + * Can be Open{Table,AuthorizedView,MaterializedView}Response, + * (or in post-V1, PrepareSqlQueryResponse) + * + * Generated from protobuf field bytes payload = 1; + * @param string $var + * @return $this + */ + public function setPayload($var) + { + GPBUtil::checkString($var, False); + $this->payload = $var; + + return $this; + } + +} + diff --git a/src/V2/OpenTableRequest.php b/src/V2/OpenTableRequest.php new file mode 100644 index 0000000..677c2ff --- /dev/null +++ b/src/V2/OpenTableRequest.php @@ -0,0 +1,114 @@ +google.bigtable.v2.OpenTableRequest + */ +class OpenTableRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string table_name = 1; + */ + protected $table_name = ''; + /** + * Generated from protobuf field string app_profile_id = 2; + */ + protected $app_profile_id = ''; + /** + * Generated from protobuf field .google.bigtable.v2.OpenTableRequest.Permission permission = 3; + */ + protected $permission = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $table_name + * @type string $app_profile_id + * @type int $permission + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string table_name = 1; + * @return string + */ + public function getTableName() + { + return $this->table_name; + } + + /** + * Generated from protobuf field string table_name = 1; + * @param string $var + * @return $this + */ + public function setTableName($var) + { + GPBUtil::checkString($var, True); + $this->table_name = $var; + + return $this; + } + + /** + * Generated from protobuf field string app_profile_id = 2; + * @return string + */ + public function getAppProfileId() + { + return $this->app_profile_id; + } + + /** + * Generated from protobuf field string app_profile_id = 2; + * @param string $var + * @return $this + */ + public function setAppProfileId($var) + { + GPBUtil::checkString($var, True); + $this->app_profile_id = $var; + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.OpenTableRequest.Permission permission = 3; + * @return int + */ + public function getPermission() + { + return $this->permission; + } + + /** + * Generated from protobuf field .google.bigtable.v2.OpenTableRequest.Permission permission = 3; + * @param int $var + * @return $this + */ + public function setPermission($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Bigtable\V2\OpenTableRequest\Permission::class); + $this->permission = $var; + + return $this; + } + +} + diff --git a/src/V2/OpenTableRequest/Permission.php b/src/V2/OpenTableRequest/Permission.php new file mode 100644 index 0000000..933fc3d --- /dev/null +++ b/src/V2/OpenTableRequest/Permission.php @@ -0,0 +1,58 @@ +google.bigtable.v2.OpenTableRequest.Permission + */ +class Permission +{ + /** + * Generated from protobuf enum PERMISSION_UNSET = 0; + */ + const PERMISSION_UNSET = 0; + /** + * Generated from protobuf enum PERMISSION_READ = 1; + */ + const PERMISSION_READ = 1; + /** + * Generated from protobuf enum PERMISSION_WRITE = 2; + */ + const PERMISSION_WRITE = 2; + /** + * Generated from protobuf enum PERMISSION_READ_WRITE = 3; + */ + const PERMISSION_READ_WRITE = 3; + + private static $valueToName = [ + self::PERMISSION_UNSET => 'PERMISSION_UNSET', + self::PERMISSION_READ => 'PERMISSION_READ', + self::PERMISSION_WRITE => 'PERMISSION_WRITE', + self::PERMISSION_READ_WRITE => 'PERMISSION_READ_WRITE', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/src/V2/OpenTableResponse.php b/src/V2/OpenTableResponse.php new file mode 100644 index 0000000..0f4addc --- /dev/null +++ b/src/V2/OpenTableResponse.php @@ -0,0 +1,33 @@ +google.bigtable.v2.OpenTableResponse + */ +class OpenTableResponse extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + +} + diff --git a/src/V2/PeerInfo.php b/src/V2/PeerInfo.php index 7c95823..33d069f 100644 --- a/src/V2/PeerInfo.php +++ b/src/V2/PeerInfo.php @@ -30,15 +30,23 @@ class PeerInfo extends \Google\Protobuf\Internal\Message * Generated from protobuf field int64 application_frontend_id = 2; */ protected $application_frontend_id = 0; + /** + * The Cloud region of the application frontend that served this request. + * + * Generated from protobuf field string application_frontend_region = 6; + */ + protected $application_frontend_region = ''; /** * The Cloud zone of the application frontend that served this request. * - * Generated from protobuf field string application_frontend_zone = 3; + * Generated from protobuf field string application_frontend_zone = 3 [deprecated = true]; + * @deprecated */ protected $application_frontend_zone = ''; /** * The subzone of the application frontend that served this request, e.g. an - * identifier for where within the zone the application frontend is. + * identifier for where within a zone (within the reported region) the + * application frontend is. * * Generated from protobuf field string application_frontend_subzone = 4; */ @@ -60,11 +68,14 @@ class PeerInfo extends \Google\Protobuf\Internal\Message * @type int|string $application_frontend_id * An opaque identifier for the application frontend which serviced this * request. + * @type string $application_frontend_region + * The Cloud region of the application frontend that served this request. * @type string $application_frontend_zone * The Cloud zone of the application frontend that served this request. * @type string $application_frontend_subzone * The subzone of the application frontend that served this request, e.g. an - * identifier for where within the zone the application frontend is. + * identifier for where within a zone (within the reported region) the + * application frontend is. * @type int $transport_type * } */ @@ -129,26 +140,58 @@ public function setApplicationFrontendId($var) return $this; } + /** + * The Cloud region of the application frontend that served this request. + * + * Generated from protobuf field string application_frontend_region = 6; + * @return string + */ + public function getApplicationFrontendRegion() + { + return $this->application_frontend_region; + } + + /** + * The Cloud region of the application frontend that served this request. + * + * Generated from protobuf field string application_frontend_region = 6; + * @param string $var + * @return $this + */ + public function setApplicationFrontendRegion($var) + { + GPBUtil::checkString($var, True); + $this->application_frontend_region = $var; + + return $this; + } + /** * The Cloud zone of the application frontend that served this request. * - * Generated from protobuf field string application_frontend_zone = 3; + * Generated from protobuf field string application_frontend_zone = 3 [deprecated = true]; * @return string + * @deprecated */ public function getApplicationFrontendZone() { + if ($this->application_frontend_zone !== '') { + @trigger_error('application_frontend_zone is deprecated.', E_USER_DEPRECATED); + } return $this->application_frontend_zone; } /** * The Cloud zone of the application frontend that served this request. * - * Generated from protobuf field string application_frontend_zone = 3; + * Generated from protobuf field string application_frontend_zone = 3 [deprecated = true]; * @param string $var * @return $this + * @deprecated */ public function setApplicationFrontendZone($var) { + @trigger_error('application_frontend_zone is deprecated.', E_USER_DEPRECATED); GPBUtil::checkString($var, True); $this->application_frontend_zone = $var; @@ -157,7 +200,8 @@ public function setApplicationFrontendZone($var) /** * The subzone of the application frontend that served this request, e.g. an - * identifier for where within the zone the application frontend is. + * identifier for where within a zone (within the reported region) the + * application frontend is. * * Generated from protobuf field string application_frontend_subzone = 4; * @return string @@ -169,7 +213,8 @@ public function getApplicationFrontendSubzone() /** * The subzone of the application frontend that served this request, e.g. an - * identifier for where within the zone the application frontend is. + * identifier for where within a zone (within the reported region) the + * application frontend is. * * Generated from protobuf field string application_frontend_subzone = 4; * @param string $var diff --git a/src/V2/SessionClientConfiguration.php b/src/V2/SessionClientConfiguration.php new file mode 100644 index 0000000..61a037b --- /dev/null +++ b/src/V2/SessionClientConfiguration.php @@ -0,0 +1,207 @@ +google.bigtable.v2.SessionClientConfiguration + */ +class SessionClientConfiguration extends \Google\Protobuf\Internal\Message +{ + /** + * What share of requests should operate on a session, [0, 1]. The rest + * should operate on the old-style API. + * + * Generated from protobuf field float session_load = 1; + */ + protected $session_load = 0.0; + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions load_balancing_options = 2 [deprecated = true]; + * @deprecated + */ + protected $load_balancing_options = null; + /** + * Configuration for the channel pool. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration channel_configuration = 3; + */ + protected $channel_configuration = null; + /** + * Configuration for the session pools. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.SessionPoolConfiguration session_pool_configuration = 4; + */ + protected $session_pool_configuration = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type float $session_load + * What share of requests should operate on a session, [0, 1]. The rest + * should operate on the old-style API. + * @type \Google\Cloud\Bigtable\V2\LoadBalancingOptions $load_balancing_options + * @type \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration $channel_configuration + * Configuration for the channel pool. + * @type \Google\Cloud\Bigtable\V2\SessionClientConfiguration\SessionPoolConfiguration $session_pool_configuration + * Configuration for the session pools. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * What share of requests should operate on a session, [0, 1]. The rest + * should operate on the old-style API. + * + * Generated from protobuf field float session_load = 1; + * @return float + */ + public function getSessionLoad() + { + return $this->session_load; + } + + /** + * What share of requests should operate on a session, [0, 1]. The rest + * should operate on the old-style API. + * + * Generated from protobuf field float session_load = 1; + * @param float $var + * @return $this + */ + public function setSessionLoad($var) + { + GPBUtil::checkFloat($var); + $this->session_load = $var; + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions load_balancing_options = 2 [deprecated = true]; + * @return \Google\Cloud\Bigtable\V2\LoadBalancingOptions|null + * @deprecated + */ + public function getLoadBalancingOptions() + { + if (isset($this->load_balancing_options)) { + @trigger_error('load_balancing_options is deprecated.', E_USER_DEPRECATED); + } + return $this->load_balancing_options; + } + + public function hasLoadBalancingOptions() + { + if (isset($this->load_balancing_options)) { + @trigger_error('load_balancing_options is deprecated.', E_USER_DEPRECATED); + } + return isset($this->load_balancing_options); + } + + public function clearLoadBalancingOptions() + { + @trigger_error('load_balancing_options is deprecated.', E_USER_DEPRECATED); + unset($this->load_balancing_options); + } + + /** + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions load_balancing_options = 2 [deprecated = true]; + * @param \Google\Cloud\Bigtable\V2\LoadBalancingOptions $var + * @return $this + * @deprecated + */ + public function setLoadBalancingOptions($var) + { + @trigger_error('load_balancing_options is deprecated.', E_USER_DEPRECATED); + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\LoadBalancingOptions::class); + $this->load_balancing_options = $var; + + return $this; + } + + /** + * Configuration for the channel pool. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration channel_configuration = 3; + * @return \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration|null + */ + public function getChannelConfiguration() + { + return $this->channel_configuration; + } + + public function hasChannelConfiguration() + { + return isset($this->channel_configuration); + } + + public function clearChannelConfiguration() + { + unset($this->channel_configuration); + } + + /** + * Configuration for the channel pool. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration channel_configuration = 3; + * @param \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration $var + * @return $this + */ + public function setChannelConfiguration($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration::class); + $this->channel_configuration = $var; + + return $this; + } + + /** + * Configuration for the session pools. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.SessionPoolConfiguration session_pool_configuration = 4; + * @return \Google\Cloud\Bigtable\V2\SessionClientConfiguration\SessionPoolConfiguration|null + */ + public function getSessionPoolConfiguration() + { + return $this->session_pool_configuration; + } + + public function hasSessionPoolConfiguration() + { + return isset($this->session_pool_configuration); + } + + public function clearSessionPoolConfiguration() + { + unset($this->session_pool_configuration); + } + + /** + * Configuration for the session pools. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.SessionPoolConfiguration session_pool_configuration = 4; + * @param \Google\Cloud\Bigtable\V2\SessionClientConfiguration\SessionPoolConfiguration $var + * @return $this + */ + public function setSessionPoolConfiguration($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionClientConfiguration\SessionPoolConfiguration::class); + $this->session_pool_configuration = $var; + + return $this; + } + +} + diff --git a/src/V2/SessionClientConfiguration/ChannelPoolConfiguration.php b/src/V2/SessionClientConfiguration/ChannelPoolConfiguration.php new file mode 100644 index 0000000..7314ae9 --- /dev/null +++ b/src/V2/SessionClientConfiguration/ChannelPoolConfiguration.php @@ -0,0 +1,275 @@ +google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration + */ +class ChannelPoolConfiguration extends \Google\Protobuf\Internal\Message +{ + /** + * The minimum number of distcint servers to connect to in the channel pool. + * The client will ensure that the channel pool will have at least this many + * distinct servers, but may have multiple channels connected to the same + * server (e.g. the client may have M channels on N machines, where M > N). + * + * Generated from protobuf field int32 min_server_count = 1; + */ + protected $min_server_count = 0; + /** + * The maximum number of distinct servers to connect to in the channel pool. + * The client will ensure that the channel pool will have at most this many + * distinct servers. + * + * Generated from protobuf field int32 max_server_count = 2; + */ + protected $max_server_count = 0; + /** + * Soft maximum for how many sessions are allowed per server. Normally, the + * client will ensure that it does not host more than this count of sessions + * per server, unless there are other limits encountered (e.g. the connected + * servers is already at max_servers). + * + * Generated from protobuf field int32 per_server_session_count = 3; + */ + protected $per_server_session_count = 0; + protected $mode; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $min_server_count + * The minimum number of distcint servers to connect to in the channel pool. + * The client will ensure that the channel pool will have at least this many + * distinct servers, but may have multiple channels connected to the same + * server (e.g. the client may have M channels on N machines, where M > N). + * @type int $max_server_count + * The maximum number of distinct servers to connect to in the channel pool. + * The client will ensure that the channel pool will have at most this many + * distinct servers. + * @type int $per_server_session_count + * Soft maximum for how many sessions are allowed per server. Normally, the + * client will ensure that it does not host more than this count of sessions + * per server, unless there are other limits encountered (e.g. the connected + * servers is already at max_servers). + * @type \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\DirectAccessWithFallback $direct_access_with_fallback + * DirectAccess with a fallback to CloudPath. + * @type \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\DirectAccessOnly $direct_access_only + * DirectAccess only. + * @type \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\CloudPathOnly $cloud_path_only + * CloudPath only. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * The minimum number of distcint servers to connect to in the channel pool. + * The client will ensure that the channel pool will have at least this many + * distinct servers, but may have multiple channels connected to the same + * server (e.g. the client may have M channels on N machines, where M > N). + * + * Generated from protobuf field int32 min_server_count = 1; + * @return int + */ + public function getMinServerCount() + { + return $this->min_server_count; + } + + /** + * The minimum number of distcint servers to connect to in the channel pool. + * The client will ensure that the channel pool will have at least this many + * distinct servers, but may have multiple channels connected to the same + * server (e.g. the client may have M channels on N machines, where M > N). + * + * Generated from protobuf field int32 min_server_count = 1; + * @param int $var + * @return $this + */ + public function setMinServerCount($var) + { + GPBUtil::checkInt32($var); + $this->min_server_count = $var; + + return $this; + } + + /** + * The maximum number of distinct servers to connect to in the channel pool. + * The client will ensure that the channel pool will have at most this many + * distinct servers. + * + * Generated from protobuf field int32 max_server_count = 2; + * @return int + */ + public function getMaxServerCount() + { + return $this->max_server_count; + } + + /** + * The maximum number of distinct servers to connect to in the channel pool. + * The client will ensure that the channel pool will have at most this many + * distinct servers. + * + * Generated from protobuf field int32 max_server_count = 2; + * @param int $var + * @return $this + */ + public function setMaxServerCount($var) + { + GPBUtil::checkInt32($var); + $this->max_server_count = $var; + + return $this; + } + + /** + * Soft maximum for how many sessions are allowed per server. Normally, the + * client will ensure that it does not host more than this count of sessions + * per server, unless there are other limits encountered (e.g. the connected + * servers is already at max_servers). + * + * Generated from protobuf field int32 per_server_session_count = 3; + * @return int + */ + public function getPerServerSessionCount() + { + return $this->per_server_session_count; + } + + /** + * Soft maximum for how many sessions are allowed per server. Normally, the + * client will ensure that it does not host more than this count of sessions + * per server, unless there are other limits encountered (e.g. the connected + * servers is already at max_servers). + * + * Generated from protobuf field int32 per_server_session_count = 3; + * @param int $var + * @return $this + */ + public function setPerServerSessionCount($var) + { + GPBUtil::checkInt32($var); + $this->per_server_session_count = $var; + + return $this; + } + + /** + * DirectAccess with a fallback to CloudPath. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessWithFallback direct_access_with_fallback = 4; + * @return \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\DirectAccessWithFallback|null + */ + public function getDirectAccessWithFallback() + { + return $this->readOneof(4); + } + + public function hasDirectAccessWithFallback() + { + return $this->hasOneof(4); + } + + /** + * DirectAccess with a fallback to CloudPath. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessWithFallback direct_access_with_fallback = 4; + * @param \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\DirectAccessWithFallback $var + * @return $this + */ + public function setDirectAccessWithFallback($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\DirectAccessWithFallback::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * DirectAccess only. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessOnly direct_access_only = 5; + * @return \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\DirectAccessOnly|null + */ + public function getDirectAccessOnly() + { + return $this->readOneof(5); + } + + public function hasDirectAccessOnly() + { + return $this->hasOneof(5); + } + + /** + * DirectAccess only. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessOnly direct_access_only = 5; + * @param \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\DirectAccessOnly $var + * @return $this + */ + public function setDirectAccessOnly($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\DirectAccessOnly::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * CloudPath only. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.CloudPathOnly cloud_path_only = 6; + * @return \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\CloudPathOnly|null + */ + public function getCloudPathOnly() + { + return $this->readOneof(6); + } + + public function hasCloudPathOnly() + { + return $this->hasOneof(6); + } + + /** + * CloudPath only. + * + * Generated from protobuf field .google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.CloudPathOnly cloud_path_only = 6; + * @param \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\CloudPathOnly $var + * @return $this + */ + public function setCloudPathOnly($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionClientConfiguration\ChannelPoolConfiguration\CloudPathOnly::class); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * @return string + */ + public function getMode() + { + return $this->whichOneof("mode"); + } + +} + diff --git a/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/CloudPathOnly.php b/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/CloudPathOnly.php new file mode 100644 index 0000000..cc16000 --- /dev/null +++ b/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/CloudPathOnly.php @@ -0,0 +1,33 @@ +google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.CloudPathOnly + */ +class CloudPathOnly extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + +} + diff --git a/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/DirectAccessOnly.php b/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/DirectAccessOnly.php new file mode 100644 index 0000000..8727f33 --- /dev/null +++ b/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/DirectAccessOnly.php @@ -0,0 +1,33 @@ +google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessOnly + */ +class DirectAccessOnly extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + +} + diff --git a/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/DirectAccessWithFallback.php b/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/DirectAccessWithFallback.php new file mode 100644 index 0000000..1ba7715 --- /dev/null +++ b/src/V2/SessionClientConfiguration/ChannelPoolConfiguration/DirectAccessWithFallback.php @@ -0,0 +1,128 @@ +google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessWithFallback + */ +class DirectAccessWithFallback extends \Google\Protobuf\Internal\Message +{ + /** + * The threshold for errors on DirectAccess to trigger CloudPath fallback. + * The error rate is calculated based on a count of vRPCs with errors + * divided by a total count of vRPCs, over a rolling window of the past + * check_interval. If this ratio exceeds this threshold, the fallback to + * CloudPath is triggered. [0, 1]. + * + * Generated from protobuf field float error_rate_threshold = 1; + */ + protected $error_rate_threshold = 0.0; + /** + * The interval to check the error rate over. + * + * Generated from protobuf field .google.protobuf.Duration check_interval = 2; + */ + protected $check_interval = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type float $error_rate_threshold + * The threshold for errors on DirectAccess to trigger CloudPath fallback. + * The error rate is calculated based on a count of vRPCs with errors + * divided by a total count of vRPCs, over a rolling window of the past + * check_interval. If this ratio exceeds this threshold, the fallback to + * CloudPath is triggered. [0, 1]. + * @type \Google\Protobuf\Duration $check_interval + * The interval to check the error rate over. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * The threshold for errors on DirectAccess to trigger CloudPath fallback. + * The error rate is calculated based on a count of vRPCs with errors + * divided by a total count of vRPCs, over a rolling window of the past + * check_interval. If this ratio exceeds this threshold, the fallback to + * CloudPath is triggered. [0, 1]. + * + * Generated from protobuf field float error_rate_threshold = 1; + * @return float + */ + public function getErrorRateThreshold() + { + return $this->error_rate_threshold; + } + + /** + * The threshold for errors on DirectAccess to trigger CloudPath fallback. + * The error rate is calculated based on a count of vRPCs with errors + * divided by a total count of vRPCs, over a rolling window of the past + * check_interval. If this ratio exceeds this threshold, the fallback to + * CloudPath is triggered. [0, 1]. + * + * Generated from protobuf field float error_rate_threshold = 1; + * @param float $var + * @return $this + */ + public function setErrorRateThreshold($var) + { + GPBUtil::checkFloat($var); + $this->error_rate_threshold = $var; + + return $this; + } + + /** + * The interval to check the error rate over. + * + * Generated from protobuf field .google.protobuf.Duration check_interval = 2; + * @return \Google\Protobuf\Duration|null + */ + public function getCheckInterval() + { + return $this->check_interval; + } + + public function hasCheckInterval() + { + return isset($this->check_interval); + } + + public function clearCheckInterval() + { + unset($this->check_interval); + } + + /** + * The interval to check the error rate over. + * + * Generated from protobuf field .google.protobuf.Duration check_interval = 2; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setCheckInterval($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->check_interval = $var; + + return $this; + } + +} + diff --git a/src/V2/SessionClientConfiguration/SessionPoolConfiguration.php b/src/V2/SessionClientConfiguration/SessionPoolConfiguration.php new file mode 100644 index 0000000..69412e1 --- /dev/null +++ b/src/V2/SessionClientConfiguration/SessionPoolConfiguration.php @@ -0,0 +1,370 @@ +google.bigtable.v2.SessionClientConfiguration.SessionPoolConfiguration + */ +class SessionPoolConfiguration extends \Google\Protobuf\Internal\Message +{ + /** + * Fraction of idle sessions to keep in order to manage an increase in + * requests-in-flight. For example, a headroom of 0.5 will keep enough + * sessions to deal with a 50% increase in QPS. + * + * Generated from protobuf field float headroom = 1; + */ + protected $headroom = 0.0; + /** + * The minimum number of sessions for a given scope. + * + * Generated from protobuf field int32 min_session_count = 2; + */ + protected $min_session_count = 0; + /** + * The maximum number of sessions for a given scope. + * + * Generated from protobuf field int32 max_session_count = 3; + */ + protected $max_session_count = 0; + /** + * Number of vRPCs that can be queued per starting session. + * + * Generated from protobuf field int32 new_session_queue_length = 4; + */ + protected $new_session_queue_length = 0; + /** + * How many concurrent session establishments are allowed. The client will + * hold onto a count against this budget whenever it is establishing a new + * session, and release that count once the session is successfully + * established or failed to establish. + * + * Generated from protobuf field int32 new_session_creation_budget = 5; + */ + protected $new_session_creation_budget = 0; + /** + * How long to penalize the creation budget for a failed session creation + * attempt. + * + * Generated from protobuf field .google.protobuf.Duration new_session_creation_penalty = 6; + */ + protected $new_session_creation_penalty = null; + /** + * A threshold for cancelling all pending vRPCs based on how many + * consecutive session establishment errors have been observed. The client + * will eagerly cancel queued vRPCs after this threshold is met to avoid + * them waiting their entire deadlines before terminating (while waiting for + * any session to establish to actually send the vRPC). + * + * Generated from protobuf field int32 consecutive_session_failure_threshold = 8; + */ + protected $consecutive_session_failure_threshold = 0; + /** + * How to balance vRPC load over connections to AFEs. + * Set only if session_load > 0. + * + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions load_balancing_options = 9; + */ + protected $load_balancing_options = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type float $headroom + * Fraction of idle sessions to keep in order to manage an increase in + * requests-in-flight. For example, a headroom of 0.5 will keep enough + * sessions to deal with a 50% increase in QPS. + * @type int $min_session_count + * The minimum number of sessions for a given scope. + * @type int $max_session_count + * The maximum number of sessions for a given scope. + * @type int $new_session_queue_length + * Number of vRPCs that can be queued per starting session. + * @type int $new_session_creation_budget + * How many concurrent session establishments are allowed. The client will + * hold onto a count against this budget whenever it is establishing a new + * session, and release that count once the session is successfully + * established or failed to establish. + * @type \Google\Protobuf\Duration $new_session_creation_penalty + * How long to penalize the creation budget for a failed session creation + * attempt. + * @type int $consecutive_session_failure_threshold + * A threshold for cancelling all pending vRPCs based on how many + * consecutive session establishment errors have been observed. The client + * will eagerly cancel queued vRPCs after this threshold is met to avoid + * them waiting their entire deadlines before terminating (while waiting for + * any session to establish to actually send the vRPC). + * @type \Google\Cloud\Bigtable\V2\LoadBalancingOptions $load_balancing_options + * How to balance vRPC load over connections to AFEs. + * Set only if session_load > 0. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Fraction of idle sessions to keep in order to manage an increase in + * requests-in-flight. For example, a headroom of 0.5 will keep enough + * sessions to deal with a 50% increase in QPS. + * + * Generated from protobuf field float headroom = 1; + * @return float + */ + public function getHeadroom() + { + return $this->headroom; + } + + /** + * Fraction of idle sessions to keep in order to manage an increase in + * requests-in-flight. For example, a headroom of 0.5 will keep enough + * sessions to deal with a 50% increase in QPS. + * + * Generated from protobuf field float headroom = 1; + * @param float $var + * @return $this + */ + public function setHeadroom($var) + { + GPBUtil::checkFloat($var); + $this->headroom = $var; + + return $this; + } + + /** + * The minimum number of sessions for a given scope. + * + * Generated from protobuf field int32 min_session_count = 2; + * @return int + */ + public function getMinSessionCount() + { + return $this->min_session_count; + } + + /** + * The minimum number of sessions for a given scope. + * + * Generated from protobuf field int32 min_session_count = 2; + * @param int $var + * @return $this + */ + public function setMinSessionCount($var) + { + GPBUtil::checkInt32($var); + $this->min_session_count = $var; + + return $this; + } + + /** + * The maximum number of sessions for a given scope. + * + * Generated from protobuf field int32 max_session_count = 3; + * @return int + */ + public function getMaxSessionCount() + { + return $this->max_session_count; + } + + /** + * The maximum number of sessions for a given scope. + * + * Generated from protobuf field int32 max_session_count = 3; + * @param int $var + * @return $this + */ + public function setMaxSessionCount($var) + { + GPBUtil::checkInt32($var); + $this->max_session_count = $var; + + return $this; + } + + /** + * Number of vRPCs that can be queued per starting session. + * + * Generated from protobuf field int32 new_session_queue_length = 4; + * @return int + */ + public function getNewSessionQueueLength() + { + return $this->new_session_queue_length; + } + + /** + * Number of vRPCs that can be queued per starting session. + * + * Generated from protobuf field int32 new_session_queue_length = 4; + * @param int $var + * @return $this + */ + public function setNewSessionQueueLength($var) + { + GPBUtil::checkInt32($var); + $this->new_session_queue_length = $var; + + return $this; + } + + /** + * How many concurrent session establishments are allowed. The client will + * hold onto a count against this budget whenever it is establishing a new + * session, and release that count once the session is successfully + * established or failed to establish. + * + * Generated from protobuf field int32 new_session_creation_budget = 5; + * @return int + */ + public function getNewSessionCreationBudget() + { + return $this->new_session_creation_budget; + } + + /** + * How many concurrent session establishments are allowed. The client will + * hold onto a count against this budget whenever it is establishing a new + * session, and release that count once the session is successfully + * established or failed to establish. + * + * Generated from protobuf field int32 new_session_creation_budget = 5; + * @param int $var + * @return $this + */ + public function setNewSessionCreationBudget($var) + { + GPBUtil::checkInt32($var); + $this->new_session_creation_budget = $var; + + return $this; + } + + /** + * How long to penalize the creation budget for a failed session creation + * attempt. + * + * Generated from protobuf field .google.protobuf.Duration new_session_creation_penalty = 6; + * @return \Google\Protobuf\Duration|null + */ + public function getNewSessionCreationPenalty() + { + return $this->new_session_creation_penalty; + } + + public function hasNewSessionCreationPenalty() + { + return isset($this->new_session_creation_penalty); + } + + public function clearNewSessionCreationPenalty() + { + unset($this->new_session_creation_penalty); + } + + /** + * How long to penalize the creation budget for a failed session creation + * attempt. + * + * Generated from protobuf field .google.protobuf.Duration new_session_creation_penalty = 6; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setNewSessionCreationPenalty($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->new_session_creation_penalty = $var; + + return $this; + } + + /** + * A threshold for cancelling all pending vRPCs based on how many + * consecutive session establishment errors have been observed. The client + * will eagerly cancel queued vRPCs after this threshold is met to avoid + * them waiting their entire deadlines before terminating (while waiting for + * any session to establish to actually send the vRPC). + * + * Generated from protobuf field int32 consecutive_session_failure_threshold = 8; + * @return int + */ + public function getConsecutiveSessionFailureThreshold() + { + return $this->consecutive_session_failure_threshold; + } + + /** + * A threshold for cancelling all pending vRPCs based on how many + * consecutive session establishment errors have been observed. The client + * will eagerly cancel queued vRPCs after this threshold is met to avoid + * them waiting their entire deadlines before terminating (while waiting for + * any session to establish to actually send the vRPC). + * + * Generated from protobuf field int32 consecutive_session_failure_threshold = 8; + * @param int $var + * @return $this + */ + public function setConsecutiveSessionFailureThreshold($var) + { + GPBUtil::checkInt32($var); + $this->consecutive_session_failure_threshold = $var; + + return $this; + } + + /** + * How to balance vRPC load over connections to AFEs. + * Set only if session_load > 0. + * + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions load_balancing_options = 9; + * @return \Google\Cloud\Bigtable\V2\LoadBalancingOptions|null + */ + public function getLoadBalancingOptions() + { + return $this->load_balancing_options; + } + + public function hasLoadBalancingOptions() + { + return isset($this->load_balancing_options); + } + + public function clearLoadBalancingOptions() + { + unset($this->load_balancing_options); + } + + /** + * How to balance vRPC load over connections to AFEs. + * Set only if session_load > 0. + * + * Generated from protobuf field .google.bigtable.v2.LoadBalancingOptions load_balancing_options = 9; + * @param \Google\Cloud\Bigtable\V2\LoadBalancingOptions $var + * @return $this + */ + public function setLoadBalancingOptions($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\LoadBalancingOptions::class); + $this->load_balancing_options = $var; + + return $this; + } + +} + diff --git a/src/V2/SessionMutateRowRequest.php b/src/V2/SessionMutateRowRequest.php new file mode 100644 index 0000000..2190d30 --- /dev/null +++ b/src/V2/SessionMutateRowRequest.php @@ -0,0 +1,87 @@ +google.bigtable.v2.SessionMutateRowRequest + */ +class SessionMutateRowRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field bytes key = 1; + */ + protected $key = ''; + /** + * Generated from protobuf field repeated .google.bigtable.v2.Mutation mutations = 2; + */ + private $mutations; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $key + * @type \Google\Cloud\Bigtable\V2\Mutation[] $mutations + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field bytes key = 1; + * @return string + */ + public function getKey() + { + return $this->key; + } + + /** + * Generated from protobuf field bytes key = 1; + * @param string $var + * @return $this + */ + public function setKey($var) + { + GPBUtil::checkString($var, False); + $this->key = $var; + + return $this; + } + + /** + * Generated from protobuf field repeated .google.bigtable.v2.Mutation mutations = 2; + * @return RepeatedField<\Google\Cloud\Bigtable\V2\Mutation> + */ + public function getMutations() + { + return $this->mutations; + } + + /** + * Generated from protobuf field repeated .google.bigtable.v2.Mutation mutations = 2; + * @param \Google\Cloud\Bigtable\V2\Mutation[] $var + * @return $this + */ + public function setMutations($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Bigtable\V2\Mutation::class); + $this->mutations = $arr; + + return $this; + } + +} + diff --git a/src/V2/SessionMutateRowResponse.php b/src/V2/SessionMutateRowResponse.php new file mode 100644 index 0000000..60d9f7c --- /dev/null +++ b/src/V2/SessionMutateRowResponse.php @@ -0,0 +1,33 @@ +google.bigtable.v2.SessionMutateRowResponse + */ +class SessionMutateRowResponse extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + +} + diff --git a/src/V2/SessionParametersResponse.php b/src/V2/SessionParametersResponse.php new file mode 100644 index 0000000..f3eef1c --- /dev/null +++ b/src/V2/SessionParametersResponse.php @@ -0,0 +1,93 @@ +google.bigtable.v2.SessionParametersResponse + */ +class SessionParametersResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Maximum time between messages that the AFE will send to the client. The + * client may use this information to determine its control-flow in relation + * to pruning black-holed or otherwise non-responsive sessions. Must be set + * and positive. + * See also Heartbeats. + * + * Generated from protobuf field .google.protobuf.Duration keep_alive = 1; + */ + protected $keep_alive = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Duration $keep_alive + * Maximum time between messages that the AFE will send to the client. The + * client may use this information to determine its control-flow in relation + * to pruning black-holed or otherwise non-responsive sessions. Must be set + * and positive. + * See also Heartbeats. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Maximum time between messages that the AFE will send to the client. The + * client may use this information to determine its control-flow in relation + * to pruning black-holed or otherwise non-responsive sessions. Must be set + * and positive. + * See also Heartbeats. + * + * Generated from protobuf field .google.protobuf.Duration keep_alive = 1; + * @return \Google\Protobuf\Duration|null + */ + public function getKeepAlive() + { + return $this->keep_alive; + } + + public function hasKeepAlive() + { + return isset($this->keep_alive); + } + + public function clearKeepAlive() + { + unset($this->keep_alive); + } + + /** + * Maximum time between messages that the AFE will send to the client. The + * client may use this information to determine its control-flow in relation + * to pruning black-holed or otherwise non-responsive sessions. Must be set + * and positive. + * See also Heartbeats. + * + * Generated from protobuf field .google.protobuf.Duration keep_alive = 1; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setKeepAlive($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->keep_alive = $var; + + return $this; + } + +} + diff --git a/src/V2/SessionReadRowRequest.php b/src/V2/SessionReadRowRequest.php new file mode 100644 index 0000000..78d2156 --- /dev/null +++ b/src/V2/SessionReadRowRequest.php @@ -0,0 +1,97 @@ +google.bigtable.v2.SessionReadRowRequest + */ +class SessionReadRowRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field bytes key = 1; + */ + protected $key = ''; + /** + * Generated from protobuf field .google.bigtable.v2.RowFilter filter = 2; + */ + protected $filter = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $key + * @type \Google\Cloud\Bigtable\V2\RowFilter $filter + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field bytes key = 1; + * @return string + */ + public function getKey() + { + return $this->key; + } + + /** + * Generated from protobuf field bytes key = 1; + * @param string $var + * @return $this + */ + public function setKey($var) + { + GPBUtil::checkString($var, False); + $this->key = $var; + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.RowFilter filter = 2; + * @return \Google\Cloud\Bigtable\V2\RowFilter|null + */ + public function getFilter() + { + return $this->filter; + } + + public function hasFilter() + { + return isset($this->filter); + } + + public function clearFilter() + { + unset($this->filter); + } + + /** + * Generated from protobuf field .google.bigtable.v2.RowFilter filter = 2; + * @param \Google\Cloud\Bigtable\V2\RowFilter $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\RowFilter::class); + $this->filter = $var; + + return $this; + } + +} + diff --git a/src/V2/SessionReadRowResponse.php b/src/V2/SessionReadRowResponse.php new file mode 100644 index 0000000..b6ab35b --- /dev/null +++ b/src/V2/SessionReadRowResponse.php @@ -0,0 +1,107 @@ +google.bigtable.v2.SessionReadRowResponse + */ +class SessionReadRowResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field .google.bigtable.v2.Row row = 1; + */ + protected $row = null; + /** + * Generated from protobuf field .google.bigtable.v2.RequestStats stats = 2; + */ + protected $stats = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\Row $row + * @type \Google\Cloud\Bigtable\V2\RequestStats $stats + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.Row row = 1; + * @return \Google\Cloud\Bigtable\V2\Row|null + */ + public function getRow() + { + return $this->row; + } + + public function hasRow() + { + return isset($this->row); + } + + public function clearRow() + { + unset($this->row); + } + + /** + * Generated from protobuf field .google.bigtable.v2.Row row = 1; + * @param \Google\Cloud\Bigtable\V2\Row $var + * @return $this + */ + public function setRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\Row::class); + $this->row = $var; + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.RequestStats stats = 2; + * @return \Google\Cloud\Bigtable\V2\RequestStats|null + */ + public function getStats() + { + return $this->stats; + } + + public function hasStats() + { + return isset($this->stats); + } + + public function clearStats() + { + unset($this->stats); + } + + /** + * Generated from protobuf field .google.bigtable.v2.RequestStats stats = 2; + * @param \Google\Cloud\Bigtable\V2\RequestStats $var + * @return $this + */ + public function setStats($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\RequestStats::class); + $this->stats = $var; + + return $this; + } + +} + diff --git a/src/V2/SessionRefreshConfig.php b/src/V2/SessionRefreshConfig.php new file mode 100644 index 0000000..2e4d1c0 --- /dev/null +++ b/src/V2/SessionRefreshConfig.php @@ -0,0 +1,119 @@ +google.bigtable.v2.SessionRefreshConfig + */ +class SessionRefreshConfig extends \Google\Protobuf\Internal\Message +{ + /** + * An optimized Open request that the session may use on a retry when + * establishing this session again. This can be sent from the AFE to + * avoid certain work e.g. encoding a query plan for BTQL. + * + * Generated from protobuf field .google.bigtable.v2.OpenSessionRequest optimized_open_request = 1; + */ + protected $optimized_open_request = null; + /** + * Output only. Any additional metadata to include when reconnecting. + * + * Generated from protobuf field repeated .google.bigtable.v2.SessionRefreshConfig.Metadata metadata = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $metadata; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\OpenSessionRequest $optimized_open_request + * An optimized Open request that the session may use on a retry when + * establishing this session again. This can be sent from the AFE to + * avoid certain work e.g. encoding a query plan for BTQL. + * @type \Google\Cloud\Bigtable\V2\SessionRefreshConfig\Metadata[] $metadata + * Output only. Any additional metadata to include when reconnecting. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * An optimized Open request that the session may use on a retry when + * establishing this session again. This can be sent from the AFE to + * avoid certain work e.g. encoding a query plan for BTQL. + * + * Generated from protobuf field .google.bigtable.v2.OpenSessionRequest optimized_open_request = 1; + * @return \Google\Cloud\Bigtable\V2\OpenSessionRequest|null + */ + public function getOptimizedOpenRequest() + { + return $this->optimized_open_request; + } + + public function hasOptimizedOpenRequest() + { + return isset($this->optimized_open_request); + } + + public function clearOptimizedOpenRequest() + { + unset($this->optimized_open_request); + } + + /** + * An optimized Open request that the session may use on a retry when + * establishing this session again. This can be sent from the AFE to + * avoid certain work e.g. encoding a query plan for BTQL. + * + * Generated from protobuf field .google.bigtable.v2.OpenSessionRequest optimized_open_request = 1; + * @param \Google\Cloud\Bigtable\V2\OpenSessionRequest $var + * @return $this + */ + public function setOptimizedOpenRequest($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\OpenSessionRequest::class); + $this->optimized_open_request = $var; + + return $this; + } + + /** + * Output only. Any additional metadata to include when reconnecting. + * + * Generated from protobuf field repeated .google.bigtable.v2.SessionRefreshConfig.Metadata metadata = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return RepeatedField<\Google\Cloud\Bigtable\V2\SessionRefreshConfig\Metadata> + */ + public function getMetadata() + { + return $this->metadata; + } + + /** + * Output only. Any additional metadata to include when reconnecting. + * + * Generated from protobuf field repeated .google.bigtable.v2.SessionRefreshConfig.Metadata metadata = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Bigtable\V2\SessionRefreshConfig\Metadata[] $var + * @return $this + */ + public function setMetadata($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Bigtable\V2\SessionRefreshConfig\Metadata::class); + $this->metadata = $arr; + + return $this; + } + +} + diff --git a/src/V2/SessionRefreshConfig/Metadata.php b/src/V2/SessionRefreshConfig/Metadata.php new file mode 100644 index 0000000..27e366d --- /dev/null +++ b/src/V2/SessionRefreshConfig/Metadata.php @@ -0,0 +1,102 @@ +` type as + * this can be a multimap. + * + * Generated from protobuf message google.bigtable.v2.SessionRefreshConfig.Metadata + */ +class Metadata extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The key for the metadata entry. + * + * Generated from protobuf field string key = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $key = ''; + /** + * Output only. The value for the metadata entry. + * + * Generated from protobuf field bytes value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $value = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $key + * Output only. The key for the metadata entry. + * @type string $value + * Output only. The value for the metadata entry. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The key for the metadata entry. + * + * Generated from protobuf field string key = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getKey() + { + return $this->key; + } + + /** + * Output only. The key for the metadata entry. + * + * Generated from protobuf field string key = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setKey($var) + { + GPBUtil::checkString($var, True); + $this->key = $var; + + return $this; + } + + /** + * Output only. The value for the metadata entry. + * + * Generated from protobuf field bytes value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getValue() + { + return $this->value; + } + + /** + * Output only. The value for the metadata entry. + * + * Generated from protobuf field bytes value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setValue($var) + { + GPBUtil::checkString($var, False); + $this->value = $var; + + return $this; + } + +} + diff --git a/src/V2/SessionRequest.php b/src/V2/SessionRequest.php new file mode 100644 index 0000000..07f5c9a --- /dev/null +++ b/src/V2/SessionRequest.php @@ -0,0 +1,126 @@ +google.bigtable.v2.SessionRequest + */ +class SessionRequest extends \Google\Protobuf\Internal\Message +{ + protected $payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\OpenSessionRequest $open_session + * @type \Google\Cloud\Bigtable\V2\CloseSessionRequest $close_session + * @type \Google\Cloud\Bigtable\V2\VirtualRpcRequest $virtual_rpc + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.OpenSessionRequest open_session = 1; + * @return \Google\Cloud\Bigtable\V2\OpenSessionRequest|null + */ + public function getOpenSession() + { + return $this->readOneof(1); + } + + public function hasOpenSession() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.OpenSessionRequest open_session = 1; + * @param \Google\Cloud\Bigtable\V2\OpenSessionRequest $var + * @return $this + */ + public function setOpenSession($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\OpenSessionRequest::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.CloseSessionRequest close_session = 2; + * @return \Google\Cloud\Bigtable\V2\CloseSessionRequest|null + */ + public function getCloseSession() + { + return $this->readOneof(2); + } + + public function hasCloseSession() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .google.bigtable.v2.CloseSessionRequest close_session = 2; + * @param \Google\Cloud\Bigtable\V2\CloseSessionRequest $var + * @return $this + */ + public function setCloseSession($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\CloseSessionRequest::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.VirtualRpcRequest virtual_rpc = 3; + * @return \Google\Cloud\Bigtable\V2\VirtualRpcRequest|null + */ + public function getVirtualRpc() + { + return $this->readOneof(3); + } + + public function hasVirtualRpc() + { + return $this->hasOneof(3); + } + + /** + * Generated from protobuf field .google.bigtable.v2.VirtualRpcRequest virtual_rpc = 3; + * @param \Google\Cloud\Bigtable\V2\VirtualRpcRequest $var + * @return $this + */ + public function setVirtualRpc($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\VirtualRpcRequest::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * @return string + */ + public function getPayload() + { + return $this->whichOneof("payload"); + } + +} + diff --git a/src/V2/SessionRequestStats.php b/src/V2/SessionRequestStats.php new file mode 100644 index 0000000..a885f95 --- /dev/null +++ b/src/V2/SessionRequestStats.php @@ -0,0 +1,77 @@ +google.bigtable.v2.SessionRequestStats + */ +class SessionRequestStats extends \Google\Protobuf\Internal\Message +{ + /** + * Backend (critical section) latency for the request. + * + * Generated from protobuf field .google.protobuf.Duration backend_latency = 1; + */ + protected $backend_latency = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Duration $backend_latency + * Backend (critical section) latency for the request. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Backend (critical section) latency for the request. + * + * Generated from protobuf field .google.protobuf.Duration backend_latency = 1; + * @return \Google\Protobuf\Duration|null + */ + public function getBackendLatency() + { + return $this->backend_latency; + } + + public function hasBackendLatency() + { + return isset($this->backend_latency); + } + + public function clearBackendLatency() + { + unset($this->backend_latency); + } + + /** + * Backend (critical section) latency for the request. + * + * Generated from protobuf field .google.protobuf.Duration backend_latency = 1; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setBackendLatency($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->backend_latency = $var; + + return $this; + } + +} + diff --git a/src/V2/SessionResponse.php b/src/V2/SessionResponse.php new file mode 100644 index 0000000..b735655 --- /dev/null +++ b/src/V2/SessionResponse.php @@ -0,0 +1,249 @@ +google.bigtable.v2.SessionResponse + */ +class SessionResponse extends \Google\Protobuf\Internal\Message +{ + protected $payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\OpenSessionResponse $open_session + * @type \Google\Cloud\Bigtable\V2\VirtualRpcResponse $virtual_rpc + * A vRPC can result in either a successful result or an error. + * Error results are separate to allow for multiple vRPC responses, + * e.g. for streaming calls like scans (post-V1). See Flow Control. + * @type \Google\Cloud\Bigtable\V2\ErrorResponse $error + * @type \Google\Cloud\Bigtable\V2\SessionParametersResponse $session_parameters + * @type \Google\Cloud\Bigtable\V2\HeartbeatResponse $heartbeat + * @type \Google\Cloud\Bigtable\V2\GoAwayResponse $go_away + * @type \Google\Cloud\Bigtable\V2\SessionRefreshConfig $session_refresh_config + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.OpenSessionResponse open_session = 1; + * @return \Google\Cloud\Bigtable\V2\OpenSessionResponse|null + */ + public function getOpenSession() + { + return $this->readOneof(1); + } + + public function hasOpenSession() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.OpenSessionResponse open_session = 1; + * @param \Google\Cloud\Bigtable\V2\OpenSessionResponse $var + * @return $this + */ + public function setOpenSession($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\OpenSessionResponse::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * A vRPC can result in either a successful result or an error. + * Error results are separate to allow for multiple vRPC responses, + * e.g. for streaming calls like scans (post-V1). See Flow Control. + * + * Generated from protobuf field .google.bigtable.v2.VirtualRpcResponse virtual_rpc = 2; + * @return \Google\Cloud\Bigtable\V2\VirtualRpcResponse|null + */ + public function getVirtualRpc() + { + return $this->readOneof(2); + } + + public function hasVirtualRpc() + { + return $this->hasOneof(2); + } + + /** + * A vRPC can result in either a successful result or an error. + * Error results are separate to allow for multiple vRPC responses, + * e.g. for streaming calls like scans (post-V1). See Flow Control. + * + * Generated from protobuf field .google.bigtable.v2.VirtualRpcResponse virtual_rpc = 2; + * @param \Google\Cloud\Bigtable\V2\VirtualRpcResponse $var + * @return $this + */ + public function setVirtualRpc($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\VirtualRpcResponse::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.ErrorResponse error = 3; + * @return \Google\Cloud\Bigtable\V2\ErrorResponse|null + */ + public function getError() + { + return $this->readOneof(3); + } + + public function hasError() + { + return $this->hasOneof(3); + } + + /** + * Generated from protobuf field .google.bigtable.v2.ErrorResponse error = 3; + * @param \Google\Cloud\Bigtable\V2\ErrorResponse $var + * @return $this + */ + public function setError($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\ErrorResponse::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionParametersResponse session_parameters = 4; + * @return \Google\Cloud\Bigtable\V2\SessionParametersResponse|null + */ + public function getSessionParameters() + { + return $this->readOneof(4); + } + + public function hasSessionParameters() + { + return $this->hasOneof(4); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionParametersResponse session_parameters = 4; + * @param \Google\Cloud\Bigtable\V2\SessionParametersResponse $var + * @return $this + */ + public function setSessionParameters($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionParametersResponse::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.HeartbeatResponse heartbeat = 5; + * @return \Google\Cloud\Bigtable\V2\HeartbeatResponse|null + */ + public function getHeartbeat() + { + return $this->readOneof(5); + } + + public function hasHeartbeat() + { + return $this->hasOneof(5); + } + + /** + * Generated from protobuf field .google.bigtable.v2.HeartbeatResponse heartbeat = 5; + * @param \Google\Cloud\Bigtable\V2\HeartbeatResponse $var + * @return $this + */ + public function setHeartbeat($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\HeartbeatResponse::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.GoAwayResponse go_away = 6; + * @return \Google\Cloud\Bigtable\V2\GoAwayResponse|null + */ + public function getGoAway() + { + return $this->readOneof(6); + } + + public function hasGoAway() + { + return $this->hasOneof(6); + } + + /** + * Generated from protobuf field .google.bigtable.v2.GoAwayResponse go_away = 6; + * @param \Google\Cloud\Bigtable\V2\GoAwayResponse $var + * @return $this + */ + public function setGoAway($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\GoAwayResponse::class); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionRefreshConfig session_refresh_config = 7; + * @return \Google\Cloud\Bigtable\V2\SessionRefreshConfig|null + */ + public function getSessionRefreshConfig() + { + return $this->readOneof(7); + } + + public function hasSessionRefreshConfig() + { + return $this->hasOneof(7); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionRefreshConfig session_refresh_config = 7; + * @param \Google\Cloud\Bigtable\V2\SessionRefreshConfig $var + * @return $this + */ + public function setSessionRefreshConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionRefreshConfig::class); + $this->writeOneof(7, $var); + + return $this; + } + + /** + * @return string + */ + public function getPayload() + { + return $this->whichOneof("payload"); + } + +} + diff --git a/src/V2/SessionType.php b/src/V2/SessionType.php new file mode 100644 index 0000000..05fad06 --- /dev/null +++ b/src/V2/SessionType.php @@ -0,0 +1,67 @@ +google.bigtable.v2.SessionType + */ +class SessionType +{ + /** + * Generated from protobuf enum SESSION_TYPE_UNSET = 0; + */ + const SESSION_TYPE_UNSET = 0; + /** + * Generated from protobuf enum SESSION_TYPE_TABLE = 1; + */ + const SESSION_TYPE_TABLE = 1; + /** + * Generated from protobuf enum SESSION_TYPE_AUTHORIZED_VIEW = 2; + */ + const SESSION_TYPE_AUTHORIZED_VIEW = 2; + /** + * Generated from protobuf enum SESSION_TYPE_MATERIALIZED_VIEW = 3; + */ + const SESSION_TYPE_MATERIALIZED_VIEW = 3; + /** + * For internal protocol testing only. + * + * Generated from protobuf enum SESSION_TYPE_TEST = -1; + */ + const SESSION_TYPE_TEST = -1; + + private static $valueToName = [ + self::SESSION_TYPE_UNSET => 'SESSION_TYPE_UNSET', + self::SESSION_TYPE_TABLE => 'SESSION_TYPE_TABLE', + self::SESSION_TYPE_AUTHORIZED_VIEW => 'SESSION_TYPE_AUTHORIZED_VIEW', + self::SESSION_TYPE_MATERIALIZED_VIEW => 'SESSION_TYPE_MATERIALIZED_VIEW', + self::SESSION_TYPE_TEST => 'SESSION_TYPE_TEST', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/src/V2/TableRequest.php b/src/V2/TableRequest.php new file mode 100644 index 0000000..acec80a --- /dev/null +++ b/src/V2/TableRequest.php @@ -0,0 +1,98 @@ +google.bigtable.v2.TableRequest + */ +class TableRequest extends \Google\Protobuf\Internal\Message +{ + protected $payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\SessionReadRowRequest $read_row + * @type \Google\Cloud\Bigtable\V2\SessionMutateRowRequest $mutate_row + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowRequest read_row = 1; + * @return \Google\Cloud\Bigtable\V2\SessionReadRowRequest|null + */ + public function getReadRow() + { + return $this->readOneof(1); + } + + public function hasReadRow() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowRequest read_row = 1; + * @param \Google\Cloud\Bigtable\V2\SessionReadRowRequest $var + * @return $this + */ + public function setReadRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionReadRowRequest::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionMutateRowRequest mutate_row = 2; + * @return \Google\Cloud\Bigtable\V2\SessionMutateRowRequest|null + */ + public function getMutateRow() + { + return $this->readOneof(2); + } + + public function hasMutateRow() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionMutateRowRequest mutate_row = 2; + * @param \Google\Cloud\Bigtable\V2\SessionMutateRowRequest $var + * @return $this + */ + public function setMutateRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionMutateRowRequest::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getPayload() + { + return $this->whichOneof("payload"); + } + +} + diff --git a/src/V2/TableResponse.php b/src/V2/TableResponse.php new file mode 100644 index 0000000..8c285ca --- /dev/null +++ b/src/V2/TableResponse.php @@ -0,0 +1,98 @@ +google.bigtable.v2.TableResponse + */ +class TableResponse extends \Google\Protobuf\Internal\Message +{ + protected $payload; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Bigtable\V2\SessionReadRowResponse $read_row + * @type \Google\Cloud\Bigtable\V2\SessionMutateRowResponse $mutate_row + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowResponse read_row = 1; + * @return \Google\Cloud\Bigtable\V2\SessionReadRowResponse|null + */ + public function getReadRow() + { + return $this->readOneof(1); + } + + public function hasReadRow() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionReadRowResponse read_row = 1; + * @param \Google\Cloud\Bigtable\V2\SessionReadRowResponse $var + * @return $this + */ + public function setReadRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionReadRowResponse::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionMutateRowResponse mutate_row = 2; + * @return \Google\Cloud\Bigtable\V2\SessionMutateRowResponse|null + */ + public function getMutateRow() + { + return $this->readOneof(2); + } + + public function hasMutateRow() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionMutateRowResponse mutate_row = 2; + * @param \Google\Cloud\Bigtable\V2\SessionMutateRowResponse $var + * @return $this + */ + public function setMutateRow($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionMutateRowResponse::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getPayload() + { + return $this->whichOneof("payload"); + } + +} + diff --git a/src/V2/TelemetryConfiguration.php b/src/V2/TelemetryConfiguration.php new file mode 100644 index 0000000..f139df3 --- /dev/null +++ b/src/V2/TelemetryConfiguration.php @@ -0,0 +1,68 @@ +google.bigtable.v2.TelemetryConfiguration + */ +class TelemetryConfiguration extends \Google\Protobuf\Internal\Message +{ + /** + * Selector for the debug counters that should be uploaded. + * + * Generated from protobuf field .google.bigtable.v2.TelemetryConfiguration.Level debug_tag_level = 1; + */ + protected $debug_tag_level = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $debug_tag_level + * Selector for the debug counters that should be uploaded. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Selector for the debug counters that should be uploaded. + * + * Generated from protobuf field .google.bigtable.v2.TelemetryConfiguration.Level debug_tag_level = 1; + * @return int + */ + public function getDebugTagLevel() + { + return $this->debug_tag_level; + } + + /** + * Selector for the debug counters that should be uploaded. + * + * Generated from protobuf field .google.bigtable.v2.TelemetryConfiguration.Level debug_tag_level = 1; + * @param int $var + * @return $this + */ + public function setDebugTagLevel($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Bigtable\V2\TelemetryConfiguration\Level::class); + $this->debug_tag_level = $var; + + return $this; + } + +} + diff --git a/src/V2/TelemetryConfiguration/Level.php b/src/V2/TelemetryConfiguration/Level.php new file mode 100644 index 0000000..31d85c1 --- /dev/null +++ b/src/V2/TelemetryConfiguration/Level.php @@ -0,0 +1,75 @@ +google.bigtable.v2.TelemetryConfiguration.Level + */ +class Level +{ + /** + * Server did not specify a level. Should disable all debug tag counters. + * + * Generated from protobuf enum LEVEL_UNSPECIFIED = 0; + */ + const LEVEL_UNSPECIFIED = 0; + /** + * Enables all debug tag counter levels. + * + * Generated from protobuf enum DEBUG = 1; + */ + const DEBUG = 1; + /** + * Eables all debug tag counters except for DEBUG. + * + * Generated from protobuf enum INFO = 2; + */ + const INFO = 2; + /** + * Enables all debug tag counters except for DEBUG and INFO. + * + * Generated from protobuf enum WARN = 3; + */ + const WARN = 3; + /** + * Enables only error debug tag counters. + * + * Generated from protobuf enum ERROR = 4; + */ + const ERROR = 4; + + private static $valueToName = [ + self::LEVEL_UNSPECIFIED => 'LEVEL_UNSPECIFIED', + self::DEBUG => 'DEBUG', + self::INFO => 'INFO', + self::WARN => 'WARN', + self::ERROR => 'ERROR', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/src/V2/VirtualRpcRequest.php b/src/V2/VirtualRpcRequest.php new file mode 100644 index 0000000..a866a3f --- /dev/null +++ b/src/V2/VirtualRpcRequest.php @@ -0,0 +1,201 @@ +google.bigtable.v2.VirtualRpcRequest + */ +class VirtualRpcRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Client chosen, monotonically increasing identifier for the request. + * Must be unique within a session. + * + * Generated from protobuf field int64 rpc_id = 1; + */ + protected $rpc_id = 0; + /** + * Attempt deadline. + * Note, this may not be needed for V1, TBD (e.g. operation vs attempt + * deadline). + * + * Generated from protobuf field .google.protobuf.Duration deadline = 2; + */ + protected $deadline = null; + /** + * vRPC metadata. + * + * Generated from protobuf field .google.bigtable.v2.VirtualRpcRequest.Metadata metadata = 3; + */ + protected $metadata = null; + /** + * Could be TableRequest (or in post-V1, SqlRequest) + * + * Generated from protobuf field bytes payload = 4; + */ + protected $payload = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $rpc_id + * Client chosen, monotonically increasing identifier for the request. + * Must be unique within a session. + * @type \Google\Protobuf\Duration $deadline + * Attempt deadline. + * Note, this may not be needed for V1, TBD (e.g. operation vs attempt + * deadline). + * @type \Google\Cloud\Bigtable\V2\VirtualRpcRequest\Metadata $metadata + * vRPC metadata. + * @type string $payload + * Could be TableRequest (or in post-V1, SqlRequest) + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Client chosen, monotonically increasing identifier for the request. + * Must be unique within a session. + * + * Generated from protobuf field int64 rpc_id = 1; + * @return int|string + */ + public function getRpcId() + { + return $this->rpc_id; + } + + /** + * Client chosen, monotonically increasing identifier for the request. + * Must be unique within a session. + * + * Generated from protobuf field int64 rpc_id = 1; + * @param int|string $var + * @return $this + */ + public function setRpcId($var) + { + GPBUtil::checkInt64($var); + $this->rpc_id = $var; + + return $this; + } + + /** + * Attempt deadline. + * Note, this may not be needed for V1, TBD (e.g. operation vs attempt + * deadline). + * + * Generated from protobuf field .google.protobuf.Duration deadline = 2; + * @return \Google\Protobuf\Duration|null + */ + public function getDeadline() + { + return $this->deadline; + } + + public function hasDeadline() + { + return isset($this->deadline); + } + + public function clearDeadline() + { + unset($this->deadline); + } + + /** + * Attempt deadline. + * Note, this may not be needed for V1, TBD (e.g. operation vs attempt + * deadline). + * + * Generated from protobuf field .google.protobuf.Duration deadline = 2; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setDeadline($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->deadline = $var; + + return $this; + } + + /** + * vRPC metadata. + * + * Generated from protobuf field .google.bigtable.v2.VirtualRpcRequest.Metadata metadata = 3; + * @return \Google\Cloud\Bigtable\V2\VirtualRpcRequest\Metadata|null + */ + public function getMetadata() + { + return $this->metadata; + } + + public function hasMetadata() + { + return isset($this->metadata); + } + + public function clearMetadata() + { + unset($this->metadata); + } + + /** + * vRPC metadata. + * + * Generated from protobuf field .google.bigtable.v2.VirtualRpcRequest.Metadata metadata = 3; + * @param \Google\Cloud\Bigtable\V2\VirtualRpcRequest\Metadata $var + * @return $this + */ + public function setMetadata($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\VirtualRpcRequest\Metadata::class); + $this->metadata = $var; + + return $this; + } + + /** + * Could be TableRequest (or in post-V1, SqlRequest) + * + * Generated from protobuf field bytes payload = 4; + * @return string + */ + public function getPayload() + { + return $this->payload; + } + + /** + * Could be TableRequest (or in post-V1, SqlRequest) + * + * Generated from protobuf field bytes payload = 4; + * @param string $var + * @return $this + */ + public function setPayload($var) + { + GPBUtil::checkString($var, False); + $this->payload = $var; + + return $this; + } + +} + diff --git a/src/V2/VirtualRpcRequest/Metadata.php b/src/V2/VirtualRpcRequest/Metadata.php new file mode 100644 index 0000000..70084d4 --- /dev/null +++ b/src/V2/VirtualRpcRequest/Metadata.php @@ -0,0 +1,157 @@ +google.bigtable.v2.VirtualRpcRequest.Metadata + */ +class Metadata extends \Google\Protobuf\Internal\Message +{ + /** + * Track retry attempts for this vRPC at the AFE. + * + * Generated from protobuf field int64 attempt_number = 1; + */ + protected $attempt_number = 0; + /** + * Track the client's known start time for the attempt. This is likely not + * easily compared with the server's time due to clock skew. + * + * Generated from protobuf field .google.protobuf.Timestamp attempt_start = 2; + */ + protected $attempt_start = null; + /** + * Link OpenTelemetry traces (e.g. Tapper). This can be used to link + * attempts together for the same logical operation (e.g. in logs / traces). + * Note, this may not be needed for V1, TBD. + * + * Generated from protobuf field string traceparent = 3; + */ + protected $traceparent = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $attempt_number + * Track retry attempts for this vRPC at the AFE. + * @type \Google\Protobuf\Timestamp $attempt_start + * Track the client's known start time for the attempt. This is likely not + * easily compared with the server's time due to clock skew. + * @type string $traceparent + * Link OpenTelemetry traces (e.g. Tapper). This can be used to link + * attempts together for the same logical operation (e.g. in logs / traces). + * Note, this may not be needed for V1, TBD. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Track retry attempts for this vRPC at the AFE. + * + * Generated from protobuf field int64 attempt_number = 1; + * @return int|string + */ + public function getAttemptNumber() + { + return $this->attempt_number; + } + + /** + * Track retry attempts for this vRPC at the AFE. + * + * Generated from protobuf field int64 attempt_number = 1; + * @param int|string $var + * @return $this + */ + public function setAttemptNumber($var) + { + GPBUtil::checkInt64($var); + $this->attempt_number = $var; + + return $this; + } + + /** + * Track the client's known start time for the attempt. This is likely not + * easily compared with the server's time due to clock skew. + * + * Generated from protobuf field .google.protobuf.Timestamp attempt_start = 2; + * @return \Google\Protobuf\Timestamp|null + */ + public function getAttemptStart() + { + return $this->attempt_start; + } + + public function hasAttemptStart() + { + return isset($this->attempt_start); + } + + public function clearAttemptStart() + { + unset($this->attempt_start); + } + + /** + * Track the client's known start time for the attempt. This is likely not + * easily compared with the server's time due to clock skew. + * + * Generated from protobuf field .google.protobuf.Timestamp attempt_start = 2; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setAttemptStart($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->attempt_start = $var; + + return $this; + } + + /** + * Link OpenTelemetry traces (e.g. Tapper). This can be used to link + * attempts together for the same logical operation (e.g. in logs / traces). + * Note, this may not be needed for V1, TBD. + * + * Generated from protobuf field string traceparent = 3; + * @return string + */ + public function getTraceparent() + { + return $this->traceparent; + } + + /** + * Link OpenTelemetry traces (e.g. Tapper). This can be used to link + * attempts together for the same logical operation (e.g. in logs / traces). + * Note, this may not be needed for V1, TBD. + * + * Generated from protobuf field string traceparent = 3; + * @param string $var + * @return $this + */ + public function setTraceparent($var) + { + GPBUtil::checkString($var, True); + $this->traceparent = $var; + + return $this; + } + +} + diff --git a/src/V2/VirtualRpcResponse.php b/src/V2/VirtualRpcResponse.php new file mode 100644 index 0000000..c5a2837 --- /dev/null +++ b/src/V2/VirtualRpcResponse.php @@ -0,0 +1,175 @@ +google.bigtable.v2.VirtualRpcResponse + */ +class VirtualRpcResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Which vRPC this response is for. + * + * Generated from protobuf field int64 rpc_id = 1; + */ + protected $rpc_id = 0; + /** + * Generated from protobuf field .google.bigtable.v2.ClusterInformation cluster_info = 2; + */ + protected $cluster_info = null; + /** + * Generated from protobuf field .google.bigtable.v2.SessionRequestStats stats = 4; + */ + protected $stats = null; + /** + * Could be TableResponse (or in post-V1, SqlResponse) + * + * Generated from protobuf field bytes payload = 3; + */ + protected $payload = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $rpc_id + * Which vRPC this response is for. + * @type \Google\Cloud\Bigtable\V2\ClusterInformation $cluster_info + * @type \Google\Cloud\Bigtable\V2\SessionRequestStats $stats + * @type string $payload + * Could be TableResponse (or in post-V1, SqlResponse) + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Session::initOnce(); + parent::__construct($data); + } + + /** + * Which vRPC this response is for. + * + * Generated from protobuf field int64 rpc_id = 1; + * @return int|string + */ + public function getRpcId() + { + return $this->rpc_id; + } + + /** + * Which vRPC this response is for. + * + * Generated from protobuf field int64 rpc_id = 1; + * @param int|string $var + * @return $this + */ + public function setRpcId($var) + { + GPBUtil::checkInt64($var); + $this->rpc_id = $var; + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.ClusterInformation cluster_info = 2; + * @return \Google\Cloud\Bigtable\V2\ClusterInformation|null + */ + public function getClusterInfo() + { + return $this->cluster_info; + } + + public function hasClusterInfo() + { + return isset($this->cluster_info); + } + + public function clearClusterInfo() + { + unset($this->cluster_info); + } + + /** + * Generated from protobuf field .google.bigtable.v2.ClusterInformation cluster_info = 2; + * @param \Google\Cloud\Bigtable\V2\ClusterInformation $var + * @return $this + */ + public function setClusterInfo($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\ClusterInformation::class); + $this->cluster_info = $var; + + return $this; + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionRequestStats stats = 4; + * @return \Google\Cloud\Bigtable\V2\SessionRequestStats|null + */ + public function getStats() + { + return $this->stats; + } + + public function hasStats() + { + return isset($this->stats); + } + + public function clearStats() + { + unset($this->stats); + } + + /** + * Generated from protobuf field .google.bigtable.v2.SessionRequestStats stats = 4; + * @param \Google\Cloud\Bigtable\V2\SessionRequestStats $var + * @return $this + */ + public function setStats($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\SessionRequestStats::class); + $this->stats = $var; + + return $this; + } + + /** + * Could be TableResponse (or in post-V1, SqlResponse) + * + * Generated from protobuf field bytes payload = 3; + * @return string + */ + public function getPayload() + { + return $this->payload; + } + + /** + * Could be TableResponse (or in post-V1, SqlResponse) + * + * Generated from protobuf field bytes payload = 3; + * @param string $var + * @return $this + */ + public function setPayload($var) + { + GPBUtil::checkString($var, False); + $this->payload = $var; + + return $this; + } + +} + diff --git a/src/V2/gapic_metadata.json b/src/V2/gapic_metadata.json index 1662e78..2dbec85 100644 --- a/src/V2/gapic_metadata.json +++ b/src/V2/gapic_metadata.json @@ -25,6 +25,11 @@ "generateInitialChangeStreamPartitions" ] }, + "GetClientConfiguration": { + "methods": [ + "getClientConfiguration" + ] + }, "MutateRow": { "methods": [ "mutateRow" @@ -35,6 +40,21 @@ "mutateRows" ] }, + "OpenAuthorizedView": { + "methods": [ + "openAuthorizedView" + ] + }, + "OpenMaterializedView": { + "methods": [ + "openMaterializedView" + ] + }, + "OpenTable": { + "methods": [ + "openTable" + ] + }, "PingAndWarm": { "methods": [ "pingAndWarm" diff --git a/src/V2/resources/bigtable_client_config.json b/src/V2/resources/bigtable_client_config.json index b5947d5..ced272b 100644 --- a/src/V2/resources/bigtable_client_config.json +++ b/src/V2/resources/bigtable_client_config.json @@ -31,6 +31,11 @@ "GenerateInitialChangeStreamPartitions": { "timeout_millis": 60000 }, + "GetClientConfiguration": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, "MutateRow": { "timeout_millis": 60000, "retry_codes_name": "non_idempotent", @@ -39,6 +44,15 @@ "MutateRows": { "timeout_millis": 60000 }, + "OpenAuthorizedView": { + "timeout_millis": 60000 + }, + "OpenMaterializedView": { + "timeout_millis": 60000 + }, + "OpenTable": { + "timeout_millis": 60000 + }, "PingAndWarm": { "timeout_millis": 60000, "retry_codes_name": "non_idempotent", diff --git a/src/V2/resources/bigtable_descriptor_config.php b/src/V2/resources/bigtable_descriptor_config.php index 48cb8cf..c9f377e 100644 --- a/src/V2/resources/bigtable_descriptor_config.php +++ b/src/V2/resources/bigtable_descriptor_config.php @@ -84,6 +84,10 @@ ], ], ], + 'GetClientConfiguration' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Bigtable\V2\ClientConfiguration', + ], 'MutateRow' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Bigtable\V2\MutateRowResponse', @@ -131,6 +135,27 @@ ], ], ], + 'OpenAuthorizedView' => [ + 'grpcStreaming' => [ + 'grpcStreamingType' => 'BidiStreaming', + ], + 'callType' => \Google\ApiCore\Call::BIDI_STREAMING_CALL, + 'responseType' => 'Google\Cloud\Bigtable\V2\SessionResponse', + ], + 'OpenMaterializedView' => [ + 'grpcStreaming' => [ + 'grpcStreamingType' => 'BidiStreaming', + ], + 'callType' => \Google\ApiCore\Call::BIDI_STREAMING_CALL, + 'responseType' => 'Google\Cloud\Bigtable\V2\SessionResponse', + ], + 'OpenTable' => [ + 'grpcStreaming' => [ + 'grpcStreamingType' => 'BidiStreaming', + ], + 'callType' => \Google\ApiCore\Call::BIDI_STREAMING_CALL, + 'responseType' => 'Google\Cloud\Bigtable\V2\SessionResponse', + ], 'PingAndWarm' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Bigtable\V2\PingAndWarmResponse', diff --git a/tests/Unit/V2/Client/BigtableClientTest.php b/tests/Unit/V2/Client/BigtableClientTest.php index 9f01df3..ab9a89d 100644 --- a/tests/Unit/V2/Client/BigtableClientTest.php +++ b/tests/Unit/V2/Client/BigtableClientTest.php @@ -23,17 +23,20 @@ namespace Google\Cloud\Bigtable\Tests\Unit\V2\Client; use Google\ApiCore\ApiException; +use Google\ApiCore\BidiStream; use Google\ApiCore\CredentialsWrapper; use Google\ApiCore\ServerStream; use Google\ApiCore\Testing\GeneratedTest; use Google\ApiCore\Testing\MockTransport; use Google\Cloud\Bigtable\V2\CheckAndMutateRowRequest; use Google\Cloud\Bigtable\V2\CheckAndMutateRowResponse; +use Google\Cloud\Bigtable\V2\ClientConfiguration; use Google\Cloud\Bigtable\V2\Client\BigtableClient; use Google\Cloud\Bigtable\V2\ExecuteQueryRequest; use Google\Cloud\Bigtable\V2\ExecuteQueryResponse; use Google\Cloud\Bigtable\V2\GenerateInitialChangeStreamPartitionsRequest; use Google\Cloud\Bigtable\V2\GenerateInitialChangeStreamPartitionsResponse; +use Google\Cloud\Bigtable\V2\GetClientConfigurationRequest; use Google\Cloud\Bigtable\V2\MutateRowRequest; use Google\Cloud\Bigtable\V2\MutateRowResponse; use Google\Cloud\Bigtable\V2\MutateRowsRequest; @@ -50,6 +53,8 @@ use Google\Cloud\Bigtable\V2\ReadRowsResponse; use Google\Cloud\Bigtable\V2\SampleRowKeysRequest; use Google\Cloud\Bigtable\V2\SampleRowKeysResponse; +use Google\Cloud\Bigtable\V2\SessionRequest; +use Google\Cloud\Bigtable\V2\SessionResponse; use Google\Cloud\Bigtable\V2\Type; use Google\Cloud\Bigtable\V2\Value; use Google\Rpc\Code; @@ -319,6 +324,70 @@ public function generateInitialChangeStreamPartitionsExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function getClientConfigurationTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $stopPolling = true; + $expectedResponse = new ClientConfiguration(); + $expectedResponse->setStopPolling($stopPolling); + $transport->addResponse($expectedResponse); + // Mock request + $formattedInstanceName = $gapicClient->instanceName('[PROJECT]', '[INSTANCE]'); + $request = (new GetClientConfigurationRequest()) + ->setInstanceName($formattedInstanceName); + $response = $gapicClient->getClientConfiguration($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.bigtable.v2.Bigtable/GetClientConfiguration', $actualFuncCall); + $actualValue = $actualRequestObject->getInstanceName(); + $this->assertProtobufEquals($formattedInstanceName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getClientConfigurationExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->addResponse(null, $status); + // Mock request + $formattedInstanceName = $gapicClient->instanceName('[PROJECT]', '[INSTANCE]'); + $request = (new GetClientConfigurationRequest()) + ->setInstanceName($formattedInstanceName); + try { + $gapicClient->getClientConfiguration($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function mutateRowTest() { @@ -473,6 +542,270 @@ public function mutateRowsExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function openAuthorizedViewTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new SessionResponse(); + $transport->addResponse($expectedResponse); + $expectedResponse2 = new SessionResponse(); + $transport->addResponse($expectedResponse2); + $expectedResponse3 = new SessionResponse(); + $transport->addResponse($expectedResponse3); + // Mock request + $request = new SessionRequest(); + $request2 = new SessionRequest(); + $request3 = new SessionRequest(); + $bidi = $gapicClient->openAuthorizedView(); + $this->assertInstanceOf(BidiStream::class, $bidi); + $bidi->write($request); + $responses = []; + $responses[] = $bidi->read(); + $bidi->writeAll([ + $request2, + $request3, + ]); + foreach ($bidi->closeWriteAndReadAll() as $response) { + $responses[] = $response; + } + + $expectedResponses = []; + $expectedResponses[] = $expectedResponse; + $expectedResponses[] = $expectedResponse2; + $expectedResponses[] = $expectedResponse3; + $this->assertEquals($expectedResponses, $responses); + $createStreamRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($createStreamRequests)); + $streamFuncCall = $createStreamRequests[0]->getFuncCall(); + $streamRequestObject = $createStreamRequests[0]->getRequestObject(); + $this->assertSame('/google.bigtable.v2.Bigtable/OpenAuthorizedView', $streamFuncCall); + $this->assertNull($streamRequestObject); + $callObjects = $transport->popCallObjects(); + $this->assertSame(1, count($callObjects)); + $bidiCall = $callObjects[0]; + $writeRequests = $bidiCall->popReceivedCalls(); + $expectedRequests = []; + $expectedRequests[] = $request; + $expectedRequests[] = $request2; + $expectedRequests[] = $request3; + $this->assertEquals($expectedRequests, $writeRequests); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function openAuthorizedViewExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->setStreamingStatus($status); + $this->assertTrue($transport->isExhausted()); + $bidi = $gapicClient->openAuthorizedView(); + $results = $bidi->closeWriteAndReadAll(); + try { + iterator_to_array($results); + // If the close stream method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function openMaterializedViewTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new SessionResponse(); + $transport->addResponse($expectedResponse); + $expectedResponse2 = new SessionResponse(); + $transport->addResponse($expectedResponse2); + $expectedResponse3 = new SessionResponse(); + $transport->addResponse($expectedResponse3); + // Mock request + $request = new SessionRequest(); + $request2 = new SessionRequest(); + $request3 = new SessionRequest(); + $bidi = $gapicClient->openMaterializedView(); + $this->assertInstanceOf(BidiStream::class, $bidi); + $bidi->write($request); + $responses = []; + $responses[] = $bidi->read(); + $bidi->writeAll([ + $request2, + $request3, + ]); + foreach ($bidi->closeWriteAndReadAll() as $response) { + $responses[] = $response; + } + + $expectedResponses = []; + $expectedResponses[] = $expectedResponse; + $expectedResponses[] = $expectedResponse2; + $expectedResponses[] = $expectedResponse3; + $this->assertEquals($expectedResponses, $responses); + $createStreamRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($createStreamRequests)); + $streamFuncCall = $createStreamRequests[0]->getFuncCall(); + $streamRequestObject = $createStreamRequests[0]->getRequestObject(); + $this->assertSame('/google.bigtable.v2.Bigtable/OpenMaterializedView', $streamFuncCall); + $this->assertNull($streamRequestObject); + $callObjects = $transport->popCallObjects(); + $this->assertSame(1, count($callObjects)); + $bidiCall = $callObjects[0]; + $writeRequests = $bidiCall->popReceivedCalls(); + $expectedRequests = []; + $expectedRequests[] = $request; + $expectedRequests[] = $request2; + $expectedRequests[] = $request3; + $this->assertEquals($expectedRequests, $writeRequests); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function openMaterializedViewExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->setStreamingStatus($status); + $this->assertTrue($transport->isExhausted()); + $bidi = $gapicClient->openMaterializedView(); + $results = $bidi->closeWriteAndReadAll(); + try { + iterator_to_array($results); + // If the close stream method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function openTableTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new SessionResponse(); + $transport->addResponse($expectedResponse); + $expectedResponse2 = new SessionResponse(); + $transport->addResponse($expectedResponse2); + $expectedResponse3 = new SessionResponse(); + $transport->addResponse($expectedResponse3); + // Mock request + $request = new SessionRequest(); + $request2 = new SessionRequest(); + $request3 = new SessionRequest(); + $bidi = $gapicClient->openTable(); + $this->assertInstanceOf(BidiStream::class, $bidi); + $bidi->write($request); + $responses = []; + $responses[] = $bidi->read(); + $bidi->writeAll([ + $request2, + $request3, + ]); + foreach ($bidi->closeWriteAndReadAll() as $response) { + $responses[] = $response; + } + + $expectedResponses = []; + $expectedResponses[] = $expectedResponse; + $expectedResponses[] = $expectedResponse2; + $expectedResponses[] = $expectedResponse3; + $this->assertEquals($expectedResponses, $responses); + $createStreamRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($createStreamRequests)); + $streamFuncCall = $createStreamRequests[0]->getFuncCall(); + $streamRequestObject = $createStreamRequests[0]->getRequestObject(); + $this->assertSame('/google.bigtable.v2.Bigtable/OpenTable', $streamFuncCall); + $this->assertNull($streamRequestObject); + $callObjects = $transport->popCallObjects(); + $this->assertSame(1, count($callObjects)); + $bidiCall = $callObjects[0]; + $writeRequests = $bidiCall->popReceivedCalls(); + $expectedRequests = []; + $expectedRequests[] = $request; + $expectedRequests[] = $request2; + $expectedRequests[] = $request3; + $this->assertEquals($expectedRequests, $writeRequests); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function openTableExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->setStreamingStatus($status); + $this->assertTrue($transport->isExhausted()); + $bidi = $gapicClient->openTable(); + $results = $bidi->closeWriteAndReadAll(); + try { + iterator_to_array($results); + // If the close stream method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function pingAndWarmTest() { From 27d53810eb25917419e8b98afefa1a4df96c9128 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 17:01:46 -0400 Subject: [PATCH 2/6] chore(main): release 0.326.0 (#9073) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index f48f82f..e9763f6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.22.0 +2.23.0 From 8f95273c89d55bd2d377941d700c78e86e2e67a6 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 21 Apr 2026 08:11:42 -0700 Subject: [PATCH 3/6] feat: [Bigtable] add Editions field to Instance (#9109) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add Editions field to Instance PiperOrigin-RevId: 900156940 Source-Link: https://github.com/googleapis/googleapis/commit/9761131b283e506d8b45fe5e0a174bee9f9bc828 Source-Link: https://github.com/googleapis/googleapis-gen/commit/658fe513d74166f0d92d18a377fee95cb9cbfdf6 Copy-Tag: eyJwIjoiQmlndGFibGUvLk93bEJvdC55YW1sIiwiaCI6IjY1OGZlNTEzZDc0MTY2ZjBkOTJkMThhMzc3ZmVlOTVjYjljYmZkZjYifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- metadata/Admin/V2/Instance.php | 2 +- src/Admin/V2/Instance.php | 38 +++++++++++++++++ src/Admin/V2/Instance/Edition.php | 70 +++++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 src/Admin/V2/Instance/Edition.php diff --git a/metadata/Admin/V2/Instance.php b/metadata/Admin/V2/Instance.php index 6c968ae..b108bed 100644 --- a/metadata/Admin/V2/Instance.php +++ b/metadata/Admin/V2/Instance.php @@ -19,7 +19,7 @@ public static function initOnce() { \GPBMetadata\Google\Bigtable\Admin\V2\Common::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x92'\x0A'google/bigtable/admin/v2/instance.proto\x12\x18google.bigtable.admin.v2\x1A\x19google/api/resource.proto\x1A%google/bigtable/admin/v2/common.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x87\x06\x0A\x08Instance\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x19\x0A\x0Cdisplay_name\x18\x02 \x01(\x09B\x03\xE0A\x02\x12<\x0A\x05state\x18\x03 \x01(\x0E2(.google.bigtable.admin.v2.Instance.StateB\x03\xE0A\x03\x125\x0A\x04type\x18\x04 \x01(\x0E2'.google.bigtable.admin.v2.Instance.Type\x12>\x0A\x06labels\x18\x05 \x03(\x0B2..google.bigtable.admin.v2.Instance.LabelsEntry\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1F\x0A\x0Dsatisfies_pzs\x18\x08 \x01(\x08B\x03\xE0A\x03H\x00\x88\x01\x01\x12\x1F\x0A\x0Dsatisfies_pzi\x18\x0B \x01(\x08B\x03\xE0A\x03H\x01\x88\x01\x01\x12E\x0A\x04tags\x18\x0C \x03(\x0B2,.google.bigtable.admin.v2.Instance.TagsEntryB\x09\xE0A\x04\xE0A\x05\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1A+\x0A\x09TagsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"5\x0A\x05State\x12\x13\x0A\x0FSTATE_NOT_KNOWN\x10\x00\x12\x09\x0A\x05READY\x10\x01\x12\x0C\x0A\x08CREATING\x10\x02\"=\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0APRODUCTION\x10\x01\x12\x0F\x0A\x0BDEVELOPMENT\x10\x02:h\xEAAe\x0A%bigtableadmin.googleapis.com/Instance\x12'projects/{project}/instances/{instance}*\x09instances2\x08instanceB\x10\x0A\x0E_satisfies_pzsB\x10\x0A\x0E_satisfies_pzi\"_\x0A\x12AutoscalingTargets\x12\x1F\x0A\x17cpu_utilization_percent\x18\x02 \x01(\x05\x12(\x0A storage_utilization_gib_per_node\x18\x03 \x01(\x05\"O\x0A\x11AutoscalingLimits\x12\x1C\x0A\x0Fmin_serve_nodes\x18\x01 \x01(\x05B\x03\xE0A\x02\x12\x1C\x0A\x0Fmax_serve_nodes\x18\x02 \x01(\x05B\x03\xE0A\x02\"\xAD\x09\x0A\x07Cluster\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12;\x0A\x08location\x18\x02 \x01(\x09B)\xE0A\x05\xFAA#\x0A!locations.googleapis.com/Location\x12;\x0A\x05state\x18\x03 \x01(\x0E2'.google.bigtable.admin.v2.Cluster.StateB\x03\xE0A\x03\x12\x13\x0A\x0Bserve_nodes\x18\x04 \x01(\x05\x12U\x0A\x13node_scaling_factor\x18\x09 \x01(\x0E23.google.bigtable.admin.v2.Cluster.NodeScalingFactorB\x03\xE0A\x05\x12I\x0A\x0Ecluster_config\x18\x07 \x01(\x0B2/.google.bigtable.admin.v2.Cluster.ClusterConfigH\x00\x12H\x0A\x14default_storage_type\x18\x05 \x01(\x0E2%.google.bigtable.admin.v2.StorageTypeB\x03\xE0A\x05\x12R\x0A\x11encryption_config\x18\x06 \x01(\x0B22.google.bigtable.admin.v2.Cluster.EncryptionConfigB\x03\xE0A\x05\x1A\xB8\x01\x0A\x18ClusterAutoscalingConfig\x12L\x0A\x12autoscaling_limits\x18\x01 \x01(\x0B2+.google.bigtable.admin.v2.AutoscalingLimitsB\x03\xE0A\x02\x12N\x0A\x13autoscaling_targets\x18\x02 \x01(\x0B2,.google.bigtable.admin.v2.AutoscalingTargetsB\x03\xE0A\x02\x1Ao\x0A\x0DClusterConfig\x12^\x0A\x1Acluster_autoscaling_config\x18\x01 \x01(\x0B2:.google.bigtable.admin.v2.Cluster.ClusterAutoscalingConfig\x1AP\x0A\x10EncryptionConfig\x12<\x0A\x0Ckms_key_name\x18\x01 \x01(\x09B&\xFAA#\x0A!cloudkms.googleapis.com/CryptoKey\"Q\x0A\x05State\x12\x13\x0A\x0FSTATE_NOT_KNOWN\x10\x00\x12\x09\x0A\x05READY\x10\x01\x12\x0C\x0A\x08CREATING\x10\x02\x12\x0C\x0A\x08RESIZING\x10\x03\x12\x0C\x0A\x08DISABLED\x10\x04\"p\x0A\x11NodeScalingFactor\x12#\x0A\x1FNODE_SCALING_FACTOR_UNSPECIFIED\x10\x00\x12\x1A\x0A\x16NODE_SCALING_FACTOR_1X\x10\x01\x12\x1A\x0A\x16NODE_SCALING_FACTOR_2X\x10\x02:x\xEAAu\x0A\$bigtableadmin.googleapis.com/Cluster\x12:projects/{project}/instances/{instance}/clusters/{cluster}*\x08clusters2\x07clusterB\x08\x0A\x06config\"\xED\x0A\x0A\x0AAppProfile\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0C\x0A\x04etag\x18\x02 \x01(\x09\x12\x13\x0A\x0Bdescription\x18\x03 \x01(\x09\x12g\x0A\x1Dmulti_cluster_routing_use_any\x18\x05 \x01(\x0B2>.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAnyH\x00\x12[\x0A\x16single_cluster_routing\x18\x06 \x01(\x0B29.google.bigtable.admin.v2.AppProfile.SingleClusterRoutingH\x00\x12E\x0A\x08priority\x18\x07 \x01(\x0E2-.google.bigtable.admin.v2.AppProfile.PriorityB\x02\x18\x01H\x01\x12T\x0A\x12standard_isolation\x18\x0B \x01(\x0B26.google.bigtable.admin.v2.AppProfile.StandardIsolationH\x01\x12i\x0A\x1Edata_boost_isolation_read_only\x18\x0A \x01(\x0B2?.google.bigtable.admin.v2.AppProfile.DataBoostIsolationReadOnlyH\x01\x1A\xAF\x01\x0A\x19MultiClusterRoutingUseAny\x12\x13\x0A\x0Bcluster_ids\x18\x01 \x03(\x09\x12b\x0A\x0Crow_affinity\x18\x03 \x01(\x0B2J.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.RowAffinityH\x00\x1A\x0D\x0A\x0BRowAffinityB\x0A\x0A\x08affinity\x1AN\x0A\x14SingleClusterRouting\x12\x12\x0A\x0Acluster_id\x18\x01 \x01(\x09\x12\"\x0A\x1Aallow_transactional_writes\x18\x02 \x01(\x08\x1AT\x0A\x11StandardIsolation\x12?\x0A\x08priority\x18\x01 \x01(\x0E2-.google.bigtable.admin.v2.AppProfile.Priority\x1A\xFC\x01\x0A\x1ADataBoostIsolationReadOnly\x12w\x0A\x15compute_billing_owner\x18\x01 \x01(\x0E2S.google.bigtable.admin.v2.AppProfile.DataBoostIsolationReadOnly.ComputeBillingOwnerH\x00\x88\x01\x01\"K\x0A\x13ComputeBillingOwner\x12%\x0A!COMPUTE_BILLING_OWNER_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09HOST_PAYS\x10\x01B\x18\x0A\x16_compute_billing_owner\"^\x0A\x08Priority\x12\x18\x0A\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CPRIORITY_LOW\x10\x01\x12\x13\x0A\x0FPRIORITY_MEDIUM\x10\x02\x12\x11\x0A\x0DPRIORITY_HIGH\x10\x03:\x89\x01\xEAA\x85\x01\x0A'bigtableadmin.googleapis.com/AppProfile\x12Aprojects/{project}/instances/{instance}/appProfiles/{app_profile}*\x0BappProfiles2\x0AappProfileB\x10\x0A\x0Erouting_policyB\x0B\x0A\x09isolation\"\xA1\x03\x0A\x09HotTablet\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12;\x0A\x0Atable_name\x18\x02 \x01(\x09B'\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x123\x0A\x0Astart_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x09start_key\x18\x05 \x01(\x09\x12\x0F\x0A\x07end_key\x18\x06 \x01(\x09\x12#\x0A\x16node_cpu_usage_percent\x18\x07 \x01(\x02B\x03\xE0A\x03:\x97\x01\xEAA\x93\x01\x0A&bigtableadmin.googleapis.com/HotTablet\x12Rprojects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/{hot_tablet}*\x0AhotTablets2\x09hotTablet\"\xFA\x01\x0A\x0BLogicalView\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x12\x0A\x05query\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x11\x0A\x04etag\x18\x03 \x01(\x09B\x03\xE0A\x01\x12 \x0A\x13deletion_protection\x18\x06 \x01(\x08B\x03\xE0A\x01:\x8E\x01\xEAA\x8A\x01\x0A(bigtableadmin.googleapis.com/LogicalView\x12Cprojects/{project}/instances/{instance}/logicalViews/{logical_view}*\x0ClogicalViews2\x0BlogicalView\"\x96\x02\x0A\x10MaterializedView\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x15\x0A\x05query\x18\x02 \x01(\x09B\x06\xE0A\x02\xE0A\x05\x12\x11\x0A\x04etag\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1B\x0A\x13deletion_protection\x18\x06 \x01(\x08:\xA7\x01\xEAA\xA3\x01\x0A-bigtableadmin.googleapis.com/MaterializedView\x12Mprojects/{project}/instances/{instance}/materializedViews/{materialized_view}*\x11materializedViews2\x10materializedViewB\xCB\x02\x0A\x1Ccom.google.bigtable.admin.v2B\x0DInstanceProtoP\x01Z8cloud.google.com/go/bigtable/admin/apiv2/adminpb;adminpb\xAA\x02\x1EGoogle.Cloud.Bigtable.Admin.V2\xCA\x02\x1EGoogle\\Cloud\\Bigtable\\Admin\\V2\xEA\x02\"Google::Cloud::Bigtable::Admin::V2\xEAAx\x0A!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}b\x06proto3" + "\x0A\x9D(\x0A'google/bigtable/admin/v2/instance.proto\x12\x18google.bigtable.admin.v2\x1A\x19google/api/resource.proto\x1A%google/bigtable/admin/v2/common.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\x92\x07\x0A\x08Instance\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x19\x0A\x0Cdisplay_name\x18\x02 \x01(\x09B\x03\xE0A\x02\x12<\x0A\x05state\x18\x03 \x01(\x0E2(.google.bigtable.admin.v2.Instance.StateB\x03\xE0A\x03\x125\x0A\x04type\x18\x04 \x01(\x0E2'.google.bigtable.admin.v2.Instance.Type\x12@\x0A\x07edition\x18\x0E \x01(\x0E2*.google.bigtable.admin.v2.Instance.EditionB\x03\xE0A\x01\x12>\x0A\x06labels\x18\x05 \x03(\x0B2..google.bigtable.admin.v2.Instance.LabelsEntry\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1F\x0A\x0Dsatisfies_pzs\x18\x08 \x01(\x08B\x03\xE0A\x03H\x00\x88\x01\x01\x12\x1F\x0A\x0Dsatisfies_pzi\x18\x0B \x01(\x08B\x03\xE0A\x03H\x01\x88\x01\x01\x12E\x0A\x04tags\x18\x0C \x03(\x0B2,.google.bigtable.admin.v2.Instance.TagsEntryB\x09\xE0A\x04\xE0A\x05\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1A+\x0A\x09TagsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"5\x0A\x05State\x12\x13\x0A\x0FSTATE_NOT_KNOWN\x10\x00\x12\x09\x0A\x05READY\x10\x01\x12\x0C\x0A\x08CREATING\x10\x02\"=\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0APRODUCTION\x10\x01\x12\x0F\x0A\x0BDEVELOPMENT\x10\x02\"G\x0A\x07Edition\x12\x17\x0A\x13EDITION_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0AENTERPRISE\x10\x01\x12\x13\x0A\x0FENTERPRISE_PLUS\x10\x02:h\xEAAe\x0A%bigtableadmin.googleapis.com/Instance\x12'projects/{project}/instances/{instance}*\x09instances2\x08instanceB\x10\x0A\x0E_satisfies_pzsB\x10\x0A\x0E_satisfies_pzi\"_\x0A\x12AutoscalingTargets\x12\x1F\x0A\x17cpu_utilization_percent\x18\x02 \x01(\x05\x12(\x0A storage_utilization_gib_per_node\x18\x03 \x01(\x05\"O\x0A\x11AutoscalingLimits\x12\x1C\x0A\x0Fmin_serve_nodes\x18\x01 \x01(\x05B\x03\xE0A\x02\x12\x1C\x0A\x0Fmax_serve_nodes\x18\x02 \x01(\x05B\x03\xE0A\x02\"\xAD\x09\x0A\x07Cluster\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12;\x0A\x08location\x18\x02 \x01(\x09B)\xE0A\x05\xFAA#\x0A!locations.googleapis.com/Location\x12;\x0A\x05state\x18\x03 \x01(\x0E2'.google.bigtable.admin.v2.Cluster.StateB\x03\xE0A\x03\x12\x13\x0A\x0Bserve_nodes\x18\x04 \x01(\x05\x12U\x0A\x13node_scaling_factor\x18\x09 \x01(\x0E23.google.bigtable.admin.v2.Cluster.NodeScalingFactorB\x03\xE0A\x05\x12I\x0A\x0Ecluster_config\x18\x07 \x01(\x0B2/.google.bigtable.admin.v2.Cluster.ClusterConfigH\x00\x12H\x0A\x14default_storage_type\x18\x05 \x01(\x0E2%.google.bigtable.admin.v2.StorageTypeB\x03\xE0A\x05\x12R\x0A\x11encryption_config\x18\x06 \x01(\x0B22.google.bigtable.admin.v2.Cluster.EncryptionConfigB\x03\xE0A\x05\x1A\xB8\x01\x0A\x18ClusterAutoscalingConfig\x12L\x0A\x12autoscaling_limits\x18\x01 \x01(\x0B2+.google.bigtable.admin.v2.AutoscalingLimitsB\x03\xE0A\x02\x12N\x0A\x13autoscaling_targets\x18\x02 \x01(\x0B2,.google.bigtable.admin.v2.AutoscalingTargetsB\x03\xE0A\x02\x1Ao\x0A\x0DClusterConfig\x12^\x0A\x1Acluster_autoscaling_config\x18\x01 \x01(\x0B2:.google.bigtable.admin.v2.Cluster.ClusterAutoscalingConfig\x1AP\x0A\x10EncryptionConfig\x12<\x0A\x0Ckms_key_name\x18\x01 \x01(\x09B&\xFAA#\x0A!cloudkms.googleapis.com/CryptoKey\"Q\x0A\x05State\x12\x13\x0A\x0FSTATE_NOT_KNOWN\x10\x00\x12\x09\x0A\x05READY\x10\x01\x12\x0C\x0A\x08CREATING\x10\x02\x12\x0C\x0A\x08RESIZING\x10\x03\x12\x0C\x0A\x08DISABLED\x10\x04\"p\x0A\x11NodeScalingFactor\x12#\x0A\x1FNODE_SCALING_FACTOR_UNSPECIFIED\x10\x00\x12\x1A\x0A\x16NODE_SCALING_FACTOR_1X\x10\x01\x12\x1A\x0A\x16NODE_SCALING_FACTOR_2X\x10\x02:x\xEAAu\x0A\$bigtableadmin.googleapis.com/Cluster\x12:projects/{project}/instances/{instance}/clusters/{cluster}*\x08clusters2\x07clusterB\x08\x0A\x06config\"\xED\x0A\x0A\x0AAppProfile\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x0C\x0A\x04etag\x18\x02 \x01(\x09\x12\x13\x0A\x0Bdescription\x18\x03 \x01(\x09\x12g\x0A\x1Dmulti_cluster_routing_use_any\x18\x05 \x01(\x0B2>.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAnyH\x00\x12[\x0A\x16single_cluster_routing\x18\x06 \x01(\x0B29.google.bigtable.admin.v2.AppProfile.SingleClusterRoutingH\x00\x12E\x0A\x08priority\x18\x07 \x01(\x0E2-.google.bigtable.admin.v2.AppProfile.PriorityB\x02\x18\x01H\x01\x12T\x0A\x12standard_isolation\x18\x0B \x01(\x0B26.google.bigtable.admin.v2.AppProfile.StandardIsolationH\x01\x12i\x0A\x1Edata_boost_isolation_read_only\x18\x0A \x01(\x0B2?.google.bigtable.admin.v2.AppProfile.DataBoostIsolationReadOnlyH\x01\x1A\xAF\x01\x0A\x19MultiClusterRoutingUseAny\x12\x13\x0A\x0Bcluster_ids\x18\x01 \x03(\x09\x12b\x0A\x0Crow_affinity\x18\x03 \x01(\x0B2J.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.RowAffinityH\x00\x1A\x0D\x0A\x0BRowAffinityB\x0A\x0A\x08affinity\x1AN\x0A\x14SingleClusterRouting\x12\x12\x0A\x0Acluster_id\x18\x01 \x01(\x09\x12\"\x0A\x1Aallow_transactional_writes\x18\x02 \x01(\x08\x1AT\x0A\x11StandardIsolation\x12?\x0A\x08priority\x18\x01 \x01(\x0E2-.google.bigtable.admin.v2.AppProfile.Priority\x1A\xFC\x01\x0A\x1ADataBoostIsolationReadOnly\x12w\x0A\x15compute_billing_owner\x18\x01 \x01(\x0E2S.google.bigtable.admin.v2.AppProfile.DataBoostIsolationReadOnly.ComputeBillingOwnerH\x00\x88\x01\x01\"K\x0A\x13ComputeBillingOwner\x12%\x0A!COMPUTE_BILLING_OWNER_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09HOST_PAYS\x10\x01B\x18\x0A\x16_compute_billing_owner\"^\x0A\x08Priority\x12\x18\x0A\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CPRIORITY_LOW\x10\x01\x12\x13\x0A\x0FPRIORITY_MEDIUM\x10\x02\x12\x11\x0A\x0DPRIORITY_HIGH\x10\x03:\x89\x01\xEAA\x85\x01\x0A'bigtableadmin.googleapis.com/AppProfile\x12Aprojects/{project}/instances/{instance}/appProfiles/{app_profile}*\x0BappProfiles2\x0AappProfileB\x10\x0A\x0Erouting_policyB\x0B\x0A\x09isolation\"\xA1\x03\x0A\x09HotTablet\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12;\x0A\x0Atable_name\x18\x02 \x01(\x09B'\xFAA\$\x0A\"bigtableadmin.googleapis.com/Table\x123\x0A\x0Astart_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x11\x0A\x09start_key\x18\x05 \x01(\x09\x12\x0F\x0A\x07end_key\x18\x06 \x01(\x09\x12#\x0A\x16node_cpu_usage_percent\x18\x07 \x01(\x02B\x03\xE0A\x03:\x97\x01\xEAA\x93\x01\x0A&bigtableadmin.googleapis.com/HotTablet\x12Rprojects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/{hot_tablet}*\x0AhotTablets2\x09hotTablet\"\xFA\x01\x0A\x0BLogicalView\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x12\x0A\x05query\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x11\x0A\x04etag\x18\x03 \x01(\x09B\x03\xE0A\x01\x12 \x0A\x13deletion_protection\x18\x06 \x01(\x08B\x03\xE0A\x01:\x8E\x01\xEAA\x8A\x01\x0A(bigtableadmin.googleapis.com/LogicalView\x12Cprojects/{project}/instances/{instance}/logicalViews/{logical_view}*\x0ClogicalViews2\x0BlogicalView\"\x96\x02\x0A\x10MaterializedView\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x15\x0A\x05query\x18\x02 \x01(\x09B\x06\xE0A\x02\xE0A\x05\x12\x11\x0A\x04etag\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1B\x0A\x13deletion_protection\x18\x06 \x01(\x08:\xA7\x01\xEAA\xA3\x01\x0A-bigtableadmin.googleapis.com/MaterializedView\x12Mprojects/{project}/instances/{instance}/materializedViews/{materialized_view}*\x11materializedViews2\x10materializedViewB\xCB\x02\x0A\x1Ccom.google.bigtable.admin.v2B\x0DInstanceProtoP\x01Z8cloud.google.com/go/bigtable/admin/apiv2/adminpb;adminpb\xAA\x02\x1EGoogle.Cloud.Bigtable.Admin.V2\xCA\x02\x1EGoogle\\Cloud\\Bigtable\\Admin\\V2\xEA\x02\"Google::Cloud::Bigtable::Admin::V2\xEAAx\x0A!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}b\x06proto3" , true); static::$is_initialized = true; diff --git a/src/Admin/V2/Instance.php b/src/Admin/V2/Instance.php index 3dce099..0890b4c 100644 --- a/src/Admin/V2/Instance.php +++ b/src/Admin/V2/Instance.php @@ -45,6 +45,13 @@ class Instance extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.bigtable.admin.v2.Instance.Type type = 4; */ protected $type = 0; + /** + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + * + * Generated from protobuf field .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $edition = 0; /** * Labels are a flexible and lightweight mechanism for organizing cloud * resources into groups that reflect a customer's organizational needs and @@ -111,6 +118,9 @@ class Instance extends \Google\Protobuf\Internal\Message * Output only. The current state of the instance. * @type int $type * The type of the instance. Defaults to `PRODUCTION`. + * @type int $edition + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. * @type array|\Google\Protobuf\Internal\MapField $labels * Labels are a flexible and lightweight mechanism for organizing cloud * resources into groups that reflect a customer's organizational needs and @@ -256,6 +266,34 @@ public function setType($var) return $this; } + /** + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + * + * Generated from protobuf field .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getEdition() + { + return $this->edition; + } + + /** + * Optional. The edition of the instance. See + * [Edition][google.bigtable.admin.v2.Instance.Edition] for details. + * + * Generated from protobuf field .google.bigtable.admin.v2.Instance.Edition edition = 14 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setEdition($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Bigtable\Admin\V2\Instance\Edition::class); + $this->edition = $var; + + return $this; + } + /** * Labels are a flexible and lightweight mechanism for organizing cloud * resources into groups that reflect a customer's organizational needs and diff --git a/src/Admin/V2/Instance/Edition.php b/src/Admin/V2/Instance/Edition.php new file mode 100644 index 0000000..0ca2bdf --- /dev/null +++ b/src/Admin/V2/Instance/Edition.php @@ -0,0 +1,70 @@ +google.bigtable.admin.v2.Instance.Edition + */ +class Edition +{ + /** + * The edition is unspecified. This is treated as `ENTERPRISE`. + * + * Generated from protobuf enum EDITION_UNSPECIFIED = 0; + */ + const EDITION_UNSPECIFIED = 0; + /** + * The Enterprise edition. This is the default offering that is designed to + * meet the needs of most enterprise workloads. + * + * Generated from protobuf enum ENTERPRISE = 1; + */ + const ENTERPRISE = 1; + /** + * The Enterprise Plus edition. This is a premium tier that is designed for + * demanding, multi-tenant workloads requiring the highest levels of + * performance, scale, and global availability. + * The nodes in the Enterprise Plus tier come at a higher cost than the + * Enterprise tier. Any Enterprise Plus features must be disabled before + * downgrading to Enterprise. + * + * Generated from protobuf enum ENTERPRISE_PLUS = 2; + */ + const ENTERPRISE_PLUS = 2; + + private static $valueToName = [ + self::EDITION_UNSPECIFIED => 'EDITION_UNSPECIFIED', + self::ENTERPRISE => 'ENTERPRISE', + self::ENTERPRISE_PLUS => 'ENTERPRISE_PLUS', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + From f32e78f1e1e98ed27b8f52284c1b4997cc1b20b3 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2026 07:43:19 -0700 Subject: [PATCH 4/6] feat: [Bigtable] add value_bitmask_filter to the read API (#9134) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add value_bitmask_filter to the read API PiperOrigin-RevId: 905607527 Source-Link: https://github.com/googleapis/googleapis/commit/10d796a28162a3ee244580e2e7184f696a425b81 Source-Link: https://github.com/googleapis/googleapis-gen/commit/6cab2c46bcd8e367f49958862911f70a27b50e42 Copy-Tag: eyJwIjoiQmlndGFibGUvLk93bEJvdC55YW1sIiwiaCI6IjZjYWIyYzQ2YmNkOGUzNjdmNDk5NTg4NjI5MTFmNzBhMjdiNTBlNDIifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- metadata/V2/Data.php | 2 +- src/V2/RowFilter.php | 42 ++++++++++++++++++++++ src/V2/ValueBitmask.php | 79 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 src/V2/ValueBitmask.php diff --git a/metadata/V2/Data.php b/metadata/V2/Data.php index f717d8f..0e1b204 100644 --- a/metadata/V2/Data.php +++ b/metadata/V2/Data.php @@ -19,7 +19,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); \GPBMetadata\Google\Type\Date::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xA2&\x0A\x1Dgoogle/bigtable/v2/data.proto\x12\x12google.bigtable.v2\x1A\x1Egoogle/bigtable/v2/types.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x16google/type/date.proto\"@\x0A\x03Row\x12\x0B\x0A\x03key\x18\x01 \x01(\x0C\x12,\x0A\x08families\x18\x02 \x03(\x0B2\x1A.google.bigtable.v2.Family\"C\x0A\x06Family\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12+\x0A\x07columns\x18\x02 \x03(\x0B2\x1A.google.bigtable.v2.Column\"D\x0A\x06Column\x12\x11\x0A\x09qualifier\x18\x01 \x01(\x0C\x12'\x0A\x05cells\x18\x02 \x03(\x0B2\x18.google.bigtable.v2.Cell\"?\x0A\x04Cell\x12\x18\x0A\x10timestamp_micros\x18\x01 \x01(\x03\x12\x0D\x0A\x05value\x18\x02 \x01(\x0C\x12\x0E\x0A\x06labels\x18\x03 \x03(\x09\"\xF4\x02\x0A\x05Value\x12&\x0A\x04type\x18\x07 \x01(\x0B2\x18.google.bigtable.v2.Type\x12\x13\x0A\x09raw_value\x18\x08 \x01(\x0CH\x00\x12\x1E\x0A\x14raw_timestamp_micros\x18\x09 \x01(\x03H\x00\x12\x15\x0A\x0Bbytes_value\x18\x02 \x01(\x0CH\x00\x12\x16\x0A\x0Cstring_value\x18\x03 \x01(\x09H\x00\x12\x13\x0A\x09int_value\x18\x06 \x01(\x03H\x00\x12\x14\x0A\x0Abool_value\x18\x0A \x01(\x08H\x00\x12\x15\x0A\x0Bfloat_value\x18\x0B \x01(\x01H\x00\x125\x0A\x0Ftimestamp_value\x18\x0C \x01(\x0B2\x1A.google.protobuf.TimestampH\x00\x12'\x0A\x0Adate_value\x18\x0D \x01(\x0B2\x11.google.type.DateH\x00\x125\x0A\x0Barray_value\x18\x04 \x01(\x0B2\x1E.google.bigtable.v2.ArrayValueH\x00B\x06\x0A\x04kind\"7\x0A\x0AArrayValue\x12)\x0A\x06values\x18\x01 \x03(\x0B2\x19.google.bigtable.v2.Value\"\x8A\x01\x0A\x08RowRange\x12\x1A\x0A\x10start_key_closed\x18\x01 \x01(\x0CH\x00\x12\x18\x0A\x0Estart_key_open\x18\x02 \x01(\x0CH\x00\x12\x16\x0A\x0Cend_key_open\x18\x03 \x01(\x0CH\x01\x12\x18\x0A\x0Eend_key_closed\x18\x04 \x01(\x0CH\x01B\x0B\x0A\x09start_keyB\x09\x0A\x07end_key\"L\x0A\x06RowSet\x12\x10\x0A\x08row_keys\x18\x01 \x03(\x0C\x120\x0A\x0Arow_ranges\x18\x02 \x03(\x0B2\x1C.google.bigtable.v2.RowRange\"\xC6\x01\x0A\x0BColumnRange\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x12 \x0A\x16start_qualifier_closed\x18\x02 \x01(\x0CH\x00\x12\x1E\x0A\x14start_qualifier_open\x18\x03 \x01(\x0CH\x00\x12\x1E\x0A\x14end_qualifier_closed\x18\x04 \x01(\x0CH\x01\x12\x1C\x0A\x12end_qualifier_open\x18\x05 \x01(\x0CH\x01B\x11\x0A\x0Fstart_qualifierB\x0F\x0A\x0Dend_qualifier\"N\x0A\x0ETimestampRange\x12\x1E\x0A\x16start_timestamp_micros\x18\x01 \x01(\x03\x12\x1C\x0A\x14end_timestamp_micros\x18\x02 \x01(\x03\"\x98\x01\x0A\x0AValueRange\x12\x1C\x0A\x12start_value_closed\x18\x01 \x01(\x0CH\x00\x12\x1A\x0A\x10start_value_open\x18\x02 \x01(\x0CH\x00\x12\x1A\x0A\x10end_value_closed\x18\x03 \x01(\x0CH\x01\x12\x18\x0A\x0Eend_value_open\x18\x04 \x01(\x0CH\x01B\x0D\x0A\x0Bstart_valueB\x0B\x0A\x09end_value\"\xDF\x08\x0A\x09RowFilter\x124\x0A\x05chain\x18\x01 \x01(\x0B2#.google.bigtable.v2.RowFilter.ChainH\x00\x12>\x0A\x0Ainterleave\x18\x02 \x01(\x0B2(.google.bigtable.v2.RowFilter.InterleaveH\x00\x12<\x0A\x09condition\x18\x03 \x01(\x0B2'.google.bigtable.v2.RowFilter.ConditionH\x00\x12\x0E\x0A\x04sink\x18\x10 \x01(\x08H\x00\x12\x19\x0A\x0Fpass_all_filter\x18\x11 \x01(\x08H\x00\x12\x1A\x0A\x10block_all_filter\x18\x12 \x01(\x08H\x00\x12\x1E\x0A\x14row_key_regex_filter\x18\x04 \x01(\x0CH\x00\x12\x1B\x0A\x11row_sample_filter\x18\x0E \x01(\x01H\x00\x12\"\x0A\x18family_name_regex_filter\x18\x05 \x01(\x09H\x00\x12'\x0A\x1Dcolumn_qualifier_regex_filter\x18\x06 \x01(\x0CH\x00\x12>\x0A\x13column_range_filter\x18\x07 \x01(\x0B2\x1F.google.bigtable.v2.ColumnRangeH\x00\x12D\x0A\x16timestamp_range_filter\x18\x08 \x01(\x0B2\".google.bigtable.v2.TimestampRangeH\x00\x12\x1C\x0A\x12value_regex_filter\x18\x09 \x01(\x0CH\x00\x12<\x0A\x12value_range_filter\x18\x0F \x01(\x0B2\x1E.google.bigtable.v2.ValueRangeH\x00\x12%\x0A\x1Bcells_per_row_offset_filter\x18\x0A \x01(\x05H\x00\x12\$\x0A\x1Acells_per_row_limit_filter\x18\x0B \x01(\x05H\x00\x12'\x0A\x1Dcells_per_column_limit_filter\x18\x0C \x01(\x05H\x00\x12!\x0A\x17strip_value_transformer\x18\x0D \x01(\x08H\x00\x12!\x0A\x17apply_label_transformer\x18\x13 \x01(\x09H\x00\x1A7\x0A\x05Chain\x12.\x0A\x07filters\x18\x01 \x03(\x0B2\x1D.google.bigtable.v2.RowFilter\x1A<\x0A\x0AInterleave\x12.\x0A\x07filters\x18\x01 \x03(\x0B2\x1D.google.bigtable.v2.RowFilter\x1A\xAD\x01\x0A\x09Condition\x127\x0A\x10predicate_filter\x18\x01 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\x122\x0A\x0Btrue_filter\x18\x02 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\x123\x0A\x0Cfalse_filter\x18\x03 \x01(\x0B2\x1D.google.bigtable.v2.RowFilterB\x08\x0A\x06filter\"\xAD\x08\x0A\x08Mutation\x128\x0A\x08set_cell\x18\x01 \x01(\x0B2\$.google.bigtable.v2.Mutation.SetCellH\x00\x12=\x0A\x0Badd_to_cell\x18\x05 \x01(\x0B2&.google.bigtable.v2.Mutation.AddToCellH\x00\x12A\x0A\x0Dmerge_to_cell\x18\x06 \x01(\x0B2(.google.bigtable.v2.Mutation.MergeToCellH\x00\x12K\x0A\x12delete_from_column\x18\x02 \x01(\x0B2-.google.bigtable.v2.Mutation.DeleteFromColumnH\x00\x12K\x0A\x12delete_from_family\x18\x03 \x01(\x0B2-.google.bigtable.v2.Mutation.DeleteFromFamilyH\x00\x12E\x0A\x0Fdelete_from_row\x18\x04 \x01(\x0B2*.google.bigtable.v2.Mutation.DeleteFromRowH\x00\x1Aa\x0A\x07SetCell\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x12\x18\x0A\x10column_qualifier\x18\x02 \x01(\x0C\x12\x18\x0A\x10timestamp_micros\x18\x03 \x01(\x03\x12\x0D\x0A\x05value\x18\x04 \x01(\x0C\x1A\xAD\x01\x0A\x09AddToCell\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x123\x0A\x10column_qualifier\x18\x02 \x01(\x0B2\x19.google.bigtable.v2.Value\x12,\x0A\x09timestamp\x18\x03 \x01(\x0B2\x19.google.bigtable.v2.Value\x12(\x0A\x05input\x18\x04 \x01(\x0B2\x19.google.bigtable.v2.Value\x1A\xAF\x01\x0A\x0BMergeToCell\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x123\x0A\x10column_qualifier\x18\x02 \x01(\x0B2\x19.google.bigtable.v2.Value\x12,\x0A\x09timestamp\x18\x03 \x01(\x0B2\x19.google.bigtable.v2.Value\x12(\x0A\x05input\x18\x04 \x01(\x0B2\x19.google.bigtable.v2.Value\x1Ay\x0A\x10DeleteFromColumn\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x12\x18\x0A\x10column_qualifier\x18\x02 \x01(\x0C\x126\x0A\x0Atime_range\x18\x03 \x01(\x0B2\".google.bigtable.v2.TimestampRange\x1A'\x0A\x10DeleteFromFamily\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x1A\x0F\x0A\x0DDeleteFromRowB\x0A\x0A\x08mutation\"\x80\x01\x0A\x13ReadModifyWriteRule\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x12\x18\x0A\x10column_qualifier\x18\x02 \x01(\x0C\x12\x16\x0A\x0Cappend_value\x18\x03 \x01(\x0CH\x00\x12\x1A\x0A\x10increment_amount\x18\x04 \x01(\x03H\x00B\x06\x0A\x04rule\"B\x0A\x0FStreamPartition\x12/\x0A\x09row_range\x18\x01 \x01(\x0B2\x1C.google.bigtable.v2.RowRange\"W\x0A\x18StreamContinuationTokens\x12;\x0A\x06tokens\x18\x01 \x03(\x0B2+.google.bigtable.v2.StreamContinuationToken\"`\x0A\x17StreamContinuationToken\x126\x0A\x09partition\x18\x01 \x01(\x0B2#.google.bigtable.v2.StreamPartition\x12\x0D\x0A\x05token\x18\x02 \x01(\x09\"\x0D\x0A\x0BProtoFormat\"F\x0A\x0EColumnMetadata\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12&\x0A\x04type\x18\x02 \x01(\x0B2\x18.google.bigtable.v2.Type\"B\x0A\x0BProtoSchema\x123\x0A\x07columns\x18\x01 \x03(\x0B2\".google.bigtable.v2.ColumnMetadata\"V\x0A\x11ResultSetMetadata\x127\x0A\x0Cproto_schema\x18\x01 \x01(\x0B2\x1F.google.bigtable.v2.ProtoSchemaH\x00B\x08\x0A\x06schema\"6\x0A\x09ProtoRows\x12)\x0A\x06values\x18\x02 \x03(\x0B2\x19.google.bigtable.v2.Value\"\$\x0A\x0EProtoRowsBatch\x12\x12\x0A\x0Abatch_data\x18\x01 \x01(\x0C\"\xD5\x01\x0A\x10PartialResultSet\x12>\x0A\x10proto_rows_batch\x18\x03 \x01(\x0B2\".google.bigtable.v2.ProtoRowsBatchH\x00\x12\x1B\x0A\x0Ebatch_checksum\x18\x06 \x01(\x0DH\x01\x88\x01\x01\x12\x14\x0A\x0Cresume_token\x18\x05 \x01(\x0C\x12\x0D\x0A\x05reset\x18\x07 \x01(\x08\x12\x1C\x0A\x14estimated_batch_size\x18\x04 \x01(\x05B\x0E\x0A\x0Cpartial_rowsB\x11\x0A\x0F_batch_checksum\"L\x0A\x0BIdempotency\x12\x0D\x0A\x05token\x18\x01 \x01(\x0C\x12.\x0A\x0Astart_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\xB3\x01\x0A\x16com.google.bigtable.v2B\x09DataProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" + "\x0A\x87'\x0A\x1Dgoogle/bigtable/v2/data.proto\x12\x12google.bigtable.v2\x1A\x1Egoogle/bigtable/v2/types.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x16google/type/date.proto\"@\x0A\x03Row\x12\x0B\x0A\x03key\x18\x01 \x01(\x0C\x12,\x0A\x08families\x18\x02 \x03(\x0B2\x1A.google.bigtable.v2.Family\"C\x0A\x06Family\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12+\x0A\x07columns\x18\x02 \x03(\x0B2\x1A.google.bigtable.v2.Column\"D\x0A\x06Column\x12\x11\x0A\x09qualifier\x18\x01 \x01(\x0C\x12'\x0A\x05cells\x18\x02 \x03(\x0B2\x18.google.bigtable.v2.Cell\"?\x0A\x04Cell\x12\x18\x0A\x10timestamp_micros\x18\x01 \x01(\x03\x12\x0D\x0A\x05value\x18\x02 \x01(\x0C\x12\x0E\x0A\x06labels\x18\x03 \x03(\x09\"\xF4\x02\x0A\x05Value\x12&\x0A\x04type\x18\x07 \x01(\x0B2\x18.google.bigtable.v2.Type\x12\x13\x0A\x09raw_value\x18\x08 \x01(\x0CH\x00\x12\x1E\x0A\x14raw_timestamp_micros\x18\x09 \x01(\x03H\x00\x12\x15\x0A\x0Bbytes_value\x18\x02 \x01(\x0CH\x00\x12\x16\x0A\x0Cstring_value\x18\x03 \x01(\x09H\x00\x12\x13\x0A\x09int_value\x18\x06 \x01(\x03H\x00\x12\x14\x0A\x0Abool_value\x18\x0A \x01(\x08H\x00\x12\x15\x0A\x0Bfloat_value\x18\x0B \x01(\x01H\x00\x125\x0A\x0Ftimestamp_value\x18\x0C \x01(\x0B2\x1A.google.protobuf.TimestampH\x00\x12'\x0A\x0Adate_value\x18\x0D \x01(\x0B2\x11.google.type.DateH\x00\x125\x0A\x0Barray_value\x18\x04 \x01(\x0B2\x1E.google.bigtable.v2.ArrayValueH\x00B\x06\x0A\x04kind\"7\x0A\x0AArrayValue\x12)\x0A\x06values\x18\x01 \x03(\x0B2\x19.google.bigtable.v2.Value\"\x8A\x01\x0A\x08RowRange\x12\x1A\x0A\x10start_key_closed\x18\x01 \x01(\x0CH\x00\x12\x18\x0A\x0Estart_key_open\x18\x02 \x01(\x0CH\x00\x12\x16\x0A\x0Cend_key_open\x18\x03 \x01(\x0CH\x01\x12\x18\x0A\x0Eend_key_closed\x18\x04 \x01(\x0CH\x01B\x0B\x0A\x09start_keyB\x09\x0A\x07end_key\"L\x0A\x06RowSet\x12\x10\x0A\x08row_keys\x18\x01 \x03(\x0C\x120\x0A\x0Arow_ranges\x18\x02 \x03(\x0B2\x1C.google.bigtable.v2.RowRange\"\xC6\x01\x0A\x0BColumnRange\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x12 \x0A\x16start_qualifier_closed\x18\x02 \x01(\x0CH\x00\x12\x1E\x0A\x14start_qualifier_open\x18\x03 \x01(\x0CH\x00\x12\x1E\x0A\x14end_qualifier_closed\x18\x04 \x01(\x0CH\x01\x12\x1C\x0A\x12end_qualifier_open\x18\x05 \x01(\x0CH\x01B\x11\x0A\x0Fstart_qualifierB\x0F\x0A\x0Dend_qualifier\"N\x0A\x0ETimestampRange\x12\x1E\x0A\x16start_timestamp_micros\x18\x01 \x01(\x03\x12\x1C\x0A\x14end_timestamp_micros\x18\x02 \x01(\x03\"\x98\x01\x0A\x0AValueRange\x12\x1C\x0A\x12start_value_closed\x18\x01 \x01(\x0CH\x00\x12\x1A\x0A\x10start_value_open\x18\x02 \x01(\x0CH\x00\x12\x1A\x0A\x10end_value_closed\x18\x03 \x01(\x0CH\x01\x12\x18\x0A\x0Eend_value_open\x18\x04 \x01(\x0CH\x01B\x0D\x0A\x0Bstart_valueB\x0B\x0A\x09end_value\"!\x0A\x0CValueBitmask\x12\x11\x0A\x04mask\x18\x01 \x01(\x0CB\x03\xE0A\x02\"\xA1\x09\x0A\x09RowFilter\x124\x0A\x05chain\x18\x01 \x01(\x0B2#.google.bigtable.v2.RowFilter.ChainH\x00\x12>\x0A\x0Ainterleave\x18\x02 \x01(\x0B2(.google.bigtable.v2.RowFilter.InterleaveH\x00\x12<\x0A\x09condition\x18\x03 \x01(\x0B2'.google.bigtable.v2.RowFilter.ConditionH\x00\x12\x0E\x0A\x04sink\x18\x10 \x01(\x08H\x00\x12\x19\x0A\x0Fpass_all_filter\x18\x11 \x01(\x08H\x00\x12\x1A\x0A\x10block_all_filter\x18\x12 \x01(\x08H\x00\x12\x1E\x0A\x14row_key_regex_filter\x18\x04 \x01(\x0CH\x00\x12\x1B\x0A\x11row_sample_filter\x18\x0E \x01(\x01H\x00\x12\"\x0A\x18family_name_regex_filter\x18\x05 \x01(\x09H\x00\x12'\x0A\x1Dcolumn_qualifier_regex_filter\x18\x06 \x01(\x0CH\x00\x12>\x0A\x13column_range_filter\x18\x07 \x01(\x0B2\x1F.google.bigtable.v2.ColumnRangeH\x00\x12D\x0A\x16timestamp_range_filter\x18\x08 \x01(\x0B2\".google.bigtable.v2.TimestampRangeH\x00\x12\x1C\x0A\x12value_regex_filter\x18\x09 \x01(\x0CH\x00\x12<\x0A\x12value_range_filter\x18\x0F \x01(\x0B2\x1E.google.bigtable.v2.ValueRangeH\x00\x12%\x0A\x1Bcells_per_row_offset_filter\x18\x0A \x01(\x05H\x00\x12\$\x0A\x1Acells_per_row_limit_filter\x18\x0B \x01(\x05H\x00\x12'\x0A\x1Dcells_per_column_limit_filter\x18\x0C \x01(\x05H\x00\x12!\x0A\x17strip_value_transformer\x18\x0D \x01(\x08H\x00\x12!\x0A\x17apply_label_transformer\x18\x13 \x01(\x09H\x00\x12@\x0A\x14value_bitmask_filter\x18\x14 \x01(\x0B2 .google.bigtable.v2.ValueBitmaskH\x00\x1A7\x0A\x05Chain\x12.\x0A\x07filters\x18\x01 \x03(\x0B2\x1D.google.bigtable.v2.RowFilter\x1A<\x0A\x0AInterleave\x12.\x0A\x07filters\x18\x01 \x03(\x0B2\x1D.google.bigtable.v2.RowFilter\x1A\xAD\x01\x0A\x09Condition\x127\x0A\x10predicate_filter\x18\x01 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\x122\x0A\x0Btrue_filter\x18\x02 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\x123\x0A\x0Cfalse_filter\x18\x03 \x01(\x0B2\x1D.google.bigtable.v2.RowFilterB\x08\x0A\x06filter\"\xAD\x08\x0A\x08Mutation\x128\x0A\x08set_cell\x18\x01 \x01(\x0B2\$.google.bigtable.v2.Mutation.SetCellH\x00\x12=\x0A\x0Badd_to_cell\x18\x05 \x01(\x0B2&.google.bigtable.v2.Mutation.AddToCellH\x00\x12A\x0A\x0Dmerge_to_cell\x18\x06 \x01(\x0B2(.google.bigtable.v2.Mutation.MergeToCellH\x00\x12K\x0A\x12delete_from_column\x18\x02 \x01(\x0B2-.google.bigtable.v2.Mutation.DeleteFromColumnH\x00\x12K\x0A\x12delete_from_family\x18\x03 \x01(\x0B2-.google.bigtable.v2.Mutation.DeleteFromFamilyH\x00\x12E\x0A\x0Fdelete_from_row\x18\x04 \x01(\x0B2*.google.bigtable.v2.Mutation.DeleteFromRowH\x00\x1Aa\x0A\x07SetCell\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x12\x18\x0A\x10column_qualifier\x18\x02 \x01(\x0C\x12\x18\x0A\x10timestamp_micros\x18\x03 \x01(\x03\x12\x0D\x0A\x05value\x18\x04 \x01(\x0C\x1A\xAD\x01\x0A\x09AddToCell\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x123\x0A\x10column_qualifier\x18\x02 \x01(\x0B2\x19.google.bigtable.v2.Value\x12,\x0A\x09timestamp\x18\x03 \x01(\x0B2\x19.google.bigtable.v2.Value\x12(\x0A\x05input\x18\x04 \x01(\x0B2\x19.google.bigtable.v2.Value\x1A\xAF\x01\x0A\x0BMergeToCell\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x123\x0A\x10column_qualifier\x18\x02 \x01(\x0B2\x19.google.bigtable.v2.Value\x12,\x0A\x09timestamp\x18\x03 \x01(\x0B2\x19.google.bigtable.v2.Value\x12(\x0A\x05input\x18\x04 \x01(\x0B2\x19.google.bigtable.v2.Value\x1Ay\x0A\x10DeleteFromColumn\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x12\x18\x0A\x10column_qualifier\x18\x02 \x01(\x0C\x126\x0A\x0Atime_range\x18\x03 \x01(\x0B2\".google.bigtable.v2.TimestampRange\x1A'\x0A\x10DeleteFromFamily\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x1A\x0F\x0A\x0DDeleteFromRowB\x0A\x0A\x08mutation\"\x80\x01\x0A\x13ReadModifyWriteRule\x12\x13\x0A\x0Bfamily_name\x18\x01 \x01(\x09\x12\x18\x0A\x10column_qualifier\x18\x02 \x01(\x0C\x12\x16\x0A\x0Cappend_value\x18\x03 \x01(\x0CH\x00\x12\x1A\x0A\x10increment_amount\x18\x04 \x01(\x03H\x00B\x06\x0A\x04rule\"B\x0A\x0FStreamPartition\x12/\x0A\x09row_range\x18\x01 \x01(\x0B2\x1C.google.bigtable.v2.RowRange\"W\x0A\x18StreamContinuationTokens\x12;\x0A\x06tokens\x18\x01 \x03(\x0B2+.google.bigtable.v2.StreamContinuationToken\"`\x0A\x17StreamContinuationToken\x126\x0A\x09partition\x18\x01 \x01(\x0B2#.google.bigtable.v2.StreamPartition\x12\x0D\x0A\x05token\x18\x02 \x01(\x09\"\x0D\x0A\x0BProtoFormat\"F\x0A\x0EColumnMetadata\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12&\x0A\x04type\x18\x02 \x01(\x0B2\x18.google.bigtable.v2.Type\"B\x0A\x0BProtoSchema\x123\x0A\x07columns\x18\x01 \x03(\x0B2\".google.bigtable.v2.ColumnMetadata\"V\x0A\x11ResultSetMetadata\x127\x0A\x0Cproto_schema\x18\x01 \x01(\x0B2\x1F.google.bigtable.v2.ProtoSchemaH\x00B\x08\x0A\x06schema\"6\x0A\x09ProtoRows\x12)\x0A\x06values\x18\x02 \x03(\x0B2\x19.google.bigtable.v2.Value\"\$\x0A\x0EProtoRowsBatch\x12\x12\x0A\x0Abatch_data\x18\x01 \x01(\x0C\"\xD5\x01\x0A\x10PartialResultSet\x12>\x0A\x10proto_rows_batch\x18\x03 \x01(\x0B2\".google.bigtable.v2.ProtoRowsBatchH\x00\x12\x1B\x0A\x0Ebatch_checksum\x18\x06 \x01(\x0DH\x01\x88\x01\x01\x12\x14\x0A\x0Cresume_token\x18\x05 \x01(\x0C\x12\x0D\x0A\x05reset\x18\x07 \x01(\x08\x12\x1C\x0A\x14estimated_batch_size\x18\x04 \x01(\x05B\x0E\x0A\x0Cpartial_rowsB\x11\x0A\x0F_batch_checksum\"L\x0A\x0BIdempotency\x12\x0D\x0A\x05token\x18\x01 \x01(\x0C\x12.\x0A\x0Astart_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\xB3\x01\x0A\x16com.google.bigtable.v2B\x09DataProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" , true); static::$is_initialized = true; diff --git a/src/V2/RowFilter.php b/src/V2/RowFilter.php index c728a28..3ba593f 100644 --- a/src/V2/RowFilter.php +++ b/src/V2/RowFilter.php @@ -186,6 +186,11 @@ class RowFilter extends \Google\Protobuf\Internal\Message * an Interleave to contain multiple `apply_label_transformers`, as they * will be applied to separate copies of the input. This may be relaxed in * the future. + * @type \Google\Cloud\Bigtable\V2\ValueBitmask $value_bitmask_filter + * Matches only cells with values that satisfy the condition `(value & mask) + * == mask`. + * The mask length must exactly match the value length, otherwise the cell + * is not considered a match. * } */ public function __construct($data = NULL) { @@ -978,6 +983,43 @@ public function setApplyLabelTransformer($var) return $this; } + /** + * Matches only cells with values that satisfy the condition `(value & mask) + * == mask`. + * The mask length must exactly match the value length, otherwise the cell + * is not considered a match. + * + * Generated from protobuf field .google.bigtable.v2.ValueBitmask value_bitmask_filter = 20; + * @return \Google\Cloud\Bigtable\V2\ValueBitmask|null + */ + public function getValueBitmaskFilter() + { + return $this->readOneof(20); + } + + public function hasValueBitmaskFilter() + { + return $this->hasOneof(20); + } + + /** + * Matches only cells with values that satisfy the condition `(value & mask) + * == mask`. + * The mask length must exactly match the value length, otherwise the cell + * is not considered a match. + * + * Generated from protobuf field .google.bigtable.v2.ValueBitmask value_bitmask_filter = 20; + * @param \Google\Cloud\Bigtable\V2\ValueBitmask $var + * @return $this + */ + public function setValueBitmaskFilter($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Bigtable\V2\ValueBitmask::class); + $this->writeOneof(20, $var); + + return $this; + } + /** * @return string */ diff --git a/src/V2/ValueBitmask.php b/src/V2/ValueBitmask.php new file mode 100644 index 0000000..77333c8 --- /dev/null +++ b/src/V2/ValueBitmask.php @@ -0,0 +1,79 @@ +google.bigtable.v2.ValueBitmask + */ +class ValueBitmask extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Mask applied to the value. + * Evaluated as: `(value & mask) == mask` + * The mask length must exactly match the value length, otherwise the cell is + * not considered a match. + * + * Generated from protobuf field bytes mask = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $mask = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $mask + * Required. Mask applied to the value. + * Evaluated as: `(value & mask) == mask` + * The mask length must exactly match the value length, otherwise the cell is + * not considered a match. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Bigtable\V2\Data::initOnce(); + parent::__construct($data); + } + + /** + * Required. Mask applied to the value. + * Evaluated as: `(value & mask) == mask` + * The mask length must exactly match the value length, otherwise the cell is + * not considered a match. + * + * Generated from protobuf field bytes mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getMask() + { + return $this->mask; + } + + /** + * Required. Mask applied to the value. + * Evaluated as: `(value & mask) == mask` + * The mask length must exactly match the value length, otherwise the cell is + * not considered a match. + * + * Generated from protobuf field bytes mask = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setMask($var) + { + GPBUtil::checkString($var, False); + $this->mask = $var; + + return $this; + } + +} + From 302aca63f26565a0561f6dc8a370ca47722cd554 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 15:24:55 +0000 Subject: [PATCH 5/6] fix: [Bigtable] Existing value `SESSION_TYPE_TEST = -1` is changed to `SESSION_TYPE_TEST = 9999` in enum `SessionType` (#9138) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: Existing value `SESSION_TYPE_TEST = -1` is changed to `SESSION_TYPE_TEST = 9999` in enum `SessionType` PiperOrigin-RevId: 906375259 Source-Link: https://github.com/googleapis/googleapis/commit/f1a8f2938d346ef2eb82cf95eba2668efc6f6517 Source-Link: https://github.com/googleapis/googleapis-gen/commit/9fc0d96c02e879bfc4b8df1f36c088d63ea285e6 Copy-Tag: eyJwIjoiQmlndGFibGUvLk93bEJvdC55YW1sIiwiaCI6IjlmYzBkOTZjMDJlODc5YmZjNGI4ZGYxZjM2YzA4OGQ2M2VhMjg1ZTYifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- metadata/V2/Session.php | 2 +- src/V2/SessionType.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/metadata/V2/Session.php b/metadata/V2/Session.php index aac2cf8..efe1126 100644 --- a/metadata/V2/Session.php +++ b/metadata/V2/Session.php @@ -24,7 +24,7 @@ public static function initOnce() { \GPBMetadata\Google\Rpc\ErrorDetails::initOnce(); \GPBMetadata\Google\Rpc\Status::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x9A>\x0A google/bigtable/v2/session.proto\x12\x12google.bigtable.v2\x1A\x19google/api/resource.proto\x1A\x1Dgoogle/bigtable/v2/data.proto\x1A&google/bigtable/v2/feature_flags.proto\x1A&google/bigtable/v2/request_stats.proto\x1A google/protobuf/descriptor.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/rpc/error_details.proto\x1A\x17google/rpc/status.proto\"\x82\x01\x0A\x1DGetClientConfigurationRequest\x12D\x0A\x0Dinstance_name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x1B\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xEE\x02\x0A\x14LoadBalancingOptions\x12Q\x0A\x0Fleast_in_flight\x18\x01 \x01(\x0B26.google.bigtable.v2.LoadBalancingOptions.LeastInFlightH\x00\x12F\x0A\x09peak_ewma\x18\x02 \x01(\x0B21.google.bigtable.v2.LoadBalancingOptions.PeakEwmaH\x00\x12A\x0A\x06random\x18\x04 \x01(\x0B2/.google.bigtable.v2.LoadBalancingOptions.RandomH\x00\x1A+\x0A\x0DLeastInFlight\x12\x1A\x0A\x12random_subset_size\x18\x01 \x01(\x03\x1A&\x0A\x08PeakEwma\x12\x1A\x0A\x12random_subset_size\x18\x01 \x01(\x03\x1A\x08\x0A\x06RandomB\x19\x0A\x17load_balancing_strategy\"\xBC\x0A\x0A\x1ASessionClientConfiguration\x12\x14\x0A\x0Csession_load\x18\x01 \x01(\x02\x12L\x0A\x16load_balancing_options\x18\x02 \x01(\x0B2(.google.bigtable.v2.LoadBalancingOptionsB\x02\x18\x01\x12f\x0A\x15channel_configuration\x18\x03 \x01(\x0B2G.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration\x12k\x0A\x1Asession_pool_configuration\x18\x04 \x01(\x0B2G.google.bigtable.v2.SessionClientConfiguration.SessionPoolConfiguration\x1A\xFE\x04\x0A\x18ChannelPoolConfiguration\x12\x18\x0A\x10min_server_count\x18\x01 \x01(\x05\x12\x18\x0A\x10max_server_count\x18\x02 \x01(\x05\x12 \x0A\x18per_server_session_count\x18\x03 \x01(\x05\x12\x87\x01\x0A\x1Bdirect_access_with_fallback\x18\x04 \x01(\x0B2`.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessWithFallbackH\x00\x12v\x0A\x12direct_access_only\x18\x05 \x01(\x0B2X.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessOnlyH\x00\x12p\x0A\x0Fcloud_path_only\x18\x06 \x01(\x0B2U.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.CloudPathOnlyH\x00\x1Ak\x0A\x18DirectAccessWithFallback\x12\x1C\x0A\x14error_rate_threshold\x18\x01 \x01(\x02\x121\x0A\x0Echeck_interval\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x1A\x12\x0A\x10DirectAccessOnly\x1A\x0F\x0A\x0DCloudPathOnlyB\x06\x0A\x04mode\x1A\xE3\x02\x0A\x18SessionPoolConfiguration\x12\x10\x0A\x08headroom\x18\x01 \x01(\x02\x12\x19\x0A\x11min_session_count\x18\x02 \x01(\x05\x12\x19\x0A\x11max_session_count\x18\x03 \x01(\x05\x12 \x0A\x18new_session_queue_length\x18\x04 \x01(\x05\x12#\x0A\x1Bnew_session_creation_budget\x18\x05 \x01(\x05\x12?\x0A\x1Cnew_session_creation_penalty\x18\x06 \x01(\x0B2\x19.google.protobuf.Duration\x12-\x0A%consecutive_session_failure_threshold\x18\x08 \x01(\x05\x12H\x0A\x16load_balancing_options\x18\x09 \x01(\x0B2(.google.bigtable.v2.LoadBalancingOptions\"\xAD\x01\x0A\x16TelemetryConfiguration\x12I\x0A\x0Fdebug_tag_level\x18\x01 \x01(\x0E20.google.bigtable.v2.TelemetryConfiguration.Level\"H\x0A\x05Level\x12\x15\x0A\x11LEVEL_UNSPECIFIED\x10\x00\x12\x09\x0A\x05DEBUG\x10\x01\x12\x08\x0A\x04INFO\x10\x02\x12\x08\x0A\x04WARN\x10\x03\x12\x09\x0A\x05ERROR\x10\x04\"\x8F\x04\x0A\x13ClientConfiguration\x12M\x0A\x15session_configuration\x18\x02 \x01(\x0B2..google.bigtable.v2.SessionClientConfiguration\x12\x16\x0A\x0Cstop_polling\x18\x03 \x01(\x08H\x00\x129\x0A\x10polling_interval\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationB\x02\x18\x01H\x00\x12]\x0A\x15polling_configuration\x18\x05 \x01(\x0B2<.google.bigtable.v2.ClientConfiguration.PollingConfigurationH\x00\x12K\x0A\x17telemetry_configuration\x18\x06 \x01(\x0B2*.google.bigtable.v2.TelemetryConfiguration\x1A\x9E\x01\x0A\x14PollingConfiguration\x123\x0A\x10polling_interval\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x124\x0A\x11validity_duration\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\x1B\x0A\x13max_rpc_retry_count\x18\x06 \x01(\x05B\x09\x0A\x07polling\"\xDB\x01\x0A\x0ESessionRequest\x12>\x0A\x0Copen_session\x18\x01 \x01(\x0B2&.google.bigtable.v2.OpenSessionRequestH\x00\x12@\x0A\x0Dclose_session\x18\x02 \x01(\x0B2'.google.bigtable.v2.CloseSessionRequestH\x00\x12<\x0A\x0Bvirtual_rpc\x18\x03 \x01(\x0B2%.google.bigtable.v2.VirtualRpcRequestH\x00B\x09\x0A\x07payload\"\xDC\x03\x0A\x0FSessionResponse\x12?\x0A\x0Copen_session\x18\x01 \x01(\x0B2'.google.bigtable.v2.OpenSessionResponseH\x00\x12=\x0A\x0Bvirtual_rpc\x18\x02 \x01(\x0B2&.google.bigtable.v2.VirtualRpcResponseH\x00\x122\x0A\x05error\x18\x03 \x01(\x0B2!.google.bigtable.v2.ErrorResponseH\x00\x12K\x0A\x12session_parameters\x18\x04 \x01(\x0B2-.google.bigtable.v2.SessionParametersResponseH\x00\x12:\x0A\x09heartbeat\x18\x05 \x01(\x0B2%.google.bigtable.v2.HeartbeatResponseH\x00\x125\x0A\x07go_away\x18\x06 \x01(\x0B2\".google.bigtable.v2.GoAwayResponseH\x00\x12J\x0A\x16session_refresh_config\x18\x07 \x01(\x0B2(.google.bigtable.v2.SessionRefreshConfigH\x00B\x09\x0A\x07payload\"\xB8\x01\x0A\x12OpenSessionRequest\x12\x18\x0A\x10protocol_version\x18\x01 \x01(\x03\x12/\x0A\x05flags\x18\x02 \x01(\x0B2 .google.bigtable.v2.FeatureFlags\x12.\x0A&consecutive_failed_connection_attempts\x18\x03 \x01(\x03\x12\x16\x0A\x0Erouting_cookie\x18\x04 \x01(\x0C\x12\x0F\x0A\x07payload\x18\x05 \x01(\x0C\"s\x0A\x11BackendIdentifier\x12\x1A\x0A\x12google_frontend_id\x18\x01 \x01(\x03\x12\x1F\x0A\x17application_frontend_id\x18\x02 \x01(\x03\x12!\x0A\x19application_frontend_zone\x18\x03 \x01(\x09\"^\x0A\x13OpenSessionResponse\x126\x0A\x07backend\x18\x02 \x01(\x0B2%.google.bigtable.v2.BackendIdentifier\x12\x0F\x0A\x07payload\x18\x01 \x01(\x0C\"\xDB\x02\x0A\x13CloseSessionRequest\x12J\x0A\x06reason\x18\x01 \x01(\x0E2:.google.bigtable.v2.CloseSessionRequest.CloseSessionReason\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\"\xE2\x01\x0A\x12CloseSessionReason\x12\x1E\x0A\x1ACLOSE_SESSION_REASON_UNSET\x10\x00\x12\x1F\x0A\x1BCLOSE_SESSION_REASON_GOAWAY\x10\x01\x12\x1E\x0A\x1ACLOSE_SESSION_REASON_ERROR\x10\x02\x12\x1D\x0A\x19CLOSE_SESSION_REASON_USER\x10\x03\x12!\x0A\x1DCLOSE_SESSION_REASON_DOWNSIZE\x10\x04\x12)\x0A%CLOSE_SESSION_REASON_MISSED_HEARTBEAT\x10\x05\"\xF5\x01\x0A\x10OpenTableRequest\x12\x12\x0A\x0Atable_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12C\x0A\x0Apermission\x18\x03 \x01(\x0E2/.google.bigtable.v2.OpenTableRequest.Permission\"h\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01\x12\x14\x0A\x10PERMISSION_WRITE\x10\x02\x12\x19\x0A\x15PERMISSION_READ_WRITE\x10\x03:\x06\xD0\xC2\xED\x91\x04\x01\"\x1B\x0A\x11OpenTableResponse:\x06\xD0\xC2\xED\x91\x04\x01\"\x91\x02\x0A\x19OpenAuthorizedViewRequest\x12\x1C\x0A\x14authorized_view_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12L\x0A\x0Apermission\x18\x03 \x01(\x0E28.google.bigtable.v2.OpenAuthorizedViewRequest.Permission\"h\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01\x12\x14\x0A\x10PERMISSION_WRITE\x10\x02\x12\x19\x0A\x15PERMISSION_READ_WRITE\x10\x03:\x06\xD0\xC2\xED\x91\x04\x02\"\$\x0A\x1AOpenAuthorizedViewResponse:\x06\xD0\xC2\xED\x91\x04\x02\"\xE6\x01\x0A\x1BOpenMaterializedViewRequest\x12\x1E\x0A\x16materialized_view_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12N\x0A\x0Apermission\x18\x03 \x01(\x0E2:.google.bigtable.v2.OpenMaterializedViewRequest.Permission\"7\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01:\x06\xD0\xC2\xED\x91\x04\x03\"&\x0A\x1COpenMaterializedViewResponse:\x06\xD0\xC2\xED\x91\x04\x03\"\x8F\x02\x0A\x11VirtualRpcRequest\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12+\x0A\x08deadline\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12@\x0A\x08metadata\x18\x03 \x01(\x0B2..google.bigtable.v2.VirtualRpcRequest.Metadata\x12\x0F\x0A\x07payload\x18\x04 \x01(\x0C\x1Aj\x0A\x08Metadata\x12\x16\x0A\x0Eattempt_number\x18\x01 \x01(\x03\x121\x0A\x0Dattempt_start\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x13\x0A\x0Btraceparent\x18\x03 \x01(\x09\"9\x0A\x12ClusterInformation\x12\x12\x0A\x0Acluster_id\x18\x01 \x01(\x09\x12\x0F\x0A\x07zone_id\x18\x02 \x01(\x09\"I\x0A\x13SessionRequestStats\x122\x0A\x0Fbackend_latency\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\"\xAB\x01\x0A\x12VirtualRpcResponse\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12<\x0A\x0Ccluster_info\x18\x02 \x01(\x0B2&.google.bigtable.v2.ClusterInformation\x126\x0A\x05stats\x18\x04 \x01(\x0B2'.google.bigtable.v2.SessionRequestStats\x12\x0F\x0A\x07payload\x18\x03 \x01(\x0C\"\xAC\x01\x0A\x0DErrorResponse\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12<\x0A\x0Ccluster_info\x18\x02 \x01(\x0B2&.google.bigtable.v2.ClusterInformation\x12\"\x0A\x06status\x18\x03 \x01(\x0B2\x12.google.rpc.Status\x12)\x0A\x0Aretry_info\x18\x04 \x01(\x0B2\x15.google.rpc.RetryInfo\"\xA4\x01\x0A\x0CTableRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00\x12A\x0A\x0Amutate_row\x18\x02 \x01(\x0B2+.google.bigtable.v2.SessionMutateRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x01B\x09\x0A\x07payload\"\xA7\x01\x0A\x0DTableResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00\x12B\x0A\x0Amutate_row\x18\x02 \x01(\x0B2,.google.bigtable.v2.SessionMutateRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x01B\x09\x0A\x07payload\"\xAD\x01\x0A\x15AuthorizedViewRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00\x12A\x0A\x0Amutate_row\x18\x02 \x01(\x0B2+.google.bigtable.v2.SessionMutateRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x02B\x09\x0A\x07payload\"\xB0\x01\x0A\x16AuthorizedViewResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00\x12B\x0A\x0Amutate_row\x18\x02 \x01(\x0B2,.google.bigtable.v2.SessionMutateRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x02B\x09\x0A\x07payload\"l\x0A\x17MaterializedViewRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x03B\x09\x0A\x07payload\"n\x0A\x18MaterializedViewResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x03B\x09\x0A\x07payload\"S\x0A\x15SessionReadRowRequest\x12\x0B\x0A\x03key\x18\x01 \x01(\x0C\x12-\x0A\x06filter\x18\x02 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\"o\x0A\x16SessionReadRowResponse\x12\$\x0A\x03row\x18\x01 \x01(\x0B2\x17.google.bigtable.v2.Row\x12/\x0A\x05stats\x18\x02 \x01(\x0B2 .google.bigtable.v2.RequestStats\"W\x0A\x17SessionMutateRowRequest\x12\x0B\x0A\x03key\x18\x01 \x01(\x0C\x12/\x0A\x09mutations\x18\x02 \x03(\x0B2\x1C.google.bigtable.v2.Mutation\"\x1A\x0A\x18SessionMutateRowResponse\"J\x0A\x19SessionParametersResponse\x12-\x0A\x0Akeep_alive\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\"\x13\x0A\x11HeartbeatResponse\"S\x0A\x0EGoAwayResponse\x12\x0E\x0A\x06reason\x18\x01 \x01(\x09\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\x12\x1C\x0A\x14last_rpc_id_admitted\x18\x03 \x01(\x03\"\xDA\x01\x0A\x14SessionRefreshConfig\x12F\x0A\x16optimized_open_request\x18\x01 \x01(\x0B2&.google.bigtable.v2.OpenSessionRequest\x12H\x0A\x08metadata\x18\x02 \x03(\x0B21.google.bigtable.v2.SessionRefreshConfig.MetadataB\x03\xE0A\x03\x1A0\x0A\x08Metadata\x12\x10\x0A\x03key\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05value\x18\x02 \x01(\x0CB\x03\xE0A\x03*\xA3\x01\x0A\x0BSessionType\x12\x16\x0A\x12SESSION_TYPE_UNSET\x10\x00\x12\x16\x0A\x12SESSION_TYPE_TABLE\x10\x01\x12 \x0A\x1CSESSION_TYPE_AUTHORIZED_VIEW\x10\x02\x12\"\x0A\x1ESESSION_TYPE_MATERIALIZED_VIEW\x10\x03\x12\x1E\x0A\x11SESSION_TYPE_TEST\x10\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01B\xB6\x01\x0A\x16com.google.bigtable.v2B\x0CSessionProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" + "\x0A\x92>\x0A google/bigtable/v2/session.proto\x12\x12google.bigtable.v2\x1A\x19google/api/resource.proto\x1A\x1Dgoogle/bigtable/v2/data.proto\x1A&google/bigtable/v2/feature_flags.proto\x1A&google/bigtable/v2/request_stats.proto\x1A google/protobuf/descriptor.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/rpc/error_details.proto\x1A\x17google/rpc/status.proto\"\x82\x01\x0A\x1DGetClientConfigurationRequest\x12D\x0A\x0Dinstance_name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%bigtableadmin.googleapis.com/Instance\x12\x1B\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09B\x03\xE0A\x01\"\xEE\x02\x0A\x14LoadBalancingOptions\x12Q\x0A\x0Fleast_in_flight\x18\x01 \x01(\x0B26.google.bigtable.v2.LoadBalancingOptions.LeastInFlightH\x00\x12F\x0A\x09peak_ewma\x18\x02 \x01(\x0B21.google.bigtable.v2.LoadBalancingOptions.PeakEwmaH\x00\x12A\x0A\x06random\x18\x04 \x01(\x0B2/.google.bigtable.v2.LoadBalancingOptions.RandomH\x00\x1A+\x0A\x0DLeastInFlight\x12\x1A\x0A\x12random_subset_size\x18\x01 \x01(\x03\x1A&\x0A\x08PeakEwma\x12\x1A\x0A\x12random_subset_size\x18\x01 \x01(\x03\x1A\x08\x0A\x06RandomB\x19\x0A\x17load_balancing_strategy\"\xBC\x0A\x0A\x1ASessionClientConfiguration\x12\x14\x0A\x0Csession_load\x18\x01 \x01(\x02\x12L\x0A\x16load_balancing_options\x18\x02 \x01(\x0B2(.google.bigtable.v2.LoadBalancingOptionsB\x02\x18\x01\x12f\x0A\x15channel_configuration\x18\x03 \x01(\x0B2G.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration\x12k\x0A\x1Asession_pool_configuration\x18\x04 \x01(\x0B2G.google.bigtable.v2.SessionClientConfiguration.SessionPoolConfiguration\x1A\xFE\x04\x0A\x18ChannelPoolConfiguration\x12\x18\x0A\x10min_server_count\x18\x01 \x01(\x05\x12\x18\x0A\x10max_server_count\x18\x02 \x01(\x05\x12 \x0A\x18per_server_session_count\x18\x03 \x01(\x05\x12\x87\x01\x0A\x1Bdirect_access_with_fallback\x18\x04 \x01(\x0B2`.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessWithFallbackH\x00\x12v\x0A\x12direct_access_only\x18\x05 \x01(\x0B2X.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.DirectAccessOnlyH\x00\x12p\x0A\x0Fcloud_path_only\x18\x06 \x01(\x0B2U.google.bigtable.v2.SessionClientConfiguration.ChannelPoolConfiguration.CloudPathOnlyH\x00\x1Ak\x0A\x18DirectAccessWithFallback\x12\x1C\x0A\x14error_rate_threshold\x18\x01 \x01(\x02\x121\x0A\x0Echeck_interval\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x1A\x12\x0A\x10DirectAccessOnly\x1A\x0F\x0A\x0DCloudPathOnlyB\x06\x0A\x04mode\x1A\xE3\x02\x0A\x18SessionPoolConfiguration\x12\x10\x0A\x08headroom\x18\x01 \x01(\x02\x12\x19\x0A\x11min_session_count\x18\x02 \x01(\x05\x12\x19\x0A\x11max_session_count\x18\x03 \x01(\x05\x12 \x0A\x18new_session_queue_length\x18\x04 \x01(\x05\x12#\x0A\x1Bnew_session_creation_budget\x18\x05 \x01(\x05\x12?\x0A\x1Cnew_session_creation_penalty\x18\x06 \x01(\x0B2\x19.google.protobuf.Duration\x12-\x0A%consecutive_session_failure_threshold\x18\x08 \x01(\x05\x12H\x0A\x16load_balancing_options\x18\x09 \x01(\x0B2(.google.bigtable.v2.LoadBalancingOptions\"\xAD\x01\x0A\x16TelemetryConfiguration\x12I\x0A\x0Fdebug_tag_level\x18\x01 \x01(\x0E20.google.bigtable.v2.TelemetryConfiguration.Level\"H\x0A\x05Level\x12\x15\x0A\x11LEVEL_UNSPECIFIED\x10\x00\x12\x09\x0A\x05DEBUG\x10\x01\x12\x08\x0A\x04INFO\x10\x02\x12\x08\x0A\x04WARN\x10\x03\x12\x09\x0A\x05ERROR\x10\x04\"\x8F\x04\x0A\x13ClientConfiguration\x12M\x0A\x15session_configuration\x18\x02 \x01(\x0B2..google.bigtable.v2.SessionClientConfiguration\x12\x16\x0A\x0Cstop_polling\x18\x03 \x01(\x08H\x00\x129\x0A\x10polling_interval\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationB\x02\x18\x01H\x00\x12]\x0A\x15polling_configuration\x18\x05 \x01(\x0B2<.google.bigtable.v2.ClientConfiguration.PollingConfigurationH\x00\x12K\x0A\x17telemetry_configuration\x18\x06 \x01(\x0B2*.google.bigtable.v2.TelemetryConfiguration\x1A\x9E\x01\x0A\x14PollingConfiguration\x123\x0A\x10polling_interval\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x124\x0A\x11validity_duration\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\x1B\x0A\x13max_rpc_retry_count\x18\x06 \x01(\x05B\x09\x0A\x07polling\"\xDB\x01\x0A\x0ESessionRequest\x12>\x0A\x0Copen_session\x18\x01 \x01(\x0B2&.google.bigtable.v2.OpenSessionRequestH\x00\x12@\x0A\x0Dclose_session\x18\x02 \x01(\x0B2'.google.bigtable.v2.CloseSessionRequestH\x00\x12<\x0A\x0Bvirtual_rpc\x18\x03 \x01(\x0B2%.google.bigtable.v2.VirtualRpcRequestH\x00B\x09\x0A\x07payload\"\xDC\x03\x0A\x0FSessionResponse\x12?\x0A\x0Copen_session\x18\x01 \x01(\x0B2'.google.bigtable.v2.OpenSessionResponseH\x00\x12=\x0A\x0Bvirtual_rpc\x18\x02 \x01(\x0B2&.google.bigtable.v2.VirtualRpcResponseH\x00\x122\x0A\x05error\x18\x03 \x01(\x0B2!.google.bigtable.v2.ErrorResponseH\x00\x12K\x0A\x12session_parameters\x18\x04 \x01(\x0B2-.google.bigtable.v2.SessionParametersResponseH\x00\x12:\x0A\x09heartbeat\x18\x05 \x01(\x0B2%.google.bigtable.v2.HeartbeatResponseH\x00\x125\x0A\x07go_away\x18\x06 \x01(\x0B2\".google.bigtable.v2.GoAwayResponseH\x00\x12J\x0A\x16session_refresh_config\x18\x07 \x01(\x0B2(.google.bigtable.v2.SessionRefreshConfigH\x00B\x09\x0A\x07payload\"\xB8\x01\x0A\x12OpenSessionRequest\x12\x18\x0A\x10protocol_version\x18\x01 \x01(\x03\x12/\x0A\x05flags\x18\x02 \x01(\x0B2 .google.bigtable.v2.FeatureFlags\x12.\x0A&consecutive_failed_connection_attempts\x18\x03 \x01(\x03\x12\x16\x0A\x0Erouting_cookie\x18\x04 \x01(\x0C\x12\x0F\x0A\x07payload\x18\x05 \x01(\x0C\"s\x0A\x11BackendIdentifier\x12\x1A\x0A\x12google_frontend_id\x18\x01 \x01(\x03\x12\x1F\x0A\x17application_frontend_id\x18\x02 \x01(\x03\x12!\x0A\x19application_frontend_zone\x18\x03 \x01(\x09\"^\x0A\x13OpenSessionResponse\x126\x0A\x07backend\x18\x02 \x01(\x0B2%.google.bigtable.v2.BackendIdentifier\x12\x0F\x0A\x07payload\x18\x01 \x01(\x0C\"\xDB\x02\x0A\x13CloseSessionRequest\x12J\x0A\x06reason\x18\x01 \x01(\x0E2:.google.bigtable.v2.CloseSessionRequest.CloseSessionReason\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\"\xE2\x01\x0A\x12CloseSessionReason\x12\x1E\x0A\x1ACLOSE_SESSION_REASON_UNSET\x10\x00\x12\x1F\x0A\x1BCLOSE_SESSION_REASON_GOAWAY\x10\x01\x12\x1E\x0A\x1ACLOSE_SESSION_REASON_ERROR\x10\x02\x12\x1D\x0A\x19CLOSE_SESSION_REASON_USER\x10\x03\x12!\x0A\x1DCLOSE_SESSION_REASON_DOWNSIZE\x10\x04\x12)\x0A%CLOSE_SESSION_REASON_MISSED_HEARTBEAT\x10\x05\"\xF5\x01\x0A\x10OpenTableRequest\x12\x12\x0A\x0Atable_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12C\x0A\x0Apermission\x18\x03 \x01(\x0E2/.google.bigtable.v2.OpenTableRequest.Permission\"h\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01\x12\x14\x0A\x10PERMISSION_WRITE\x10\x02\x12\x19\x0A\x15PERMISSION_READ_WRITE\x10\x03:\x06\xD0\xC2\xED\x91\x04\x01\"\x1B\x0A\x11OpenTableResponse:\x06\xD0\xC2\xED\x91\x04\x01\"\x91\x02\x0A\x19OpenAuthorizedViewRequest\x12\x1C\x0A\x14authorized_view_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12L\x0A\x0Apermission\x18\x03 \x01(\x0E28.google.bigtable.v2.OpenAuthorizedViewRequest.Permission\"h\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01\x12\x14\x0A\x10PERMISSION_WRITE\x10\x02\x12\x19\x0A\x15PERMISSION_READ_WRITE\x10\x03:\x06\xD0\xC2\xED\x91\x04\x02\"\$\x0A\x1AOpenAuthorizedViewResponse:\x06\xD0\xC2\xED\x91\x04\x02\"\xE6\x01\x0A\x1BOpenMaterializedViewRequest\x12\x1E\x0A\x16materialized_view_name\x18\x01 \x01(\x09\x12\x16\x0A\x0Eapp_profile_id\x18\x02 \x01(\x09\x12N\x0A\x0Apermission\x18\x03 \x01(\x0E2:.google.bigtable.v2.OpenMaterializedViewRequest.Permission\"7\x0A\x0APermission\x12\x14\x0A\x10PERMISSION_UNSET\x10\x00\x12\x13\x0A\x0FPERMISSION_READ\x10\x01:\x06\xD0\xC2\xED\x91\x04\x03\"&\x0A\x1COpenMaterializedViewResponse:\x06\xD0\xC2\xED\x91\x04\x03\"\x8F\x02\x0A\x11VirtualRpcRequest\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12+\x0A\x08deadline\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12@\x0A\x08metadata\x18\x03 \x01(\x0B2..google.bigtable.v2.VirtualRpcRequest.Metadata\x12\x0F\x0A\x07payload\x18\x04 \x01(\x0C\x1Aj\x0A\x08Metadata\x12\x16\x0A\x0Eattempt_number\x18\x01 \x01(\x03\x121\x0A\x0Dattempt_start\x18\x02 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x13\x0A\x0Btraceparent\x18\x03 \x01(\x09\"9\x0A\x12ClusterInformation\x12\x12\x0A\x0Acluster_id\x18\x01 \x01(\x09\x12\x0F\x0A\x07zone_id\x18\x02 \x01(\x09\"I\x0A\x13SessionRequestStats\x122\x0A\x0Fbackend_latency\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\"\xAB\x01\x0A\x12VirtualRpcResponse\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12<\x0A\x0Ccluster_info\x18\x02 \x01(\x0B2&.google.bigtable.v2.ClusterInformation\x126\x0A\x05stats\x18\x04 \x01(\x0B2'.google.bigtable.v2.SessionRequestStats\x12\x0F\x0A\x07payload\x18\x03 \x01(\x0C\"\xAC\x01\x0A\x0DErrorResponse\x12\x0E\x0A\x06rpc_id\x18\x01 \x01(\x03\x12<\x0A\x0Ccluster_info\x18\x02 \x01(\x0B2&.google.bigtable.v2.ClusterInformation\x12\"\x0A\x06status\x18\x03 \x01(\x0B2\x12.google.rpc.Status\x12)\x0A\x0Aretry_info\x18\x04 \x01(\x0B2\x15.google.rpc.RetryInfo\"\xA4\x01\x0A\x0CTableRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00\x12A\x0A\x0Amutate_row\x18\x02 \x01(\x0B2+.google.bigtable.v2.SessionMutateRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x01B\x09\x0A\x07payload\"\xA7\x01\x0A\x0DTableResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00\x12B\x0A\x0Amutate_row\x18\x02 \x01(\x0B2,.google.bigtable.v2.SessionMutateRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x01B\x09\x0A\x07payload\"\xAD\x01\x0A\x15AuthorizedViewRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00\x12A\x0A\x0Amutate_row\x18\x02 \x01(\x0B2+.google.bigtable.v2.SessionMutateRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x02B\x09\x0A\x07payload\"\xB0\x01\x0A\x16AuthorizedViewResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00\x12B\x0A\x0Amutate_row\x18\x02 \x01(\x0B2,.google.bigtable.v2.SessionMutateRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x02B\x09\x0A\x07payload\"l\x0A\x17MaterializedViewRequest\x12=\x0A\x08read_row\x18\x01 \x01(\x0B2).google.bigtable.v2.SessionReadRowRequestH\x00:\x07\xAA\xED\xED\x91\x04\x01\x03B\x09\x0A\x07payload\"n\x0A\x18MaterializedViewResponse\x12>\x0A\x08read_row\x18\x01 \x01(\x0B2*.google.bigtable.v2.SessionReadRowResponseH\x00:\x07\xAA\xED\xED\x91\x04\x01\x03B\x09\x0A\x07payload\"S\x0A\x15SessionReadRowRequest\x12\x0B\x0A\x03key\x18\x01 \x01(\x0C\x12-\x0A\x06filter\x18\x02 \x01(\x0B2\x1D.google.bigtable.v2.RowFilter\"o\x0A\x16SessionReadRowResponse\x12\$\x0A\x03row\x18\x01 \x01(\x0B2\x17.google.bigtable.v2.Row\x12/\x0A\x05stats\x18\x02 \x01(\x0B2 .google.bigtable.v2.RequestStats\"W\x0A\x17SessionMutateRowRequest\x12\x0B\x0A\x03key\x18\x01 \x01(\x0C\x12/\x0A\x09mutations\x18\x02 \x03(\x0B2\x1C.google.bigtable.v2.Mutation\"\x1A\x0A\x18SessionMutateRowResponse\"J\x0A\x19SessionParametersResponse\x12-\x0A\x0Akeep_alive\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\"\x13\x0A\x11HeartbeatResponse\"S\x0A\x0EGoAwayResponse\x12\x0E\x0A\x06reason\x18\x01 \x01(\x09\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\x12\x1C\x0A\x14last_rpc_id_admitted\x18\x03 \x01(\x03\"\xDA\x01\x0A\x14SessionRefreshConfig\x12F\x0A\x16optimized_open_request\x18\x01 \x01(\x0B2&.google.bigtable.v2.OpenSessionRequest\x12H\x0A\x08metadata\x18\x02 \x03(\x0B21.google.bigtable.v2.SessionRefreshConfig.MetadataB\x03\xE0A\x03\x1A0\x0A\x08Metadata\x12\x10\x0A\x03key\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05value\x18\x02 \x01(\x0CB\x03\xE0A\x03*\x9B\x01\x0A\x0BSessionType\x12\x16\x0A\x12SESSION_TYPE_UNSET\x10\x00\x12\x16\x0A\x12SESSION_TYPE_TABLE\x10\x01\x12 \x0A\x1CSESSION_TYPE_AUTHORIZED_VIEW\x10\x02\x12\"\x0A\x1ESESSION_TYPE_MATERIALIZED_VIEW\x10\x03\x12\x16\x0A\x11SESSION_TYPE_TEST\x10\x8FNB\xB6\x01\x0A\x16com.google.bigtable.v2B\x0CSessionProtoP\x01Z8cloud.google.com/go/bigtable/apiv2/bigtablepb;bigtablepb\xAA\x02\x18Google.Cloud.Bigtable.V2\xCA\x02\x18Google\\Cloud\\Bigtable\\V2\xEA\x02\x1BGoogle::Cloud::Bigtable::V2b\x06proto3" , true); static::$is_initialized = true; diff --git a/src/V2/SessionType.php b/src/V2/SessionType.php index 05fad06..d8b1bf1 100644 --- a/src/V2/SessionType.php +++ b/src/V2/SessionType.php @@ -32,9 +32,9 @@ class SessionType /** * For internal protocol testing only. * - * Generated from protobuf enum SESSION_TYPE_TEST = -1; + * Generated from protobuf enum SESSION_TYPE_TEST = 9999; */ - const SESSION_TYPE_TEST = -1; + const SESSION_TYPE_TEST = 9999; private static $valueToName = [ self::SESSION_TYPE_UNSET => 'SESSION_TYPE_UNSET', From ff8c76249c4d97bf82a61d7fd458d3c8fed6bba8 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 08:44:32 -0700 Subject: [PATCH 6/6] chore(main): release 0.327.0 (#9096) --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e9763f6..ad22619 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.23.0 +2.24.0