google-cloud-bigtable-v2 1.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a387f5b19b5df8d6a4c2b117036b9539be8557e62467e1340db36403ca7ba866
4
- data.tar.gz: 9650d64567d5c7a7abb6a8b1328c7ea795241e725407d4c3efa9abe81eba86b5
3
+ metadata.gz: 63f904f0304e6d2348a03a594590060814a9c862126450f419630086f79f04f3
4
+ data.tar.gz: 743d117b411acc5baa92ab177430bae3e1b619f6b3657b0987ac37e5c475214b
5
5
  SHA512:
6
- metadata.gz: fc299b77a4fce02f888d6bf12f522bb2939c11e5433ff5d1652805e77b2e4086ce7b56655cf084a433fe803a4e0cbb7284ad0e4d34bae33260b36ca225a40f04
7
- data.tar.gz: d600fc4f4ab179c42a9958f4305e61431bc5a50606540e6335b0c504c12f6bb81b1089c3318e81622cb82e0df24faa56e3737e4327cd2ed271316e97ee7ef1d4
6
+ metadata.gz: '065429e0a3033394f76394184475d96187b7289a65a6b9c7ca2a93e8a1e550af72751e09ac6e058bfe13c39cc140376a092c6a5bb38f9f0d4fa7e2bfce0c7f80'
7
+ data.tar.gz: 91b51f5be9a697c33e9790bcc60d014217a87032c0a7e603873ea837d6af3604c67babcba719c9aa709cde35643c735958eeb8278847ac1f7640635414c602fd
@@ -18,7 +18,7 @@ require 'google/protobuf/wrappers_pb'
18
18
  require 'google/rpc/status_pb'
19
19
 
20
20
 
