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

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

Defined Under Namespace

Classes: Categories, PolicyTags

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ TableFieldSchema

Returns a new instance of TableFieldSchema.



5328
5329
5330
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5328

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



5289
5290
5291
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5289

def categories
  @categories
end

#descriptionString

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

Returns:

  • (String)


5294
5295
5296
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5294

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



5300
5301
5302
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5300

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)


5306
5307
5308
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5306

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)


5313
5314
5315
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5313

def name
  @name
end

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

Corresponds to the JSON property policyTags



5318
5319
5320
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5318

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), 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)


5326
5327
5328
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5326

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5333
5334
5335
5336
5337
5338
5339
5340
5341
# File 'generated/google/apis/bigquery_v2/classes.rb', line 5333

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