Class: Google::Apis::ConnectorsV2::JsonSchema

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

Overview

JsonSchema representation of schema metadata

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ JsonSchema

Returns a new instance of JsonSchema.



831
832
833
# File 'lib/google/apis/connectors_v2/classes.rb', line 831

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

Instance Attribute Details

#additional_detailsHash<String,Object>

Additional details apart from standard json schema fields, this gives flexibility to store metadata about the schema Corresponds to the JSON property additionalDetails

Returns:

  • (Hash<String,Object>)


780
781
782
# File 'lib/google/apis/connectors_v2/classes.rb', line 780

def additional_details
  @additional_details
end

#defaultObject

The default value of the field or object described by this schema. Corresponds to the JSON property default

Returns:

  • (Object)


785
786
787
# File 'lib/google/apis/connectors_v2/classes.rb', line 785

def default
  @default
end

#descriptionString

A description of this schema. Corresponds to the JSON property description

Returns:

  • (String)


790
791
792
# File 'lib/google/apis/connectors_v2/classes.rb', line 790

def description
  @description
end

#enumArray<Object>

Possible values for an enumeration. This works in conjunction with type to represent types with a fixed set of legal values Corresponds to the JSON property enum

Returns:

  • (Array<Object>)


796
797
798
# File 'lib/google/apis/connectors_v2/classes.rb', line 796

def enum
  @enum
end

#formatString

Format of the value as per https://json-schema.org/understanding-json-schema/ reference/string.html#format Corresponds to the JSON property format

Returns:

  • (String)


802
803
804
# File 'lib/google/apis/connectors_v2/classes.rb', line 802

def format
  @format
end

#itemsGoogle::Apis::ConnectorsV2::JsonSchema

JsonSchema representation of schema metadata Corresponds to the JSON property items



807
808
809
# File 'lib/google/apis/connectors_v2/classes.rb', line 807

def items
  @items
end

#jdbc_typeString

JDBC datatype of the field. Corresponds to the JSON property jdbcType

Returns:

  • (String)


812
813
814
# File 'lib/google/apis/connectors_v2/classes.rb', line 812

def jdbc_type
  @jdbc_type
end

#propertiesHash<String,Google::Apis::ConnectorsV2::JsonSchema>

The child schemas, applicable only if this is of type object. The key is the name of the property and the value is the json schema that describes that property Corresponds to the JSON property properties

Returns:



819
820
821
# File 'lib/google/apis/connectors_v2/classes.rb', line 819

def properties
  @properties
end

#requiredArray<String>

Whether this property is required. Corresponds to the JSON property required

Returns:

  • (Array<String>)


824
825
826
# File 'lib/google/apis/connectors_v2/classes.rb', line 824

def required
  @required
end

#typeArray<String>

JSON Schema Validation: A Vocabulary for Structural Validation of JSON Corresponds to the JSON property type

Returns:

  • (Array<String>)


829
830
831
# File 'lib/google/apis/connectors_v2/classes.rb', line 829

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



836
837
838
839
840
841
842
843
844
845
846
847
# File 'lib/google/apis/connectors_v2/classes.rb', line 836

def update!(**args)
  @additional_details = args[:additional_details] if args.key?(:additional_details)
  @default = args[:default] if args.key?(:default)
  @description = args[:description] if args.key?(:description)
  @enum = args[:enum] if args.key?(:enum)
  @format = args[:format] if args.key?(:format)
  @items = args[:items] if args.key?(:items)
  @jdbc_type = args[:jdbc_type] if args.key?(:jdbc_type)
  @properties = args[:properties] if args.key?(:properties)
  @required = args[:required] if args.key?(:required)
  @type = args[:type] if args.key?(:type)
end