21
- descriptor_data = "\n!google/bigtable/v2/bigtable.proto\x12\x12google.bigtable.v2\x1a\x1cgoogle/api/annotations.proto\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\n\x0fReadRowsRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\t \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12U\n\x16materialized_view_name\x18\x0b \x01(\tB5\xe0\x41\x01\xfa\x41/\n-bigtableadmin.googleapis.com/MaterializedView\x12\x16\n\x0e\x61pp_profile_id\x18\x05 \x01(\t\x12(\n\x04rows\x18\x02 \x01(\x0b\x32\x1a.google.bigtable.v2.RowSet\x12-\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x12\n\nrows_limit\x18\x04 \x01(\x03\x12P\n\x12request_stats_view\x18\x06 \x01(\x0e\x32\x34.google.bigtable.v2.ReadRowsRequest.RequestStatsView\x12\x10\n\x08reversed\x18\x07 \x01(\x08\"f\n\x10RequestStatsView\x12\"\n\x1eREQUEST_STATS_VIEW_UNSPECIFIED\x10\x00\x12\x16\n\x12REQUEST_STATS_NONE\x10\x01\x12\x16\n\x12REQUEST_STATS_FULL\x10\x02\"\xb1\x03\n\x10ReadRowsResponse\x12>\n\x06\x63hunks\x18\x01 \x03(\x0b\x32..google.bigtable.v2.ReadRowsResponse.CellChunk\x12\x1c\n\x14last_scanned_row_key\x18\x02 \x01(\x0c\x12\x37\n\rrequest_stats\x18\x03 \x01(\x0b\x32 .google.bigtable.v2.RequestStats\x1a\x85\x02\n\tCellChunk\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x31\n\x0b\x66\x61mily_name\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\tqualifier\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x12\x18\n\x10timestamp_micros\x18\x04 \x01(\x03\x12\x0e\n\x06labels\x18\x05 \x03(\t\x12\r\n\x05value\x18\x06 \x01(\x0c\x12\x12\n\nvalue_size\x18\x07 \x01(\x05\x12\x13\n\treset_row\x18\x08 \x01(\x08H\x00\x12\x14\n\ncommit_row\x18\t \x01(\x08H\x00\x42\x0c\n\nrow_status\"\x98\x02\n\x14SampleRowKeysRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\x04 \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12U\n\x16materialized_view_name\x18\x05 \x01(\tB5\xe0\x41\x01\xfa\x41/\n-bigtableadmin.googleapis.com/MaterializedView\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\">\n\x15SampleRowKeysResponse\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x14\n\x0coffset_bytes\x18\x02 \x01(\x03\"\xbf\x02\n\x10MutateRowRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\x06 \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\n\x0e\x61pp_profile_id\x18\x04 \x01(\t\x12\x14\n\x07row_key\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x34\n\tmutations\x18\x03 \x03(\x0b\x32\x1c.google.bigtable.v2.MutationB\x03\xe0\x41\x02\x12\x34\n\x0bidempotency\x18\x08 \x01(\x0b\x32\x1f.google.bigtable.v2.Idempotency\"\x13\n\x11MutateRowResponse\"\xd1\x02\n\x11MutateRowsRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\x05 \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\n\x0e\x61pp_profile_id\x18\x03 \x01(\t\x12\x41\n\x07\x65ntries\x18\x02 \x03(\x0b\x32+.google.bigtable.v2.MutateRowsRequest.EntryB\x03\xe0\x41\x02\x1aN\n\x05\x45ntry\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x34\n\tmutations\x18\x02 \x03(\x0b\x32\x1c.google.bigtable.v2.MutationB\x03\xe0\x41\x02\"\xe4\x01\n\x12MutateRowsResponse\x12=\n\x07\x65ntries\x18\x01 \x03(\x0b\x32,.google.bigtable.v2.MutateRowsResponse.Entry\x12?\n\x0frate_limit_info\x18\x03 \x01(\x0b\x32!.google.bigtable.v2.RateLimitInfoH\x00\x88\x01\x01\x1a:\n\x05\x45ntry\x12\r\n\x05index\x18\x01 \x01(\x03\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusB\x12\n\x10_rate_limit_info\"J\n\rRateLimitInfo\x12)\n\x06period\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0e\n\x06\x66\x61\x63tor\x18\x02 \x01(\x01\"\x81\x03\n\x18\x43heckAndMutateRowRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\t \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\n\x0e\x61pp_profile_id\x18\x07 \x01(\t\x12\x14\n\x07row_key\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x37\n\x10predicate_filter\x18\x06 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x34\n\x0etrue_mutations\x18\x04 \x03(\x0b\x32\x1c.google.bigtable.v2.Mutation\x12\x35\n\x0f\x66\x61lse_mutations\x18\x05 \x03(\x0b\x32\x1c.google.bigtable.v2.Mutation\"6\n\x19\x43heckAndMutateRowResponse\x12\x19\n\x11predicate_matched\x18\x01 \x01(\x08\"i\n\x12PingAndWarmRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%bigtableadmin.googleapis.com/Instance\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\"\x15\n\x13PingAndWarmResponse\"\x99\x02\n\x19ReadModifyWriteRowRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\x06 \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\n\x0e\x61pp_profile_id\x18\x04 \x01(\t\x12\x14\n\x07row_key\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12;\n\x05rules\x18\x03 \x03(\x0b\x32\'.google.bigtable.v2.ReadModifyWriteRuleB\x03\xe0\x41\x02\"B\n\x1aReadModifyWriteRowResponse\x12$\n\x03row\x18\x01 \x01(\x0b\x32\x17.google.bigtable.v2.Row\"\x86\x01\n,GenerateInitialChangeStreamPartitionsRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\"g\n-GenerateInitialChangeStreamPartitionsResponse\x12\x36\n\tpartition\x18\x01 \x01(\x0b\x32#.google.bigtable.v2.StreamPartition\"\x9b\x03\n\x17ReadChangeStreamRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\x12\x36\n\tpartition\x18\x03 \x01(\x0b\x32#.google.bigtable.v2.StreamPartition\x12\x30\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12K\n\x13\x63ontinuation_tokens\x18\x06 \x01(\x0b\x32,.google.bigtable.v2.StreamContinuationTokensH\x00\x12,\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12heartbeat_duration\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0c\n\nstart_from\"\xa9\n\n\x18ReadChangeStreamResponse\x12N\n\x0b\x64\x61ta_change\x18\x01 \x01(\x0b\x32\x37.google.bigtable.v2.ReadChangeStreamResponse.DataChangeH\x00\x12K\n\theartbeat\x18\x02 \x01(\x0b\x32\x36.google.bigtable.v2.ReadChangeStreamResponse.HeartbeatH\x00\x12P\n\x0c\x63lose_stream\x18\x03 \x01(\x0b\x32\x38.google.bigtable.v2.ReadChangeStreamResponse.CloseStreamH\x00\x1a\xf4\x01\n\rMutationChunk\x12X\n\nchunk_info\x18\x01 \x01(\x0b\x32\x44.google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo\x12.\n\x08mutation\x18\x02 \x01(\x0b\x32\x1c.google.bigtable.v2.Mutation\x1aY\n\tChunkInfo\x12\x1a\n\x12\x63hunked_value_size\x18\x01 \x01(\x05\x12\x1c\n\x14\x63hunked_value_offset\x18\x02 \x01(\x05\x12\x12\n\nlast_chunk\x18\x03 \x01(\x08\x1a\xc6\x03\n\nDataChange\x12J\n\x04type\x18\x01 \x01(\x0e\x32<.google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type\x12\x19\n\x11source_cluster_id\x18\x02 \x01(\t\x12\x0f\n\x07row_key\x18\x03 \x01(\x0c\x12\x34\n\x10\x63ommit_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ntiebreaker\x18\x05 \x01(\x05\x12J\n\x06\x63hunks\x18\x06 \x03(\x0b\x32:.google.bigtable.v2.ReadChangeStreamResponse.MutationChunk\x12\x0c\n\x04\x64one\x18\x08 \x01(\x08\x12\r\n\x05token\x18\t \x01(\t\x12;\n\x17\x65stimated_low_watermark\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"P\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04USER\x10\x01\x12\x16\n\x12GARBAGE_COLLECTION\x10\x02\x12\x10\n\x0c\x43ONTINUATION\x10\x03\x1a\x91\x01\n\tHeartbeat\x12G\n\x12\x63ontinuation_token\x18\x01 \x01(\x0b\x32+.google.bigtable.v2.StreamContinuationToken\x12;\n\x17\x65stimated_low_watermark\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xb8\x01\n\x0b\x43loseStream\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12H\n\x13\x63ontinuation_tokens\x18\x02 \x03(\x0b\x32+.google.bigtable.v2.StreamContinuationToken\x12;\n\x0enew_partitions\x18\x03 \x03(\x0b\x32#.google.bigtable.v2.StreamPartitionB\x0f\n\rstream_record\"\xa1\x03\n\x13\x45xecuteQueryRequest\x12\x44\n\rinstance_name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%bigtableadmin.googleapis.com/Instance\x12\x1b\n\x0e\x61pp_profile_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x05query\x18\x03 \x01(\tB\x05\x18\x01\xe0\x41\x02\x12\x16\n\x0eprepared_query\x18\t \x01(\x0c\x12;\n\x0cproto_format\x18\x04 \x01(\x0b\x32\x1f.google.bigtable.v2.ProtoFormatB\x02\x18\x01H\x00\x12\x19\n\x0cresume_token\x18\x08 \x01(\x0c\x42\x03\xe0\x41\x01\x12H\n\x06params\x18\x07 \x03(\x0b\x32\x33.google.bigtable.v2.ExecuteQueryRequest.ParamsEntryB\x03\xe0\x41\x02\x1aH\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.google.bigtable.v2.Value:\x02\x38\x01\x42\r\n\x0b\x64\x61ta_format\"\x96\x01\n\x14\x45xecuteQueryResponse\x12\x39\n\x08metadata\x18\x01 \x01(\x0b\x32%.google.bigtable.v2.ResultSetMetadataH\x00\x12\x37\n\x07results\x18\x02 \x01(\x0b\x32$.google.bigtable.v2.PartialResultSetH\x00\x42\n\n\x08response\"\xf4\x02\n\x13PrepareQueryRequest\x12\x44\n\rinstance_name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%bigtableadmin.googleapis.com/Instance\x12\x1b\n\x0e\x61pp_profile_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05query\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x0cproto_format\x18\x04 \x01(\x0b\x32\x1f.google.bigtable.v2.ProtoFormatH\x00\x12Q\n\x0bparam_types\x18\x06 \x03(\x0b\x32\x37.google.bigtable.v2.PrepareQueryRequest.ParamTypesEntryB\x03\xe0\x41\x02\x1aK\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type:\x02\x38\x01\x42\r\n\x0b\x64\x61ta_format\"\x98\x01\n\x14PrepareQueryResponse\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.google.bigtable.v2.ResultSetMetadata\x12\x16\n\x0eprepared_query\x18\x02 \x01(\x0c\x12/\n\x0bvalid_until\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp2\xc9&\n\x08\x42igtable\x12\xdb\x03\n\x08ReadRows\x12#.google.bigtable.v2.ReadRowsRequest\x1a$.google.bigtable.v2.ReadRowsResponse\"\x81\x03\xda\x41\ntable_name\xda\x41\x19table_name,app_profile_id\x82\xd3\xe4\x93\x02\x9a\x01\"9/v2/{table_name=projects/*/instances/*/tables/*}:readRows:\x01*ZZ\"U/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:readRows:\x01*\x8a\xd3\xe4\x93\x02\xb0\x01\x12:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12`\n\x14\x61uthorized_view_name\x12H{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}0\x01\x12\xee\x03\n\rSampleRowKeys\x12(.google.bigtable.v2.SampleRowKeysRequest\x1a).google.bigtable.v2.SampleRowKeysResponse\"\x85\x03\xda\x41\ntable_name\xda\x41\x19table_name,app_profile_id\x82\xd3\xe4\x93\x02\x9e\x01\x12>/v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeysZ\\\x12Z/v2/{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}:sampleRowKeys\x8a\xd3\xe4\x93\x02\xb0\x01\x12:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12`\n\x14\x61uthorized_view_name\x12H{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}0\x01\x12\x82\x04\n\tMutateRow\x12$.google.bigtable.v2.MutateRowRequest\x1a%.google.bigtable.v2.MutateRowResponse\"\xa7\x03\xda\x41\x1ctable_name,row_key,mutations\xda\x41+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\xb0\x01\x12:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12`\n\x14\x61uthorized_view_name\x12H{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}\x12\xf5\x03\n\nMutateRows\x12%.google.bigtable.v2.MutateRowsRequest\x1a&.google.bigtable.v2.MutateRowsResponse\"\x95\x03\xda\x41\x12table_name,entries\xda\x41!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\xb0\x01\x12:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12`\n\x14\x61uthorized_view_name\x12H{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}0\x01\x12\xf6\x04\n\x11\x43heckAndMutateRow\x12,.google.bigtable.v2.CheckAndMutateRowRequest\x1a-.google.bigtable.v2.CheckAndMutateRowResponse\"\x83\x04\xda\x41\x42table_name,row_key,predicate_filter,true_mutations,false_mutations\xda\x41Qtable_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\xb0\x01\x12:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12`\n\x14\x61uthorized_view_name\x12H{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}\x12\xee\x01\n\x0bPingAndWarm\x12&.google.bigtable.v2.PingAndWarmRequest\x1a\'.google.bigtable.v2.PingAndWarmResponse\"\x8d\x01\xda\x41\x04name\xda\x41\x13name,app_profile_id\x82\xd3\xe4\x93\x02+\"&/v2/{name=projects/*/instances/*}:ping:\x01*\x8a\xd3\xe4\x93\x02\x39\x12%\n\x04name\x12\x1d{name=projects/*/instances/*}\x12\x10\n\x0e\x61pp_profile_id\x12\xa7\x04\n\x12ReadModifyWriteRow\x12-.google.bigtable.v2.ReadModifyWriteRowRequest\x1a..google.bigtable.v2.ReadModifyWriteRowResponse\"\xb1\x03\xda\x41\x18table_name,row_key,rules\xda\x41\'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\xb0\x01\x12:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12`\n\x14\x61uthorized_view_name\x12H{authorized_view_name=projects/*/instances/*/tables/*/authorizedViews/*}\x12\xbb\x02\n%GenerateInitialChangeStreamPartitions\x12@.google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest\x1a\x41.google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse\"\x8a\x01\xda\x41\ntable_name\xda\x41\x19table_name,app_profile_id\x82\xd3\xe4\x93\x02[\"V/v2/{table_name=projects/*/instances/*/tables/*}:generateInitialChangeStreamPartitions:\x01*0\x01\x12\xe6\x01\n\x10ReadChangeStream\x12+.google.bigtable.v2.ReadChangeStreamRequest\x1a,.google.bigtable.v2.ReadChangeStreamResponse\"u\xda\x41\ntable_name\xda\x41\x19table_name,app_profile_id\x82\xd3\xe4\x93\x02\x46\"A/v2/{table_name=projects/*/instances/*/tables/*}:readChangeStream:\x01*0\x01\x12\xa9\x02\n\x0cPrepareQuery\x12\'.google.bigtable.v2.PrepareQueryRequest\x1a(.google.bigtable.v2.PrepareQueryResponse\"\xc5\x01\xda\x41\x13instance_name,query\xda\x41\"instance_name,query,app_profile_id\x82\xd3\xe4\x93\x02<\"7/v2/{instance_name=projects/*/instances/*}:prepareQuery:\x01*\x8a\xd3\xe4\x93\x02\x42\x12.\n\rinstance_name\x12\x1d{name=projects/*/instances/*}\x12\x10\n\x0e\x61pp_profile_id\x12\xab\x02\n\x0c\x45xecuteQuery\x12\'.google.bigtable.v2.ExecuteQueryRequest\x1a(.google.bigtable.v2.ExecuteQueryResponse\"\xc5\x01\xda\x41\x13instance_name,query\xda\x41\"instance_name,query,app_profile_id\x82\xd3\xe4\x93\x02<\"7/v2/{instance_name=projects/*/instances/*}:executeQuery:\x01*\x8a\xd3\xe4\x93\x02\x42\x12.\n\rinstance_name\x12\x1d{name=projects/*/instances/*}\x12\x10\n\x0e\x61pp_profile_id0\x01\x1a\xdb\x02\xca\x41\x17\x62igtable.googleapis.com\xd2\x41\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\n\x16\x63om.google.bigtable.v2B\rBigtableProtoP\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\xea\x41P\n%bigtableadmin.googleapis.com/Instance\x12\'projects/{project}/instances/{instance}\xea\x41\\\n\"bigtableadmin.googleapis.com/Table\x12\x36projects/{project}/instances/{instance}/tables/{table}\xea\x41\x87\x01\n+bigtableadmin.googleapis.com/AuthorizedView\x12Xprojects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}\xea\x41~\n-bigtableadmin.googleapis.com/MaterializedView\x12Mprojects/{project}/instances/{instance}/materializedViews/{materialized_view}b\x06proto3"
21
+ descriptor_data = "\n!google/bigtable/v2/bigtable.proto\x12\x12google.bigtable.v2\x1a\x1cgoogle/api/annotations.proto\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\n\x0fReadRowsRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\t \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12U\n\x16materialized_view_name\x18\x0b \x01(\tB5\xe0\x41\x01\xfa\x41/\n-bigtableadmin.googleapis.com/MaterializedView\x12\x16\n\x0e\x61pp_profile_id\x18\x05 \x01(\t\x12(\n\x04rows\x18\x02 \x01(\x0b\x32\x1a.google.bigtable.v2.RowSet\x12-\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x12\n\nrows_limit\x18\x04 \x01(\x03\x12P\n\x12request_stats_view\x18\x06 \x01(\x0e\x32\x34.google.bigtable.v2.ReadRowsRequest.RequestStatsView\x12\x10\n\x08reversed\x18\x07 \x01(\x08\"f\n\x10RequestStatsView\x12\"\n\x1eREQUEST_STATS_VIEW_UNSPECIFIED\x10\x00\x12\x16\n\x12REQUEST_STATS_NONE\x10\x01\x12\x16\n\x12REQUEST_STATS_FULL\x10\x02\"\xb1\x03\n\x10ReadRowsResponse\x12>\n\x06\x63hunks\x18\x01 \x03(\x0b\x32..google.bigtable.v2.ReadRowsResponse.CellChunk\x12\x1c\n\x14last_scanned_row_key\x18\x02 \x01(\x0c\x12\x37\n\rrequest_stats\x18\x03 \x01(\x0b\x32 .google.bigtable.v2.RequestStats\x1a\x85\x02\n\tCellChunk\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x31\n\x0b\x66\x61mily_name\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\tqualifier\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x12\x18\n\x10timestamp_micros\x18\x04 \x01(\x03\x12\x0e\n\x06labels\x18\x05 \x03(\t\x12\r\n\x05value\x18\x06 \x01(\x0c\x12\x12\n\nvalue_size\x18\x07 \x01(\x05\x12\x13\n\treset_row\x18\x08 \x01(\x08H\x00\x12\x14\n\ncommit_row\x18\t \x01(\x08H\x00\x42\x0c\n\nrow_status\"\x98\x02\n\x14SampleRowKeysRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\x04 \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12U\n\x16materialized_view_name\x18\x05 \x01(\tB5\xe0\x41\x01\xfa\x41/\n-bigtableadmin.googleapis.com/MaterializedView\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\">\n\x15SampleRowKeysResponse\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x14\n\x0coffset_bytes\x18\x02 \x01(\x03\"\xbf\x02\n\x10MutateRowRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\x06 \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\n\x0e\x61pp_profile_id\x18\x04 \x01(\t\x12\x14\n\x07row_key\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x34\n\tmutations\x18\x03 \x03(\x0b\x32\x1c.google.bigtable.v2.MutationB\x03\xe0\x41\x02\x12\x34\n\x0bidempotency\x18\x08 \x01(\x0b\x32\x1f.google.bigtable.v2.Idempotency\"\x13\n\x11MutateRowResponse\"\x88\x03\n\x11MutateRowsRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\x05 \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\n\x0e\x61pp_profile_id\x18\x03 \x01(\t\x12\x41\n\x07\x65ntries\x18\x02 \x03(\x0b\x32+.google.bigtable.v2.MutateRowsRequest.EntryB\x03\xe0\x41\x02\x1a\x84\x01\n\x05\x45ntry\x12\x0f\n\x07row_key\x18\x01 \x01(\x0c\x12\x34\n\tmutations\x18\x02 \x03(\x0b\x32\x1c.google.bigtable.v2.MutationB\x03\xe0\x41\x02\x12\x34\n\x0bidempotency\x18\x03 \x01(\x0b\x32\x1f.google.bigtable.v2.Idempotency\"\xe4\x01\n\x12MutateRowsResponse\x12=\n\x07\x65ntries\x18\x01 \x03(\x0b\x32,.google.bigtable.v2.MutateRowsResponse.Entry\x12?\n\x0frate_limit_info\x18\x03 \x01(\x0b\x32!.google.bigtable.v2.RateLimitInfoH\x00\x88\x01\x01\x1a:\n\x05\x45ntry\x12\r\n\x05index\x18\x01 \x01(\x03\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusB\x12\n\x10_rate_limit_info\"J\n\rRateLimitInfo\x12)\n\x06period\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0e\n\x06\x66\x61\x63tor\x18\x02 \x01(\x01\"\x81\x03\n\x18\x43heckAndMutateRowRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\t \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\n\x0e\x61pp_profile_id\x18\x07 \x01(\t\x12\x14\n\x07row_key\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x37\n\x10predicate_filter\x18\x06 \x01(\x0b\x32\x1d.google.bigtable.v2.RowFilter\x12\x34\n\x0etrue_mutations\x18\x04 \x03(\x0b\x32\x1c.google.bigtable.v2.Mutation\x12\x35\n\x0f\x66\x61lse_mutations\x18\x05 \x03(\x0b\x32\x1c.google.bigtable.v2.Mutation\"6\n\x19\x43heckAndMutateRowResponse\x12\x19\n\x11predicate_matched\x18\x01 \x01(\x08\"i\n\x12PingAndWarmRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%bigtableadmin.googleapis.com/Instance\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\"\x15\n\x13PingAndWarmResponse\"\x99\x02\n\x19ReadModifyWriteRowRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x01\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12Q\n\x14\x61uthorized_view_name\x18\x06 \x01(\tB3\xe0\x41\x01\xfa\x41-\n+bigtableadmin.googleapis.com/AuthorizedView\x12\x16\n\x0e\x61pp_profile_id\x18\x04 \x01(\t\x12\x14\n\x07row_key\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12;\n\x05rules\x18\x03 \x03(\x0b\x32\'.google.bigtable.v2.ReadModifyWriteRuleB\x03\xe0\x41\x02\"B\n\x1aReadModifyWriteRowResponse\x12$\n\x03row\x18\x01 \x01(\x0b\x32\x17.google.bigtable.v2.Row\"\x86\x01\n,GenerateInitialChangeStreamPartitionsRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\"g\n-GenerateInitialChangeStreamPartitionsResponse\x12\x36\n\tpartition\x18\x01 \x01(\x0b\x32#.google.bigtable.v2.StreamPartition\"\x9b\x03\n\x17ReadChangeStreamRequest\x12>\n\ntable_name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"bigtableadmin.googleapis.com/Table\x12\x16\n\x0e\x61pp_profile_id\x18\x02 \x01(\t\x12\x36\n\tpartition\x18\x03 \x01(\x0b\x32#.google.bigtable.v2.StreamPartition\x12\x30\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12K\n\x13\x63ontinuation_tokens\x18\x06 \x01(\x0b\x32,.google.bigtable.v2.StreamContinuationTokensH\x00\x12,\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12heartbeat_duration\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0c\n\nstart_from\"\xa9\n\n\x18ReadChangeStreamResponse\x12N\n\x0b\x64\x61ta_change\x18\x01 \x01(\x0b\x32\x37.google.bigtable.v2.ReadChangeStreamResponse.DataChangeH\x00\x12K\n\theartbeat\x18\x02 \x01(\x0b\x32\x36.google.bigtable.v2.ReadChangeStreamResponse.HeartbeatH\x00\x12P\n\x0c\x63lose_stream\x18\x03 \x01(\x0b\x32\x38.google.bigtable.v2.ReadChangeStreamResponse.CloseStreamH\x00\x1a\xf4\x01\n\rMutationChunk\x12X\n\nchunk_info\x18\x01 \x01(\x0b\x32\x44.google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo\x12.\n\x08mutation\x18\x02 \x01(\x0b\x32\x1c.google.bigtable.v2.Mutation\x1aY\n\tChunkInfo\x12\x1a\n\x12\x63hunked_value_size\x18\x01 \x01(\x05\x12\x1c\n\x14\x63hunked_value_offset\x18\x02 \x01(\x05\x12\x12\n\nlast_chunk\x18\x03 \x01(\x08\x1a\xc6\x03\n\nDataChange\x12J\n\x04type\x18\x01 \x01(\x0e\x32<.google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type\x12\x19\n\x11source_cluster_id\x18\x02 \x01(\t\x12\x0f\n\x07row_key\x18\x03 \x01(\x0c\x12\x34\n\x10\x63ommit_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ntiebreaker\x18\x05 \x01(\x05\x12J\n\x06\x63hunks\x18\x06 \x03(\x0b\x32:.google.bigtable.v2.ReadChangeStreamResponse.MutationChunk\x12\x0c\n\x04\x64one\x18\x08 \x01(\x08\x12\r\n\x05token\x18\t \x01(\t\x12;\n\x17\x65stimated_low_watermark\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"P\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04USER\x10\x01\x12\x16\n\x12GARBAGE_COLLECTION\x10\x02\x12\x10\n\x0c\x43ONTINUATION\x10\x03\x1a\x91\x01\n\tHeartbeat\x12G\n\x12\x63ontinuation_token\x18\x01 \x01(\x0b\x32+.google.bigtable.v2.StreamContinuationToken\x12;\n\x17\x65stimated_low_watermark\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xb8\x01\n\x0b\x43loseStream\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12H\n\x13\x63ontinuation_tokens\x18\x02 \x03(\x0b\x32+.google.bigtable.v2.StreamContinuationToken\x12;\n\x0enew_partitions\x18\x03 \x03(\x0b\x32#.google.bigtable.v2.StreamPartitionB\x0f\n\rstream_record\"\xa1\x03\n\x13\x45xecuteQueryRequest\x12\x44\n\rinstance_name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%bigtableadmin.googleapis.com/Instance\x12\x1b\n\x0e\x61pp_profile_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x05query\x18\x03 \x01(\tB\x05\x18\x01\xe0\x41\x02\x12\x16\n\x0eprepared_query\x18\t \x01(\x0c\x12;\n\x0cproto_format\x18\x04 \x01(\x0b\x32\x1f.google.bigtable.v2.ProtoFormatB\x02\x18\x01H\x00\x12\x19\n\x0cresume_token\x18\x08 \x01(\x0c\x42\x03\xe0\x41\x01\x12H\n\x06params\x18\x07 \x03(\x0b\x32\x33.google.bigtable.v2.ExecuteQueryRequest.ParamsEntryB\x03\xe0\x41\x02\x1aH\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.google.bigtable.v2.Value:\x02\x38\x01\x42\r\n\x0b\x64\x61ta_format\"\x96\x01\n\x14\x45xecuteQueryResponse\x12\x39\n\x08metadata\x18\x01 \x01(\x0b\x32%.google.bigtable.v2.ResultSetMetadataH\x00\x12\x37\n\x07results\x18\x02 \x01(\x0b\x32$.google.bigtable.v2.PartialResultSetH\x00\x42\n\n\x08response\"\xf4\x02\n\x13PrepareQueryRequest\x12\x44\n\rinstance_name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%bigtableadmin.googleapis.com/Instance\x12\x1b\n\x0e\x61pp_profile_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05query\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x0cproto_format\x18\x04 \x01(\x0b\x32\x1f.google.bigtable.v2.ProtoFormatH\x00\x12Q\n\x0bparam_types\x18\x06 \x03(\x0b\x32\x37.google.bigtable.v2.PrepareQueryRequest.ParamTypesEntryB\x03\xe0\x41\x02\x1aK\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type:\x02\x38\x01\x42\r\n\x0b\x64\x61ta_format\"\x98\x01\n\x14PrepareQueryResponse\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.google.bigtable.v2.ResultSetMetadata\x12\x16\n\x0eprepared_query\x18\x02 \x01(\x0c\x12/\n\x0bvalid_until\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp2\xdb\'\n\x08\x42igtable\x12\xd5\x04\n\x08ReadRows\x12#.google.bigtable.v2.ReadRowsRequest\x1a$.google.bigtable.v2.ReadRowsResponse\"\xfb\x03\xda\x41\ntable_name\xda\x41\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:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12G\n\x14\x61uthorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12:\n\x16materialized_view_name\x12 {name=projects/*/instances/*}/**0\x01\x12\xea\x04\n\rSampleRowKeys\x12(.google.bigtable.v2.SampleRowKeysRequest\x1a).google.bigtable.v2.SampleRowKeysResponse\"\x81\x04\xda\x41\ntable_name\xda\x41\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:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12G\n\x14\x61uthorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12:\n\x16materialized_view_name\x12 {name=projects/*/instances/*}/**0\x01\x12\xe9\x03\n\tMutateRow\x12$.google.bigtable.v2.MutateRowRequest\x1a%.google.bigtable.v2.MutateRowResponse\"\x8e\x03\xda\x41\x1ctable_name,row_key,mutations\xda\x41+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:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12G\n\x14\x61uthorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xdc\x03\n\nMutateRows\x12%.google.bigtable.v2.MutateRowsRequest\x1a&.google.bigtable.v2.MutateRowsResponse\"\xfc\x02\xda\x41\x12table_name,entries\xda\x41!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:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12G\n\x14\x61uthorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**0\x01\x12\xdd\x04\n\x11\x43heckAndMutateRow\x12,.google.bigtable.v2.CheckAndMutateRowRequest\x1a-.google.bigtable.v2.CheckAndMutateRowResponse\"\xea\x03\xda\x41\x42table_name,row_key,predicate_filter,true_mutations,false_mutations\xda\x41Qtable_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:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12G\n\x14\x61uthorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xee\x01\n\x0bPingAndWarm\x12&.google.bigtable.v2.PingAndWarmRequest\x1a\'.google.bigtable.v2.PingAndWarmResponse\"\x8d\x01\xda\x41\x04name\xda\x41\x13name,app_profile_id\x82\xd3\xe4\x93\x02+\"&/v2/{name=projects/*/instances/*}:ping:\x01*\x8a\xd3\xe4\x93\x02\x39\x12%\n\x04name\x12\x1d{name=projects/*/instances/*}\x12\x10\n\x0e\x61pp_profile_id\x12\x8e\x04\n\x12ReadModifyWriteRow\x12-.google.bigtable.v2.ReadModifyWriteRowRequest\x1a..google.bigtable.v2.ReadModifyWriteRowResponse\"\x98\x03\xda\x41\x18table_name,row_key,rules\xda\x41\'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:\n\ntable_name\x12,{table_name=projects/*/instances/*/tables/*}\x12\x10\n\x0e\x61pp_profile_id\x12G\n\x14\x61uthorized_view_name\x12/{table_name=projects/*/instances/*/tables/*}/**\x12\xbb\x02\n%GenerateInitialChangeStreamPartitions\x12@.google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest\x1a\x41.google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse\"\x8a\x01\xda\x41\ntable_name\xda\x41\x19table_name,app_profile_id\x82\xd3\xe4\x93\x02[\"V/v2/{table_name=projects/*/instances/*/tables/*}:generateInitialChangeStreamPartitions:\x01*0\x01\x12\xe6\x01\n\x10ReadChangeStream\x12+.google.bigtable.v2.ReadChangeStreamRequest\x1a,.google.bigtable.v2.ReadChangeStreamResponse\"u\xda\x41\ntable_name\xda\x41\x19table_name,app_profile_id\x82\xd3\xe4\x93\x02\x46\"A/v2/{table_name=projects/*/instances/*/tables/*}:readChangeStream:\x01*0\x01\x12\xa9\x02\n\x0cPrepareQuery\x12\'.google.bigtable.v2.PrepareQueryRequest\x1a(.google.bigtable.v2.PrepareQueryResponse\"\xc5\x01\xda\x41\x13instance_name,query\xda\x41\"instance_name,query,app_profile_id\x82\xd3\xe4\x93\x02<\"7/v2/{instance_name=projects/*/instances/*}:prepareQuery:\x01*\x8a\xd3\xe4\x93\x02\x42\x12.\n\rinstance_name\x12\x1d{name=projects/*/instances/*}\x12\x10\n\x0e\x61pp_profile_id\x12\xab\x02\n\x0c\x45xecuteQuery\x12\'.google.bigtable.v2.ExecuteQueryRequest\x1a(.google.bigtable.v2.ExecuteQueryResponse\"\xc5\x01\xda\x41\x13instance_name,query\xda\x41\"instance_name,query,app_profile_id\x82\xd3\xe4\x93\x02<\"7/v2/{instance_name=projects/*/instances/*}:executeQuery:\x01*\x8a\xd3\xe4\x93\x02\x42\x12.\n\rinstance_name\x12\x1d{name=projects/*/instances/*}\x12\x10\n\x0e\x61pp_profile_id0\x01\x1a\xdb\x02\xca\x41\x17\x62igtable.googleapis.com\xd2\x41\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\n\x16\x63om.google.bigtable.v2B\rBigtableProtoP\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\xea\x41P\n%bigtableadmin.googleapis.com/Instance\x12\'projects/{project}/instances/{instance}\xea\x41\\\n\"bigtableadmin.googleapis.com/Table\x12\x36projects/{project}/instances/{instance}/tables/{table}\xea\x41\x87\x01\n+bigtableadmin.googleapis.com/AuthorizedView\x12Xprojects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}\xea\x41~\n-bigtableadmin.googleapis.com/MaterializedView\x12Mprojects/{project}/instances/{instance}/materializedViews/{materialized_view}b\x06proto3"
22
22
 
23
23
  pool = Google::Protobuf::DescriptorPool.generated_pool
24
24
 
@@ -62,15 +62,15 @@ module Google
62
62
  # timestamp is the greater of the existing timestamp or the current server
63
63
  # time. The method returns the new contents of all modified cells.
64
64
  rpc :ReadModifyWriteRow, ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowRequest, ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse
65
- # NOTE: This API is intended to be used by Apache Beam BigtableIO.
66
65
  # Returns the current list of partitions that make up the table's
67
66
  # change stream. The union of partitions will cover the entire keyspace.
68
67
  # Partitions can be read with `ReadChangeStream`.
68
+ # NOTE: This API is only intended to be used by Apache Beam BigtableIO.
69
69
  rpc :GenerateInitialChangeStreamPartitions, ::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsRequest, stream(::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsResponse)
70
- # NOTE: This API is intended to be used by Apache Beam BigtableIO.
71
70
  # Reads changes from a table's change stream. Changes will
72
71
  # reflect both user-initiated mutations and mutations that are caused by
73
72
  # garbage collection.
73
+ # NOTE: This API is only intended to be used by Apache Beam BigtableIO.
74
74
  rpc :ReadChangeStream, ::Google::Cloud::Bigtable::V2::ReadChangeStreamRequest, stream(::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse)
75
75
  # Prepares a GoogleSQL query for execution on a particular Bigtable instance.
76
76
  rpc :PrepareQuery, ::Google::Cloud::Bigtable::V2::PrepareQueryRequest, ::Google::Cloud::Bigtable::V2::PrepareQueryResponse
@@ -7,7 +7,7 @@ require 'google/protobuf'
7
7
  require 'google/api/field_behavior_pb'
8
8
 
9
9
 
10
- descriptor_data = "\n\x1egoogle/bigtable/v2/types.proto\x12\x12google.bigtable.v2\x1a\x1fgoogle/api/field_behavior.proto\"\xe0\x10\n\x04Type\x12\x34\n\nbytes_type\x18\x01 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.BytesH\x00\x12\x36\n\x0bstring_type\x18\x02 \x01(\x0b\x32\x1f.google.bigtable.v2.Type.StringH\x00\x12\x34\n\nint64_type\x18\x05 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.Int64H\x00\x12\x38\n\x0c\x66loat32_type\x18\x0c \x01(\x0b\x32 .google.bigtable.v2.Type.Float32H\x00\x12\x38\n\x0c\x66loat64_type\x18\t \x01(\x0b\x32 .google.bigtable.v2.Type.Float64H\x00\x12\x32\n\tbool_type\x18\x08 \x01(\x0b\x32\x1d.google.bigtable.v2.Type.BoolH\x00\x12<\n\x0etimestamp_type\x18\n \x01(\x0b\x32\".google.bigtable.v2.Type.TimestampH\x00\x12\x32\n\tdate_type\x18\x0b \x01(\x0b\x32\x1d.google.bigtable.v2.Type.DateH\x00\x12<\n\x0e\x61ggregate_type\x18\x06 \x01(\x0b\x32\".google.bigtable.v2.Type.AggregateH\x00\x12\x36\n\x0bstruct_type\x18\x07 \x01(\x0b\x32\x1f.google.bigtable.v2.Type.StructH\x00\x12\x34\n\narray_type\x18\x03 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.ArrayH\x00\x12\x30\n\x08map_type\x18\x04 \x01(\x0b\x32\x1c.google.bigtable.v2.Type.MapH\x00\x1a\x9d\x01\n\x05\x42ytes\x12\x39\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Bytes.Encoding\x1aY\n\x08\x45ncoding\x12:\n\x03raw\x18\x01 \x01(\x0b\x32+.google.bigtable.v2.Type.Bytes.Encoding.RawH\x00\x1a\x05\n\x03RawB\n\n\x08\x65ncoding\x1a\x8d\x02\n\x06String\x12:\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32(.google.bigtable.v2.Type.String.Encoding\x1a\xc6\x01\n\x08\x45ncoding\x12H\n\x08utf8_raw\x18\x01 \x01(\x0b\x32\x30.google.bigtable.v2.Type.String.Encoding.Utf8RawB\x02\x18\x01H\x00\x12H\n\nutf8_bytes\x18\x02 \x01(\x0b\x32\x32.google.bigtable.v2.Type.String.Encoding.Utf8BytesH\x00\x1a\r\n\x07Utf8Raw:\x02\x18\x01\x1a\x0b\n\tUtf8BytesB\n\n\x08\x65ncoding\x1a\xf5\x01\n\x05Int64\x12\x39\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Int64.Encoding\x1a\xb0\x01\n\x08\x45ncoding\x12R\n\x10\x62ig_endian_bytes\x18\x01 \x01(\x0b\x32\x36.google.bigtable.v2.Type.Int64.Encoding.BigEndianBytesH\x00\x1a\x44\n\x0e\x42igEndianBytes\x12\x32\n\nbytes_type\x18\x01 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.BytesB\n\n\x08\x65ncoding\x1a\x06\n\x04\x42ool\x1a\t\n\x07\x46loat32\x1a\t\n\x07\x46loat64\x1a\x0b\n\tTimestamp\x1a\x06\n\x04\x44\x61te\x1a\x84\x01\n\x06Struct\x12\x35\n\x06\x66ields\x18\x01 \x03(\x0b\x32%.google.bigtable.v2.Type.Struct.Field\x1a\x43\n\x05\x46ield\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12&\n\x04type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a\x37\n\x05\x41rray\x12.\n\x0c\x65lement_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a_\n\x03Map\x12*\n\x08key_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x12,\n\nvalue_type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a\xb7\x03\n\tAggregate\x12,\n\ninput_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x12\x31\n\nstate_type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.TypeB\x03\xe0\x41\x03\x12\x35\n\x03sum\x18\x04 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.SumH\x00\x12_\n\x12hllpp_unique_count\x18\x05 \x01(\x0b\x32\x41.google.bigtable.v2.Type.Aggregate.HyperLogLogPlusPlusUniqueCountH\x00\x12\x35\n\x03max\x18\x06 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.MaxH\x00\x12\x35\n\x03min\x18\x07 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.MinH\x00\x1a\x05\n\x03Sum\x1a\x05\n\x03Max\x1a\x05\n\x03Min\x1a \n\x1eHyperLogLogPlusPlusUniqueCountB\x0c\n\naggregatorB\x06\n\x04kindB\xb4\x01\n\x16\x63om.google.bigtable.v2B\nTypesProtoP\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"
10
+ descriptor_data = "\n\x1egoogle/bigtable/v2/types.proto\x12\x12google.bigtable.v2\x1a\x1fgoogle/api/field_behavior.proto\"\x87\x18\n\x04Type\x12\x34\n\nbytes_type\x18\x01 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.BytesH\x00\x12\x36\n\x0bstring_type\x18\x02 \x01(\x0b\x32\x1f.google.bigtable.v2.Type.StringH\x00\x12\x34\n\nint64_type\x18\x05 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.Int64H\x00\x12\x38\n\x0c\x66loat32_type\x18\x0c \x01(\x0b\x32 .google.bigtable.v2.Type.Float32H\x00\x12\x38\n\x0c\x66loat64_type\x18\t \x01(\x0b\x32 .google.bigtable.v2.Type.Float64H\x00\x12\x32\n\tbool_type\x18\x08 \x01(\x0b\x32\x1d.google.bigtable.v2.Type.BoolH\x00\x12<\n\x0etimestamp_type\x18\n \x01(\x0b\x32\".google.bigtable.v2.Type.TimestampH\x00\x12\x32\n\tdate_type\x18\x0b \x01(\x0b\x32\x1d.google.bigtable.v2.Type.DateH\x00\x12<\n\x0e\x61ggregate_type\x18\x06 \x01(\x0b\x32\".google.bigtable.v2.Type.AggregateH\x00\x12\x36\n\x0bstruct_type\x18\x07 \x01(\x0b\x32\x1f.google.bigtable.v2.Type.StructH\x00\x12\x34\n\narray_type\x18\x03 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.ArrayH\x00\x12\x30\n\x08map_type\x18\x04 \x01(\x0b\x32\x1c.google.bigtable.v2.Type.MapH\x00\x12\x34\n\nproto_type\x18\r \x01(\x0b\x32\x1e.google.bigtable.v2.Type.ProtoH\x00\x12\x32\n\tenum_type\x18\x0e \x01(\x0b\x32\x1d.google.bigtable.v2.Type.EnumH\x00\x1a\xb3\x01\n\x05\x42ytes\x12\x39\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Bytes.Encoding\x1ao\n\x08\x45ncoding\x12:\n\x03raw\x18\x01 \x01(\x0b\x32+.google.bigtable.v2.Type.Bytes.Encoding.RawH\x00\x1a\x1b\n\x03Raw\x12\x14\n\x0c\x65scape_nulls\x18\x01 \x01(\x08\x42\n\n\x08\x65ncoding\x1a\xa7\x02\n\x06String\x12:\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32(.google.bigtable.v2.Type.String.Encoding\x1a\xe0\x01\n\x08\x45ncoding\x12H\n\x08utf8_raw\x18\x01 \x01(\x0b\x32\x30.google.bigtable.v2.Type.String.Encoding.Utf8RawB\x02\x18\x01H\x00\x12H\n\nutf8_bytes\x18\x02 \x01(\x0b\x32\x32.google.bigtable.v2.Type.String.Encoding.Utf8BytesH\x00\x1a\r\n\x07Utf8Raw:\x02\x18\x01\x1a%\n\tUtf8Bytes\x12\x18\n\x10null_escape_char\x18\x01 \x01(\tB\n\n\x08\x65ncoding\x1a\xe5\x02\n\x05Int64\x12\x39\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Int64.Encoding\x1a\xa0\x02\n\x08\x45ncoding\x12R\n\x10\x62ig_endian_bytes\x18\x01 \x01(\x0b\x32\x36.google.bigtable.v2.Type.Int64.Encoding.BigEndianBytesH\x00\x12V\n\x12ordered_code_bytes\x18\x02 \x01(\x0b\x32\x38.google.bigtable.v2.Type.Int64.Encoding.OrderedCodeBytesH\x00\x1aH\n\x0e\x42igEndianBytes\x12\x36\n\nbytes_type\x18\x01 \x01(\x0b\x32\x1e.google.bigtable.v2.Type.BytesB\x02\x18\x01\x1a\x12\n\x10OrderedCodeBytesB\n\n\x08\x65ncoding\x1a\x06\n\x04\x42ool\x1a\t\n\x07\x46loat32\x1a\t\n\x07\x46loat64\x1a\xa8\x01\n\tTimestamp\x12=\n\x08\x65ncoding\x18\x01 \x01(\x0b\x32+.google.bigtable.v2.Type.Timestamp.Encoding\x1a\\\n\x08\x45ncoding\x12\x44\n\x11unix_micros_int64\x18\x01 \x01(\x0b\x32\'.google.bigtable.v2.Type.Int64.EncodingH\x00\x42\n\n\x08\x65ncoding\x1a\x06\n\x04\x44\x61te\x1a\x95\x04\n\x06Struct\x12\x35\n\x06\x66ields\x18\x01 \x03(\x0b\x32%.google.bigtable.v2.Type.Struct.Field\x12:\n\x08\x65ncoding\x18\x02 \x01(\x0b\x32(.google.bigtable.v2.Type.Struct.Encoding\x1a\x43\n\x05\x46ield\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12&\n\x04type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a\xd2\x02\n\x08\x45ncoding\x12G\n\tsingleton\x18\x01 \x01(\x0b\x32\x32.google.bigtable.v2.Type.Struct.Encoding.SingletonH\x00\x12R\n\x0f\x64\x65limited_bytes\x18\x02 \x01(\x0b\x32\x37.google.bigtable.v2.Type.Struct.Encoding.DelimitedBytesH\x00\x12W\n\x12ordered_code_bytes\x18\x03 \x01(\x0b\x32\x39.google.bigtable.v2.Type.Struct.Encoding.OrderedCodeBytesH\x00\x1a\x0b\n\tSingleton\x1a#\n\x0e\x44\x65limitedBytes\x12\x11\n\tdelimiter\x18\x01 \x01(\x0c\x1a\x12\n\x10OrderedCodeBytesB\n\n\x08\x65ncoding\x1a\x37\n\x05Proto\x12\x18\n\x10schema_bundle_id\x18\x01 \x01(\t\x12\x14\n\x0cmessage_name\x18\x02 \x01(\t\x1a\x33\n\x04\x45num\x12\x18\n\x10schema_bundle_id\x18\x01 \x01(\t\x12\x11\n\tenum_name\x18\x02 \x01(\t\x1a\x37\n\x05\x41rray\x12.\n\x0c\x65lement_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a_\n\x03Map\x12*\n\x08key_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x12,\n\nvalue_type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x1a\xb7\x03\n\tAggregate\x12,\n\ninput_type\x18\x01 \x01(\x0b\x32\x18.google.bigtable.v2.Type\x12\x31\n\nstate_type\x18\x02 \x01(\x0b\x32\x18.google.bigtable.v2.TypeB\x03\xe0\x41\x03\x12\x35\n\x03sum\x18\x04 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.SumH\x00\x12_\n\x12hllpp_unique_count\x18\x05 \x01(\x0b\x32\x41.google.bigtable.v2.Type.Aggregate.HyperLogLogPlusPlusUniqueCountH\x00\x12\x35\n\x03max\x18\x06 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.MaxH\x00\x12\x35\n\x03min\x18\x07 \x01(\x0b\x32&.google.bigtable.v2.Type.Aggregate.MinH\x00\x1a\x05\n\x03Sum\x1a\x05\n\x03Max\x1a\x05\n\x03Min\x1a \n\x1eHyperLogLogPlusPlusUniqueCountB\x0c\n\naggregatorB\x06\n\x04kindB\xb4\x01\n\x16\x63om.google.bigtable.v2B\nTypesProtoP\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"
11
11
 
12
12
  pool = Google::Protobuf::DescriptorPool.generated_pool
13
13
 
@@ -48,13 +48,21 @@ module Google
48
48
  Type::Int64 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Int64").msgclass
49
49
  Type::Int64::Encoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Int64.Encoding").msgclass
50
50
  Type::Int64::Encoding::BigEndianBytes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Int64.Encoding.BigEndianBytes").msgclass
51
+ Type::Int64::Encoding::OrderedCodeBytes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Int64.Encoding.OrderedCodeBytes").msgclass
51
52
  Type::Bool = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Bool").msgclass
52
53
  Type::Float32 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Float32").msgclass
53
54
  Type::Float64 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Float64").msgclass
54
55
  Type::Timestamp = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Timestamp").msgclass
56
+ Type::Timestamp::Encoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Timestamp.Encoding").msgclass
55
57
  Type::Date = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Date").msgclass
56
58
  Type::Struct = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct").msgclass
57
59
  Type::Struct::Field = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Field").msgclass
60
+ Type::Struct::Encoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Encoding").msgclass
61
+ Type::Struct::Encoding::Singleton = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Encoding.Singleton").msgclass
62
+ Type::Struct::Encoding::DelimitedBytes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Encoding.DelimitedBytes").msgclass
63
+ Type::Struct::Encoding::OrderedCodeBytes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Struct.Encoding.OrderedCodeBytes").msgclass
64
+ Type::Proto = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Proto").msgclass
65
+ Type::Enum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Enum").msgclass
58
66
  Type::Array = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Array").msgclass
59
67
  Type::Map = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Map").msgclass
60
68
  Type::Aggregate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Type.Aggregate").msgclass
@@ -321,12 +321,20 @@ module Google
321
321
  %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/?$}.match?(request.table_name)
322
322
  header_params["table_name"] = request.table_name
323
323
  end
324
+ if request.authorized_view_name
325
+ regex_match = %r{^(?<table_name>projects/[^/]+/instances/[^/]+/tables/[^/]+)(?:/.*)?$}.match request.authorized_view_name
326
+ if regex_match
327
+ header_params["table_name"] = regex_match["table_name".to_s]
328
+ end
329
+ end
324
330
  if request.app_profile_id && !request.app_profile_id.empty?
325
331
  header_params["app_profile_id"] = request.app_profile_id
326
332
  end
327
- if request.authorized_view_name &&
328
- %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+/?$}.match?(request.authorized_view_name)
329
- header_params["authorized_view_name"] = request.authorized_view_name
333
+ if request.materialized_view_name
334
+ regex_match = %r{^(?<name>projects/[^/]+/instances/[^/]+)(?:/.*)?$}.match request.materialized_view_name
335
+ if regex_match
336
+ header_params["name"] = regex_match["name".to_s]
337
+ end
330
338
  end
331
339
 
332
340
  request_params_header = URI.encode_www_form header_params
@@ -437,12 +445,20 @@ module Google
437
445
  %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/?$}.match?(request.table_name)
438
446
  header_params["table_name"] = request.table_name
439
447
  end
448
+ if request.authorized_view_name
449
+ regex_match = %r{^(?<table_name>projects/[^/]+/instances/[^/]+/tables/[^/]+)(?:/.*)?$}.match request.authorized_view_name
450
+ if regex_match
451
+ header_params["table_name"] = regex_match["table_name".to_s]
452
+ end
453
+ end
440
454
  if request.app_profile_id && !request.app_profile_id.empty?
441
455
  header_params["app_profile_id"] = request.app_profile_id
442
456
  end
443
- if request.authorized_view_name &&
444
- %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+/?$}.match?(request.authorized_view_name)
445
- header_params["authorized_view_name"] = request.authorized_view_name
457
+ if request.materialized_view_name
458
+ regex_match = %r{^(?<name>projects/[^/]+/instances/[^/]+)(?:/.*)?$}.match request.materialized_view_name
459
+ if regex_match
460
+ header_params["name"] = regex_match["name".to_s]
461
+ end
446
462
  end
447
463
 
448
464
  request_params_header = URI.encode_www_form header_params
@@ -504,8 +520,8 @@ module Google
504
520
  # are applied in order, meaning that earlier mutations can be masked by later
505
521
  # ones. Must contain at least one entry and at most 100000.
506
522
  # @param idempotency [::Google::Cloud::Bigtable::V2::Idempotency, ::Hash]
507
- # Optional parameter for ensuring a MutateRow request is only applied once.
508
- # Currently applicable only for certain aggregate types.
523
+ # If set consistently across retries, prevents this mutation from being
524
+ # double applied to aggregate column families within a 15m window.
509
525
  #
510
526
  # @yield [response, operation] Access the result along with the RPC operation
511
527
  # @yieldparam response [::Google::Cloud::Bigtable::V2::MutateRowResponse]
@@ -553,13 +569,15 @@ module Google
553
569
  %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/?$}.match?(request.table_name)
