# Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # NOTE: This class is auto generated by the elixir code generator program. # Do not edit the class manually. defmodule GoogleApi.Discovery.V1.Model.JsonSchema do @moduledoc """ ## Attributes - $ref (String.t): A reference to another schema. The value of this property is the "id" of another schema. Defaults to `nil`. - additionalProperties (GoogleApi.Discovery.V1.Model.JsonSchema.t): If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object. Defaults to `nil`. - annotations (GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations.t): Additional information about this property. Defaults to `nil`. - default (String.t): The default value of this property (if one exists). Defaults to `nil`. - description (String.t): A description of this object. Defaults to `nil`. - enum (list(String.t)): Values this parameter may take (if it is an enum). Defaults to `nil`. - enumDescriptions (list(String.t)): The descriptions for the enums. Each position maps to the corresponding value in the "enum" array. Defaults to `nil`. - format (String.t): An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23 Defaults to `nil`. - id (String.t): Unique identifier for this schema. Defaults to `nil`. - items (GoogleApi.Discovery.V1.Model.JsonSchema.t): If this is a schema for an array, this property is the schema for each element in the array. Defaults to `nil`. - location (String.t): Whether this parameter goes in the query or the path for REST requests. Defaults to `nil`. - maximum (String.t): The maximum value of this parameter. Defaults to `nil`. - minimum (String.t): The minimum value of this parameter. Defaults to `nil`. - pattern (String.t): The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html Defaults to `nil`. - properties (%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}): If this is a schema for an object, list the schema for each property of this object. Defaults to `nil`. - readOnly (boolean()): The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service. Defaults to `nil`. - repeated (boolean()): Whether this parameter may appear multiple times. Defaults to `nil`. - required (boolean()): Whether the parameter is required. Defaults to `nil`. - type (String.t): The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1 Defaults to `nil`. - variant (GoogleApi.Discovery.V1.Model.JsonSchemaVariant.t): In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names. Defaults to `nil`. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :"$ref" => String.t(), :additionalProperties => GoogleApi.Discovery.V1.Model.JsonSchema.t(), :annotations => GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations.t(), :default => String.t(), :description => String.t(), :enum => list(String.t()), :enumDescriptions => list(String.t()), :format => String.t(), :id => String.t(), :items => GoogleApi.Discovery.V1.Model.JsonSchema.t(), :location => String.t(), :maximum => String.t(), :minimum => String.t(), :pattern => String.t(), :properties => %{optional(String.t()) => GoogleApi.Discovery.V1.Model.JsonSchema.t()}, :readOnly => boolean(), :repeated => boolean(), :required => boolean(), :type => String.t(), :variant => GoogleApi.Discovery.V1.Model.JsonSchemaVariant.t() } field(:"$ref") field(:additionalProperties, as: GoogleApi.Discovery.V1.Model.JsonSchema) field(:annotations, as: GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations) field(:default) field(:description) field(:enum, type: :list) field(:enumDescriptions, type: :list) field(:format) field(:id) field(:items, as: GoogleApi.Discovery.V1.Model.JsonSchema) field(:location) field(:maximum) field(:minimum) field(:pattern) field(:properties, as: GoogleApi.Discovery.V1.Model.JsonSchema, type: :map) field(:readOnly) field(:repeated) field(:required) field(:type) field(:variant, as: GoogleApi.Discovery.V1.Model.JsonSchemaVariant) end defimpl Poison.Decoder, for: GoogleApi.Discovery.V1.Model.JsonSchema do def decode(value, options) do GoogleApi.Discovery.V1.Model.JsonSchema.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Discovery.V1.Model.JsonSchema do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end