Class: Google::Apis::BigqueryV2::TableFieldSchema

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb

Defined Under Namespace

Classes: Categories, PolicyTags

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ TableFieldSchema

Returns a new instance of TableFieldSchema.



6369
6370
6371
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6369

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#categoriesGoogle::Apis::BigqueryV2::TableFieldSchema::Categories

[Optional] The categories attached to this field, used for field-level access control. Corresponds to the JSON property categories



6329
6330
6331
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6329

def categories
  @categories
end

#descriptionString

[Optional] The field description. The maximum length is 1,024 characters. Corresponds to the JSON property description

Returns:

  • (String)


6334
6335
6336
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6334

def description
  @description
end

#fieldsArray<Google::Apis::BigqueryV2::TableFieldSchema>

[Optional] Describes the nested schema fields if the type property is set to RECORD. Corresponds to the JSON property fields



6340
6341
6342
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6340

def fields
  @fields
end

#modeString

[Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. Corresponds to the JSON property mode

Returns:

  • (String)


6346
6347
6348
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6346

def mode
  @mode
end

#nameString

[Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. Corresponds to the JSON property name

Returns:

  • (String)


6353
6354
6355
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6353

def name
  @name
end

#policy_tagsGoogle::Apis::BigqueryV2::TableFieldSchema::PolicyTags

Corresponds to the JSON property policyTags



6358
6359
6360
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6358

def policy_tags
  @policy_tags
end

#typeString

[Required] The field data type. Possible values include STRING, BYTES, INTEGER, INT64 (same as INTEGER), FLOAT, FLOAT64 (same as FLOAT), NUMERIC, BIGNUMERIC, BOOLEAN, BOOL (same as BOOLEAN), TIMESTAMP, DATE, TIME, DATETIME, RECORD ( where RECORD indicates that the field contains a nested schema) or STRUCT ( same as RECORD). Corresponds to the JSON property type

Returns:

  • (String)


6367
6368
6369
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6367

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



6374
6375
6376
6377
6378
6379
6380
6381
6382
# File 'lib/google/apis/bigquery_v2/classes.rb', line 6374

def update!(**args)
  @categories = args[:categories] if args.key?(:categories)
  @description = args[:description] if args.key?(:description)
  @fields = args[:fields] if args.key?(:fields)
  @mode = args[:mode] if args.key?(:mode)
  @name = args[:name] if args.key?(:name)
  @policy_tags = args[:policy_tags] if args.key?(:policy_tags)
  @type = args[:type] if args.key?(:type)
end