554
570
  header_params["table_name"] = request.table_name
555
571
  end
572
+ if request.authorized_view_name
573
+ regex_match = %r{^(?<table_name>projects/[^/]+/instances/[^/]+/tables/[^/]+)(?:/.*)?$}.match request.authorized_view_name
574
+ if regex_match
575
+ header_params["table_name"] = regex_match["table_name".to_s]
576
+ end
577
+ end
556
578
  if request.app_profile_id && !request.app_profile_id.empty?
557
579
  header_params["app_profile_id"] = request.app_profile_id
558
580
  end
559
- if request.authorized_view_name &&
560
- %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+/?$}.match?(request.authorized_view_name)
561
- header_params["authorized_view_name"] = request.authorized_view_name
562
- end
563
581
 
564
582
  request_params_header = URI.encode_www_form header_params
565
583
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -670,13 +688,15 @@ module Google
670
688
  %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/?$}.match?(request.table_name)
671
689
  header_params["table_name"] = request.table_name
672
690
  end
691
+ if request.authorized_view_name
692
+ regex_match = %r{^(?<table_name>projects/[^/]+/instances/[^/]+/tables/[^/]+)(?:/.*)?$}.match request.authorized_view_name
693
+ if regex_match
694
+ header_params["table_name"] = regex_match["table_name".to_s]
695
+ end
696
+ end
673
697
  if request.app_profile_id && !request.app_profile_id.empty?
