Class: Google::Cloud::Bigtable::V2::Type

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/bigtable/v2/types.rb

Overview

Type represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features.

For compatibility with Bigtable's existing untyped APIs, each Type includes an Encoding which describes how to convert to/from the underlying data.

Each encoding also defines the following properties:

  • Order-preserving: Does the encoded value sort consistently with the original typed value? Note that Bigtable will always sort data based on the raw encoded value, not the decoded type.
    • Example: BYTES values sort in the same order as their raw encodings.
    • Counterexample: Encoding INT64 as a fixed-width decimal string does not preserve sort order when dealing with negative numbers. INT64(1) > INT64(-1), but STRING("-00001") > STRING("00001).
  • Self-delimiting: If we concatenate two encoded values, can we always tell where the first one ends and the second one begins?
    • Example: If we encode INT64s to fixed-width STRINGs, the first value will always contain exactly N digits, possibly preceded by a sign.
    • Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way to tell where the first one ends.
  • Compatibility: Which other systems have matching encoding schemes? For example, does this encoding have a GoogleSQL equivalent? HBase? Java?

Defined Under Namespace

Classes: Aggregate, Array, Bool, Bytes, Date, Float32, Float64, Int64, Map, String, Struct, Timestamp

Instance Attribute Summary collapse

Instance Attribute Details

#aggregate_type::Google::Cloud::Bigtable::V2::Type::Aggregate

Returns Aggregate.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#array_type::Google::Cloud::Bigtable::V2::Type::Array

Returns Array.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#bool_type::Google::Cloud::Bigtable::V2::Type::Bool

Returns Bool.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#bytes_type::Google::Cloud::Bigtable::V2::Type::Bytes

Returns Bytes.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#date_type::Google::Cloud::Bigtable::V2::Type::Date

Returns Date.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#float32_type::Google::Cloud::Bigtable::V2::Type::Float32

Returns Float32.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#float64_type::Google::Cloud::Bigtable::V2::Type::Float64

Returns Float64.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#int64_type::Google::Cloud::Bigtable::V2::Type::Int64

Returns Int64.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#map_type::Google::Cloud::Bigtable::V2::Type::Map

Returns Map.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#string_type::Google::Cloud::Bigtable::V2::Type::String

Returns String.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#struct_type::Google::Cloud::Bigtable::V2::Type::Struct

Returns Struct.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#timestamp_type::Google::Cloud::Bigtable::V2::Type::Timestamp

Returns Timestamp.



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'proto_docs/google/bigtable/v2/types.rb', line 84

class Type
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Bytes
  # Values of type `Bytes` are stored in `Value.bytes_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Bytes
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] raw
    #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes::Encoding::Raw]
    #     Use `Raw` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Leaves the value "as-is"
      # * Order-preserving? Yes
      # * Self-delimiting? No
      # * Compatibility? N/A
      class Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # String
  # Values of type `String` are stored in `Value.string_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class String
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] utf8_raw
    #   @deprecated This field is deprecated and may be removed in the next major version update.
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Raw]
    #     Deprecated: if set, converts to an empty `utf8_bytes`.
    # @!attribute [rw] utf8_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::String::Encoding::Utf8Bytes]
    #     Use `Utf8Bytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Deprecated: prefer the equivalent `Utf8Bytes`.
      # @deprecated This message is deprecated and may be removed in the next major version update.
      class Utf8Raw
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end

      # UTF-8 encoding
      # * Order-preserving? Yes (code point order)
      # * Self-delimiting? No
      # * Compatibility?
      #    - BigQuery Federation `TEXT` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `String#getBytes(StandardCharsets.UTF_8)`
      class Utf8Bytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # Int64
  # Values of type `Int64` are stored in `Value.int_value`.
  # @!attribute [rw] encoding
  #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding]
  #     The encoding to use when converting to/from lower level types.
  class Int64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Rules used to convert to/from lower level types.
    # @!attribute [rw] big_endian_bytes
    #   @return [::Google::Cloud::Bigtable::V2::Type::Int64::Encoding::BigEndianBytes]
    #     Use `BigEndianBytes` encoding.
    class Encoding
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Encodes the value as an 8-byte big endian twos complement `Bytes`
      # value.
      # * Order-preserving? No (positive values only)
      # * Self-delimiting? Yes
      # * Compatibility?
      #    - BigQuery Federation `BINARY` encoding
      #    - HBase `Bytes.toBytes`
      #    - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
      # @!attribute [rw] bytes_type
      #   @return [::Google::Cloud::Bigtable::V2::Type::Bytes]
      #     Deprecated: ignored if set.
      class BigEndianBytes
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods
      end
    end
  end

  # bool
  # Values of type `Bool` are stored in `Value.bool_value`.
  class Bool
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float32
  # Values of type `Float32` are stored in `Value.float_value`.
  class Float32
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Float64
  # Values of type `Float64` are stored in `Value.float_value`.
  class Float64
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Timestamp
  # Values of type `Timestamp` are stored in `Value.timestamp_value`.
  class Timestamp
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Date
  # Values of type `Date` are stored in `Value.date_value`.
  class Date
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A structured data value, consisting of fields which map to dynamically
  # typed values.
  # Values of type `Struct` are stored in `Value.array_value` where entries are
  # in the same order and number as `field_types`.
  # @!attribute [rw] fields
  #   @return [::Array<::Google::Cloud::Bigtable::V2::Type::Struct::Field>]
  #     The names and types of the fields in this struct.
  class Struct
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # A struct field and its type.
    # @!attribute [rw] field_name
    #   @return [::String]
    #     The field name (optional). Fields without a `field_name` are considered
    #     anonymous and cannot be referenced by name.
    # @!attribute [rw] type
    #   @return [::Google::Cloud::Bigtable::V2::Type]
    #     The type of values in this field.
    class Field
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # An ordered list of elements of a given type.
  # Values of type `Array` are stored in `Value.array_value`.
  # @!attribute [rw] element_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the elements in the array. This must not be `Array`.
  class Array
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A mapping of keys to values of a given type.
  # Values of type `Map` are stored in a `Value.array_value` where each entry
  # is another `Value.array_value` with two elements (the key and the value,
  # in that order).
  # Normally encoded Map values won't have repeated keys, however, clients are
  # expected to handle the case in which they do. If the same key appears
  # multiple times, the _last_ value takes precedence.
  # @!attribute [rw] key_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of a map key.
  #     Only `Bytes`, `String`, and `Int64` are allowed as key types.
  # @!attribute [rw] value_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     The type of the values in a map.
  class Map
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A value that combines incremental updates into a summarized value.
  #
  # Data is never directly written or read using type `Aggregate`. Writes will
  # provide either the `input_type` or `state_type`, and reads will always
  # return the `state_type` .
  # @!attribute [rw] input_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Type of the inputs that are accumulated by this `Aggregate`, which must
  #     specify a full encoding.
  #     Use `AddInput` mutations to accumulate new inputs.
  # @!attribute [r] state_type
  #   @return [::Google::Cloud::Bigtable::V2::Type]
  #     Output only. Type that holds the internal accumulator state for the
  #     `Aggregate`. This is a function of the `input_type` and `aggregator`
  #     chosen, and will always specify a full encoding.
  # @!attribute [rw] sum
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Sum]
  #     Sum aggregator.
  # @!attribute [rw] hllpp_unique_count
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::HyperLogLogPlusPlusUniqueCount]
  #     HyperLogLogPlusPlusUniqueCount aggregator.
  # @!attribute [rw] max
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Max]
  #     Max aggregator.
  # @!attribute [rw] min
  #   @return [::Google::Cloud::Bigtable::V2::Type::Aggregate::Min]
  #     Min aggregator.
  class Aggregate
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Computes the sum of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Sum
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the max of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Max
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes the min of the input values.
    # Allowed input: `Int64`
    # State: same as input
    class Min
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Computes an approximate unique count over the input values. When using
    # raw data as input, be careful to use a consistent encoding. Otherwise
    # the same value encoded differently could count more than once, or two
    # distinct values could count as identical.
    # Input: Any, or omit for Raw
    # State: TBD
    # Special state conversions: `Int64` (the unique count estimate)
    class HyperLogLogPlusPlusUniqueCount
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end