674
698
  header_params["app_profile_id"] = request.app_profile_id
675
699
  end
676
- if request.authorized_view_name &&
677
- %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+/?$}.match?(request.authorized_view_name)
678
- header_params["authorized_view_name"] = request.authorized_view_name
679
- end
680
700
 
681
701
  request_params_header = URI.encode_www_form header_params
682
702
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -796,13 +816,15 @@ module Google
796
816
  %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/?$}.match?(request.table_name)
797
817
  header_params["table_name"] = request.table_name
798
818
  end
819
+ if request.authorized_view_name
820
+ regex_match = %r{^(?<table_name>projects/[^/]+/instances/[^/]+/tables/[^/]+)(?:/.*)?$}.match request.authorized_view_name
821
+ if regex_match
822
+ header_params["table_name"] = regex_match["table_name".to_s]
823
+ end
824
+ end
799
825
  if request.app_profile_id && !request.app_profile_id.empty?
800
826
  header_params["app_profile_id"] = request.app_profile_id
801
827
  end
802
- if request.authorized_view_name &&
803
- %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+/?$}.match?(request.authorized_view_name)
804
- header_params["authorized_view_name"] = request.authorized_view_name
805
- end
806
828
 
807
829
  request_params_header = URI.encode_www_form header_params
808
830
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -960,7 +982,8 @@ module Google
960
982
  # @param rules [::Array<::Google::Cloud::Bigtable::V2::ReadModifyWriteRule, ::Hash>]
961
983
  # Required. Rules specifying how the specified row's contents are to be
962
984
  # transformed into writes. Entries are applied in order, meaning that earlier
963
- # rules will affect the results of later ones.
985
+ # rules will affect the results of later ones. At least one entry must be
986
+ # specified, and there can be at most 100000 rules.
964
987
  #
965
988
  # @yield [response, operation] Access the result along with the RPC operation
966
989
  # @yieldparam response [::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse]
@@ -1008,13 +1031,15 @@ module Google
1008
1031
  %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/?$}.match?(request.table_name)
1009
1032
  header_params["table_name"] = request.table_name
1010
1033
  end
1034
+ if request.authorized_view_name
1035
+ regex_match = %r{^(?<table_name>projects/[^/]+/instances/[^/]+/tables/[^/]+)(?:/.*)?$}.match request.authorized_view_name
1036
+ if regex_match
1037
+ header_params["table_name"] = regex_match["table_name".to_s]
1038
+ end
1039
+ end
1011
1040
  if request.app_profile_id && !request.app_profile_id.empty?
1012
1041
  header_params["app_profile_id"] = request.app_profile_id
1013
1042
  end
1014
- if request.authorized_view_name &&
1015
- %r{^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+/?$}.match?(request.authorized_view_name)
1016
- header_params["authorized_view_name"] = request.authorized_view_name
1017
- end
1018
1043
 
1019
1044
  request_params_header = URI.encode_www_form header_params
1020
1045
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -1035,10 +1060,10 @@ module Google
1035
1060
  end
1036
1061
 
1037
1062
  ##
1038
- # NOTE: This API is intended to be used by Apache Beam BigtableIO.
1039
1063
  # Returns the current list of partitions that make up the table's
1040
1064
  # change stream. The union of partitions will cover the entire keyspace.
1041
1065
  # Partitions can be read with `ReadChangeStream`.
1066
+ # NOTE: This API is only intended to be used by Apache Beam BigtableIO.
1042
1067
  #
1043
1068
  # @overload generate_initial_change_stream_partitions(request, options = nil)
1044
1069
  # Pass arguments to `generate_initial_change_stream_partitions` via a request object, either of type
@@ -1133,10 +1158,10 @@ module Google
1133
1158
  end
1134
1159
 
1135
1160
  ##
1136
- # NOTE: This API is intended to be used by Apache Beam BigtableIO.
1137
1161
  # Reads changes from a table's change stream. Changes will
1138
1162
  # reflect both user-initiated mutations and mutations that are caused by
1139
1163
  # garbage collection.
1164
+ # NOTE: This API is only intended to be used by Apache Beam BigtableIO.
1140
1165
  #
1141
1166
  # @overload read_change_stream(request, options = nil)
1142
1167
  # Pass arguments to `read_change_stream` via a request object, either of type
@@ -1177,10 +1202,10 @@ module Google
1177
1202
  # the position. Tokens are delivered on the stream as part of `Heartbeat`
1178
1203
  # and `CloseStream` messages.
1179
1204
  #
1180
- # If a single token is provided, the tokens partition must exactly match
1181
- # the requests partition. If multiple tokens are provided, as in the case
1205
+ # If a single token is provided, the token's partition must exactly match
1206
+ # the request's partition. If multiple tokens are provided, as in the case
1182
1207
  # of a partition merge, the union of the token partitions must exactly
1183
- # cover the requests partition. Otherwise, INVALID_ARGUMENT will be
1208
+ # cover the request's partition. Otherwise, INVALID_ARGUMENT will be
1184
1209
  # returned.
1185
1210
  #
1186
1211
  # Note: The following parameters are mutually exclusive: `continuation_tokens`, `start_time`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Bigtable
23
23
  module V2
24
- VERSION = "1.8.0"
24
+ VERSION = "1.10.0"
25
25
  end
26
26
  end
27
27
  end
@@ -109,25 +109,11 @@ module Google
109
109
  # key, allowing the client to skip that work on a retry.
110
110
  # @!attribute [rw] request_stats
111
111
  # @return [::Google::Cloud::Bigtable::V2::RequestStats]
112
- # If requested, provide enhanced query performance statistics. The semantics
113
- # dictate:
114
- # * request_stats is empty on every (streamed) response, except
115
- # * request_stats has non-empty information after all chunks have been
116
- # streamed, where the ReadRowsResponse message only contains
117
- # request_stats.
118
- # * For example, if a read request would have returned an empty
119
- # response instead a single ReadRowsResponse is streamed with empty
120
- # chunks and request_stats filled.
121
- #
122
- # Visually, response messages will stream as follows:
123
- # ... -> \\{chunks: [...]} -> \\{chunks: [], request_stats: \\{...}}
124
- # \______________________/ \________________________________/
125
- # Primary response Trailer of RequestStats info
126
- #
127
- # Or if the read did not return any values:
128
- # \\{chunks: [], request_stats: \\{...}}
129
- # \________________________________/
130
- # Trailer of RequestStats info
112
+ # If requested, return enhanced query performance statistics. The field
113
+ # request_stats is empty in a streamed response unless the ReadRowsResponse
114
+ # message contains request_stats in the last message of the stream. Always
115
+ # returned when requested, even when the read request returns an empty
116
+ # response.
131
117
  class ReadRowsResponse
132
118
  include ::Google::Protobuf::MessageExts
133
119
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -280,8 +266,8 @@ module Google
280
266
  # ones. Must contain at least one entry and at most 100000.
281
267
  # @!attribute [rw] idempotency
282
268
  # @return [::Google::Cloud::Bigtable::V2::Idempotency]
283
- # Optional parameter for ensuring a MutateRow request is only applied once.
284
- # Currently applicable only for certain aggregate types.
269
+ # If set consistently across retries, prevents this mutation from being
270
+ # double applied to aggregate column families within a 15m window.
285
271
  class MutateRowRequest
286
272
  include ::Google::Protobuf::MessageExts
287
273
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -332,6 +318,10 @@ module Google
332
318
  # Required. Changes to be atomically applied to the specified row.
333
319
  # Mutations are applied in order, meaning that earlier mutations can be
334
320
  # masked by later ones. You must specify at least one mutation.
321
+ # @!attribute [rw] idempotency
322
+ # @return [::Google::Cloud::Bigtable::V2::Idempotency]
323
+ # If set consistently across retries, prevents this mutation from being
324
+ # double applied to aggregate column families within a 15m window.
335
325
  class Entry
336
326
  include ::Google::Protobuf::MessageExts
337
327
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -385,7 +375,7 @@ module Google
385
375
  # target load should be 80. After adjusting, the client should ignore
386
376
  # `factor` until another `period` has passed.
387
377
  #
388
- # The client can measure its load using any unit that's comparable over time
378
+ # The client can measure its load using any unit that's comparable over time.
389
379
  # For example, QPS can be used as long as each request involves a similar
390
380
  # amount of work.
391
381
  class RateLimitInfo
@@ -499,7 +489,8 @@ module Google
499
489
  # @return [::Array<::Google::Cloud::Bigtable::V2::ReadModifyWriteRule>]
500
490
  # Required. Rules specifying how the specified row's contents are to be
501
491
  # transformed into writes. Entries are applied in order, meaning that earlier
502
- # rules will affect the results of later ones.
492
+ # rules will affect the results of later ones. At least one entry must be
493
+ # specified, and there can be at most 100000 rules.
503
494
  class ReadModifyWriteRowRequest
504
495
  include ::Google::Protobuf::MessageExts
505
496
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -573,10 +564,10 @@ module Google
573
564
  # the position. Tokens are delivered on the stream as part of `Heartbeat`
574
565
  # and `CloseStream` messages.
575
566
  #
576
- # If a single token is provided, the tokens partition must exactly match
577
- # the requests partition. If multiple tokens are provided, as in the case
567
+ # If a single token is provided, the token's partition must exactly match
568
+ # the request's partition. If multiple tokens are provided, as in the case
578
569
  # of a partition merge, the union of the token partitions must exactly
579
- # cover the requests partition. Otherwise, INVALID_ARGUMENT will be
570
+ # cover the request's partition. Otherwise, INVALID_ARGUMENT will be
580
571
  # returned.
581
572
  #
582
573
  # Note: The following fields are mutually exclusive: `continuation_tokens`, `start_time`. If a field in that set is populated, all other fields in the set will automatically be cleared.
@@ -696,8 +687,8 @@ module Google
696
687
  # An estimate of the commit timestamp that is usually lower than or equal
697
688
  # to any timestamp for a record that will be delivered in the future on the
698
689
  # stream. It is possible that, under particular circumstances that a future
699
- # record has a timestamp is is lower than a previously seen timestamp. For
700
- # an example usage see
690
+ # record has a timestamp that is lower than a previously seen timestamp.
691
+ # For an example usage see
701
692
  # https://beam.apache.org/documentation/basics/#watermarks
702
693
  class DataChange
703
694
  include ::Google::Protobuf::MessageExts
@@ -731,8 +722,8 @@ module Google
731
722
  # An estimate of the commit timestamp that is usually lower than or equal
732
723
  # to any timestamp for a record that will be delivered in the future on the
733
724
  # stream. It is possible that, under particular circumstances that a future
734
- # record has a timestamp is is lower than a previously seen timestamp. For
735
- # an example usage see
725
+ # record has a timestamp that is lower than a previously seen timestamp.
726
+ # For an example usage see
736
727
  # https://beam.apache.org/documentation/basics/#watermarks
737
728
  class Heartbeat
738
729
  include ::Google::Protobuf::MessageExts
@@ -745,17 +736,19 @@ module Google
745
736
  # If `continuation_tokens` & `new_partitions` are present, then a change in
746
737
  # partitioning requires the client to open a new stream for each token to
747
738
  # resume reading. Example:
748
- # [B, D) ends
749
- # |
750
- # v
751
- # new_partitions: [A, C) [C, E)
752
- # continuation_tokens.partitions: [B,C) [C,D)
753
- # ^---^ ^---^
754
- # ^ ^
755
- # | |
756
- # | StreamContinuationToken 2
757
- # |
758
- # StreamContinuationToken 1
739
+ #
740
+ # [B, D) ends
741
+ # |
742
+ # v
743
+ # new_partitions: [A, C) [C, E)
744
+ # continuation_tokens.partitions: [B,C) [C,D)
745
+ # ^---^ ^---^
746
+ # ^ ^
747
+ # | |
748
+ # | StreamContinuationToken 2
749
+ # |
750
+ # StreamContinuationToken 1
751
+ #
759
752
  # To read the new partition [A,C), supply the continuation tokens whose
760
753
  # ranges cover the new partition, for example ContinuationToken[A,B) &
761
754
  # ContinuationToken[B,C).
@@ -148,6 +148,7 @@ module Google
148
148
  # @!attribute [rw] float_value
149
149
  # @return [::Float]
150
150
  # Represents a typed value transported as a floating point number.
151
+ # Does not support NaN or infinities.
151
152
  #
152
153
  # Note: The following fields are mutually exclusive: `float_value`, `raw_value`, `raw_timestamp_micros`, `bytes_value`, `string_value`, `int_value`, `bool_value`, `timestamp_value`, `date_value`, `array_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
153
154
  # @!attribute [rw] timestamp_value
@@ -88,8 +88,7 @@ module Google
88
88
 
89
89
  # RequestStats is the container for additional information pertaining to a
90
90
  # single request, helpful for evaluating the performance of the sent request.
91
- # Currently, there are the following supported methods:
92
- # * google.bigtable.v2.ReadRows
91
+ # Currently, the following method is supported: google.bigtable.v2.ReadRows
93
92
  # @!attribute [rw] full_read_stats_view
94
93
  # @return [::Google::Cloud::Bigtable::V2::FullReadStatsView]
95
94
  # Available with the ReadRowsRequest.RequestStatsView.REQUEST_STATS_FULL
@@ -22,9 +22,6 @@ module Google
22
22
  module Bigtable
23
23
  module V2
24
24
  # Response metadata proto
25
- # This is an experimental feature that will be used to get zone_id and
26
- # cluster_id from response trailers to tag the metrics. This should not be
27
- # used by customers directly
28
25
  # @!attribute [rw] zone_id
29
26
  # @return [::String]
30
27
  # The cloud bigtable zone associated with the cluster.
@@ -26,85 +26,93 @@ module Google
26
26
  # familiarity and consistency across products and features.
27
27
  #
28
28
  # For compatibility with Bigtable's existing untyped APIs, each `Type` includes
29
- # an `Encoding` which describes how to convert to/from the underlying data.
29
+ # an `Encoding` which describes how to convert to or from the underlying data.
30
30
  #
31
- # Each encoding also defines the following properties:
31
+ # Each encoding can operate in one of two modes:
32
32
  #
33
- # * Order-preserving: Does the encoded value sort consistently with the
34
- # original typed value? Note that Bigtable will always sort data based on
35
- # the raw encoded value, *not* the decoded type.
36
- # - Example: BYTES values sort in the same order as their raw encodings.
37
- # - Counterexample: Encoding INT64 as a fixed-width decimal string does
38
- # *not* preserve sort order when dealing with negative numbers.
39
- # `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001)`.
40
- # * Self-delimiting: If we concatenate two encoded values, can we always tell
41
- # where the first one ends and the second one begins?
42
- # - Example: If we encode INT64s to fixed-width STRINGs, the first value
43
- # will always contain exactly N digits, possibly preceded by a sign.
44
- # - Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have
45
- # no way to tell where the first one ends.
46
- # * Compatibility: Which other systems have matching encoding schemes? For
47
- # example, does this encoding have a GoogleSQL equivalent? HBase? Java?
33
+ # - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)`
34
+ # if and only if `X <= Y`. This is useful anywhere sort order is important,
35
+ # for example when encoding keys.
36
+ # - Distinct: In this mode, Bigtable guarantees that if `X != Y` then
37
+ # `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For
38
+ # example, both `{'foo': '1', 'bar': '2'}` and `{'bar': '2', 'foo': '1'}`
39
+ # are valid encodings of the same JSON value.
40
+ #
41
+ # The API clearly documents which mode is used wherever an encoding can be
42
+ # configured. Each encoding also documents which values are supported in which
43
+ # modes. For example, when encoding INT64 as a numeric STRING, negative numbers
44
+ # cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but
45
+ # `STRING("-00001") > STRING("00001")`.
48
46
  # @!attribute [rw] bytes_type
49
47
  # @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
50
48
  # Bytes
51
49
  #
52
- # Note: The following fields are mutually exclusive: `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
50
+ # Note: The following fields are mutually exclusive: `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
53
51
  # @!attribute [rw] string_type
54
52
  # @return [::Google::Cloud::Bigtable::V2::Type::String]
55
53
  # String
56
54
  #
57
- # Note: The following fields are mutually exclusive: `string_type`, `bytes_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
55
+ # Note: The following fields are mutually exclusive: `string_type`, `bytes_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
58
56
  # @!attribute [rw] int64_type
59
57
  # @return [::Google::Cloud::Bigtable::V2::Type::Int64]
60
58
  # Int64
61
59
  #
62
- # Note: The following fields are mutually exclusive: `int64_type`, `bytes_type`, `string_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
60
+ # Note: The following fields are mutually exclusive: `int64_type`, `bytes_type`, `string_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
63
61
  # @!attribute [rw] float32_type
64
62
  # @return [::Google::Cloud::Bigtable::V2::Type::Float32]
65
63
  # Float32
66
64
  #
67
- # Note: The following fields are mutually exclusive: `float32_type`, `bytes_type`, `string_type`, `int64_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
65
+ # Note: The following fields are mutually exclusive: `float32_type`, `bytes_type`, `string_type`, `int64_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
68
66
  # @!attribute [rw] float64_type
69
67
  # @return [::Google::Cloud::Bigtable::V2::Type::Float64]
70
68
  # Float64
71
69
  #
72
- # Note: The following fields are mutually exclusive: `float64_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
70
+ # Note: The following fields are mutually exclusive: `float64_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
73
71
  # @!attribute [rw] bool_type
74
72
  # @return [::Google::Cloud::Bigtable::V2::Type::Bool]
75
73
  # Bool
76
74
  #
77
- # Note: The following fields are mutually exclusive: `bool_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
75
+ # Note: The following fields are mutually exclusive: `bool_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
78
76
  # @!attribute [rw] timestamp_type
79
77
  # @return [::Google::Cloud::Bigtable::V2::Type::Timestamp]
80
78
  # Timestamp
81
79
  #
82
- # Note: The following fields are mutually exclusive: `timestamp_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
80
+ # Note: The following fields are mutually exclusive: `timestamp_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
83
81
  # @!attribute [rw] date_type
84
82
  # @return [::Google::Cloud::Bigtable::V2::Type::Date]
85
83
  # Date
86
84
  #
87
- # Note: The following fields are mutually exclusive: `date_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
85
+ # Note: The following fields are mutually exclusive: `date_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
88
86
  # @!attribute [rw] aggregate_type
89
87
  # @return [::Google::Cloud::Bigtable::V2::Type::Aggregate]
90
88
  # Aggregate
91
89
  #
92
- # Note: The following fields are mutually exclusive: `aggregate_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `struct_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
90
+ # Note: The following fields are mutually exclusive: `aggregate_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `struct_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
93
91
  # @!attribute [rw] struct_type
94
92
  # @return [::Google::Cloud::Bigtable::V2::Type::Struct]
95
93
  # Struct
96
94
  #
97
- # Note: The following fields are mutually exclusive: `struct_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `array_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
95
+ # Note: The following fields are mutually exclusive: `struct_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `array_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
98
96
  # @!attribute [rw] array_type
99
97
  # @return [::Google::Cloud::Bigtable::V2::Type::Array]
100
98
  # Array
101
99
  #
102
- # Note: The following fields are mutually exclusive: `array_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `map_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
100
+ # Note: The following fields are mutually exclusive: `array_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `map_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
103
101
  # @!attribute [rw] map_type
104
102
  # @return [::Google::Cloud::Bigtable::V2::Type::Map]
105
103
  # Map
106
104
  #
107
- # Note: The following fields are mutually exclusive: `map_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
105
+ # Note: The following fields are mutually exclusive: `map_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `proto_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
106
+ # @!attribute [rw] proto_type
107
+ # @return [::Google::Cloud::Bigtable::V2::Type::Proto]
108
+ # Proto
109
+ #
110
+ # Note: The following fields are mutually exclusive: `proto_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `enum_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
111
+ # @!attribute [rw] enum_type
112
+ # @return [::Google::Cloud::Bigtable::V2::Type::Enum]
113
+ # Enum
114
+ #
115
+ # Note: The following fields are mutually exclusive: `enum_type`, `bytes_type`, `string_type`, `int64_type`, `float32_type`, `float64_type`, `bool_type`, `timestamp_type`, `date_type`, `aggregate_type`, `struct_type`, `array_type`, `map_type`, `proto_type`. If a field in that set is populated, all other fields in the set will automatically be cleared.
108
116
  class Type
109
117
  include ::Google::Protobuf::MessageExts
110
118
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -113,12 +121,12 @@ module Google
113
121
  # Values of type `Bytes` are stored in `Value.bytes_value`.
114
122
  # @!attribute [rw] encoding
115
123
  # @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
116
- # The encoding to use when converting to/from lower level types.
124
+ # The encoding to use when converting to or from lower level types.
117
125
  class Bytes
118
126
  include ::Google::Protobuf::MessageExts
119
127
  extend ::Google::Protobuf::MessageExts::ClassMethods
120
128
 
121
- # Rules used to convert to/from lower level types.
129
+ # Rules used to convert to or from lower level types.
122
130
  # @!attribute [rw] raw
123
131
  # @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
124
132
  # Use `Raw` encoding.
@@ -126,10 +134,17 @@ module Google
126
134
  include ::Google::Protobuf::MessageExts
127
135
  extend ::Google::Protobuf::MessageExts::ClassMethods
128
136
 
129
- # Leaves the value "as-is"
130
- # * Order-preserving? Yes
131
- # * Self-delimiting? No
132
- # * Compatibility? N/A
137
+ # Leaves the value as-is.
138
+ #
139
+ # Sorted mode: all values are supported.
140
+ #
141
+ # Distinct mode: all values are supported.
142
+ # @!attribute [rw] escape_nulls
143
+ # @return [::Boolean]
144
+ # If set, allows NULL values to be encoded as the empty string "".
145
+ #
146
+ # The actual empty string, or any value which only contains the
147
+ # null byte `0x00`, has one more null byte appended.
133
148
  class Raw
134
149
  include ::Google::Protobuf::MessageExts
135
150
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -141,12 +156,12 @@ module Google
141
156
  # Values of type `String` are stored in `Value.string_value`.
142
157
  # @!attribute [rw] encoding
143
158
  # @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
144
- # The encoding to use when converting to/from lower level types.
159
+ # The encoding to use when converting to or from lower level types.
145
160
  class String
146
161
  include ::Google::Protobuf::MessageExts
147
162
  extend ::Google::Protobuf::MessageExts::ClassMethods
148
163
 
149
- # Rules used to convert to/from lower level types.
164
+ # Rules used to convert to or from lower level types.
150
165
  # @!attribute [rw] utf8_raw
151
166
  # @deprecated This field is deprecated and may be removed in the next major version update.
152
167
  # @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
@@ -169,13 +184,32 @@ module Google
169
184
  extend ::Google::Protobuf::MessageExts::ClassMethods
170
185
  end
171
186
 
172
- # UTF-8 encoding
173
- # * Order-preserving? Yes (code point order)
174
- # * Self-delimiting? No
175
- # * Compatibility?
176
- # - BigQuery Federation `TEXT` encoding
177
- # - HBase `Bytes.toBytes`
178
- # - Java `String#getBytes(StandardCharsets.UTF_8)`
187
+ # UTF-8 encoding.
188
+ #
189
+ # Sorted mode:
190
+ # - All values are supported.
191
+ # - Code point order is preserved.
192
+ #
193
+ # Distinct mode: all values are supported.
194
+ #
195
+ # Compatible with:
196
+ #
197
+ # - BigQuery `TEXT` encoding
198
+ # - HBase `Bytes.toBytes`
199
+ # - Java `String#getBytes(StandardCharsets.UTF_8)`
200
+ # @!attribute [rw] null_escape_char
201
+ # @return [::String]
202
+ # Single-character escape sequence used to support NULL values.
203
+ #
204
+ # If set, allows NULL values to be encoded as the empty string "".
205
+ #
206
+ # The actual empty string, or any value where every character equals
207
+ # `null_escape_char`, has one more `null_escape_char` appended.
208
+ #
209
+ # If `null_escape_char` is set and does not equal the ASCII null
210
+ # character `0x00`, then the encoding will not support sorted mode.
211
+ #
212
+ # .
179
213
  class Utf8Bytes
180
214
  include ::Google::Protobuf::MessageExts
181
215
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -187,34 +221,56 @@ module Google
187
221
  # Values of type `Int64` are stored in `Value.int_value`.
188
222
  # @!attribute [rw] encoding
189
223
  # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
190
- # The encoding to use when converting to/from lower level types.
224
+ # The encoding to use when converting to or from lower level types.
191
225
  class Int64
192
226
  include ::Google::Protobuf::MessageExts
193
227
  extend ::Google::Protobuf::MessageExts::ClassMethods
194
228
 
195
- # Rules used to convert to/from lower level types.
229
+ # Rules used to convert to or from lower level types.
196
230
  # @!attribute [rw] big_endian_bytes
197
231
  # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
198
232
  # Use `BigEndianBytes` encoding.
233
+ #
234
+ # Note: The following fields are mutually exclusive: `big_endian_bytes`, `ordered_code_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
235
+ # @!attribute [rw] ordered_code_bytes
236
+ # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::OrderedCodeBytes]
237
+ # Use `OrderedCodeBytes` encoding.
238
+ #
239
+ # Note: The following fields are mutually exclusive: `ordered_code_bytes`, `big_endian_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
199
240
  class Encoding
200
241
  include ::Google::Protobuf::MessageExts
201
242
  extend ::Google::Protobuf::MessageExts::ClassMethods
202
243
 
203
- # Encodes the value as an 8-byte big endian twos complement `Bytes`
204
- # value.
205
- # * Order-preserving? No (positive values only)
206
- # * Self-delimiting? Yes
207
- # * Compatibility?
208
- # - BigQuery Federation `BINARY` encoding
209
- # - HBase `Bytes.toBytes`
210
- # - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
244
+ # Encodes the value as an 8-byte big-endian two's complement value.
245
+ #
246
+ # Sorted mode: non-negative values are supported.
247
+ #
248
+ # Distinct mode: all values are supported.
249
+ #
250
+ # Compatible with:
251
+ #
252
+ # - BigQuery `BINARY` encoding
253
+ # - HBase `Bytes.toBytes`
254
+ # - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
211
255
  # @!attribute [rw] bytes_type
256
+ # @deprecated This field is deprecated and may be removed in the next major version update.
212
257
  # @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
213
258
  # Deprecated: ignored if set.
214
259
  class BigEndianBytes
215
260
  include ::Google::Protobuf::MessageExts
216
261
  extend ::Google::Protobuf::MessageExts::ClassMethods
217
262
  end
263
+
264
+ # Encodes the value in a variable length binary format of up to 10 bytes.
265
+ # Values that are closer to zero use fewer bytes.
266
+ #
267
+ # Sorted mode: all values are supported.
268
+ #
269
+ # Distinct mode: all values are supported.
270
+ class OrderedCodeBytes
271
+ include ::Google::Protobuf::MessageExts
272
+ extend ::Google::Protobuf::MessageExts::ClassMethods
273
+ end
218
274
  end
219
275
  end
220
276
 
@@ -241,9 +297,26 @@ module Google
241
297
 
242
298
  # Timestamp
243
299
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
300
+ # @!attribute [rw] encoding
301
+ # @return [::Google::Cloud::Bigtable::V2::Type::Timestamp::Encoding]
302
+ # The encoding to use when converting to or from lower level types.
244
303
  class Timestamp
245
304
  include ::Google::Protobuf::MessageExts
246
305
  extend ::Google::Protobuf::MessageExts::ClassMethods
306
+
307
+ # Rules used to convert to or from lower level types.
308
+ # @!attribute [rw] unix_micros_int64
309
+ # @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
310
+ # Encodes the number of microseconds since the Unix epoch using the
311
+ # given `Int64` encoding. Values must be microsecond-aligned.
312
+ #
313
+ # Compatible with:
314
+ #
315
+ # - Java `Instant.truncatedTo()` with `ChronoUnit.MICROS`
316
+ class Encoding
317
+ include ::Google::Protobuf::MessageExts
318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
319
+ end
247
320
  end
248
321
 
249
322
  # Date
@@ -260,6 +333,9 @@ module Google
260
333
  # @!attribute [rw] fields
261
334
  # @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
262
335
  # The names and types of the fields in this struct.
336
+ # @!attribute [rw] encoding
337
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct::Encoding]
338
+ # The encoding to use when converting to or from lower level types.
263
339
  class Struct
264
340
  include ::Google::Protobuf::MessageExts
265
341
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -276,6 +352,135 @@ module Google
276
352
  include ::Google::Protobuf::MessageExts
277
353
  extend ::Google::Protobuf::MessageExts::ClassMethods
278
354
  end
355
+
356
+ # Rules used to convert to or from lower level types.
357
+ # @!attribute [rw] singleton
358
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct::Encoding::Singleton]
359
+ # Use `Singleton` encoding.
360
+ #
361
+ # Note: The following fields are mutually exclusive: `singleton`, `delimited_bytes`, `ordered_code_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
362
+ # @!attribute [rw] delimited_bytes
363
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct::Encoding::DelimitedBytes]
364
+ # Use `DelimitedBytes` encoding.
365
+ #
366
+ # Note: The following fields are mutually exclusive: `delimited_bytes`, `singleton`, `ordered_code_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
367
+ # @!attribute [rw] ordered_code_bytes
368
+ # @return [::Google::Cloud::Bigtable::V2::Type::Struct::Encoding::OrderedCodeBytes]
369
+ # User `OrderedCodeBytes` encoding.
370
+ #
371
+ # Note: The following fields are mutually exclusive: `ordered_code_bytes`, `singleton`, `delimited_bytes`. If a field in that set is populated, all other fields in the set will automatically be cleared.
372
+ class Encoding
373
+ include ::Google::Protobuf::MessageExts
374
+ extend ::Google::Protobuf::MessageExts::ClassMethods
375
+
376
+ # Uses the encoding of `fields[0].type` as-is.
377
+ # Only valid if `fields.size == 1`.
378
+ class Singleton
379
+ include ::Google::Protobuf::MessageExts
380
+ extend ::Google::Protobuf::MessageExts::ClassMethods
381
+ end
382
+
383
+ # Fields are encoded independently and concatenated with a configurable
384
+ # `delimiter` in between.
385
+ #
386
+ # A struct with no fields defined is encoded as a single `delimiter`.
387
+ #
388
+ # Sorted mode:
389
+ #
390
+ # - Fields are encoded in sorted mode.
391
+ # - Encoded field values must not contain any bytes <= `delimiter[0]`
392
+ # - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if
393
+ # `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first.
394
+ #
395
+ # Distinct mode:
396
+ #
397
+ # - Fields are encoded in distinct mode.
398
+ # - Encoded field values must not contain `delimiter[0]`.
399
+ # @!attribute [rw] delimiter
400
+ # @return [::String]
401
+ # Byte sequence used to delimit concatenated fields. The delimiter must
402
+ # contain at least 1 character and at most 50 characters.
403
+ class DelimitedBytes
404
+ include ::Google::Protobuf::MessageExts
405
+ extend ::Google::Protobuf::MessageExts::ClassMethods
406
+ end
407
+
408
+ # Fields are encoded independently and concatenated with the fixed byte
409
+ # pair `{0x00, 0x01}` in between.
410
+ #
411
+ # Any null `(0x00)` byte in an encoded field is replaced by the fixed
412
+ # byte pair `{0x00, 0xFF}`.
413
+ #
414
+ # Fields that encode to the empty string "" have special handling:
415
+ #
416
+ # - If *every* field encodes to "", or if the STRUCT has no fields
417
+ # defined, then the STRUCT is encoded as the fixed byte pair
418
+ # `{0x00, 0x00}`.
419
+ # - Otherwise, the STRUCT only encodes until the last non-empty field,
420
+ # omitting any trailing empty fields. Any empty fields that aren't
421
+ # omitted are replaced with the fixed byte pair `{0x00, 0x00}`.
422
+ #
423
+ # Examples:
424
+ #
425
+ # ```
426
+ # - STRUCT() -> "\00\00"
427
+ # - STRUCT("") -> "\00\00"
428
+ # - STRUCT("", "") -> "\00\00"
429
+ # - STRUCT("", "B") -> "\00\00" + "\00\01" + "B"
430
+ # - STRUCT("A", "") -> "A"
431
+ # - STRUCT("", "B", "") -> "\00\00" + "\00\01" + "B"
432
+ # - STRUCT("A", "", "C") -> "A" + "\00\01" + "\00\00" + "\00\01" + "C"
433
+ # ```
434
+ #
435
+ #
436
+ # Since null bytes are always escaped, this encoding can cause size
437
+ # blowup for encodings like `Int64.BigEndianBytes` that are likely to
438
+ # produce many such bytes.
439
+ #
440
+ # Sorted mode:
441
+ #
442
+ # - Fields are encoded in sorted mode.
443
+ # - All values supported by the field encodings are allowed
444
+ # - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if
445
+ # `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first.
446
+ #
447
+ # Distinct mode:
448
+ #
449
+ # - Fields are encoded in distinct mode.
450
+ # - All values supported by the field encodings are allowed.
451
+ class OrderedCodeBytes
452
+ include ::Google::Protobuf::MessageExts
453
+ extend ::Google::Protobuf::MessageExts::ClassMethods
454
+ end
455
+ end
456
+ end
457
+
458
+ # A protobuf message type.
459
+ # Values of type `Proto` are stored in `Value.bytes_value`.
460
+ # @!attribute [rw] schema_bundle_id
461
+ # @return [::String]
462
+ # The ID of the schema bundle that this proto is defined in.
463
+ # @!attribute [rw] message_name
464
+ # @return [::String]
465
+ # The fully qualified name of the protobuf message, including package. In
466
+ # the format of "foo.bar.Message".
467
+ class Proto
468
+ include ::Google::Protobuf::MessageExts
469
+ extend ::Google::Protobuf::MessageExts::ClassMethods
470
+ end
471
+
472
+ # A protobuf enum type.
473
+ # Values of type `Enum` are stored in `Value.int_value`.
474
+ # @!attribute [rw] schema_bundle_id
475
+ # @return [::String]
476
+ # The ID of the schema bundle that this enum is defined in.
477
+ # @!attribute [rw] enum_name
478
+ # @return [::String]
479
+ # The fully qualified name of the protobuf enum message, including package.
480
+ # In the format of "foo.bar.EnumMessage".
481
+ class Enum
482
+ include ::Google::Protobuf::MessageExts
483
+ extend ::Google::Protobuf::MessageExts::ClassMethods
279
484
  end
280
485
 
281
486
  # An ordered list of elements of a given type.
@@ -309,19 +514,18 @@ module Google
309
514
 
310
515
  # A value that combines incremental updates into a summarized value.
311
516
  #
312
- # Data is never directly written or read using type `Aggregate`. Writes will
313
- # provide either the `input_type` or `state_type`, and reads will always
314
- # return the `state_type` .
517
+ # Data is never directly written or read using type `Aggregate`. Writes
518
+ # provide either the `input_type` or `state_type`, and reads always return
519
+ # the `state_type` .
315
520
  # @!attribute [rw] input_type
316
521
  # @return [::Google::Cloud::Bigtable::V2::Type]
317
- # Type of the inputs that are accumulated by this `Aggregate`, which must
318
- # specify a full encoding.
522
+ # Type of the inputs that are accumulated by this `Aggregate`.
319
523
  # Use `AddInput` mutations to accumulate new inputs.
320
524
  # @!attribute [r] state_type
321
525
  # @return [::Google::Cloud::Bigtable::V2::Type]
322
526
  # Output only. Type that holds the internal accumulator state for the
323
527
  # `Aggregate`. This is a function of the `input_type` and `aggregator`
324
- # chosen, and will always specify a full encoding.
528
+ # chosen.
325
529
  # @!attribute [rw] sum
326
530
  # @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
327
531
  # Sum aggregator.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-bigtable-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '1.0'
18
+ version: '1.2'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '1.0'
25
+ version: '1.2'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: google-cloud-errors
28
28
  requirement: !ruby/object:Gem::Requirement