# Copyright 2017 Google Inc. # # 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 swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # 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: `null`. - additionalProperties (JsonSchema): 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: `null`. - annotations (JsonSchemaAnnotations): Defaults to: `null`. - default (String.t): The default value of this property (if one exists). Defaults to: `null`. - description (String.t): A description of this object. Defaults to: `null`. - enum ([String.t]): Values this parameter may take (if it is an enum). Defaults to: `null`. - enumDescriptions ([String.t]): The descriptions for the enums. Each position maps to the corresponding value in the \"enum\" array. Defaults to: `null`. - 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: `null`. - id (String.t): Unique identifier for this schema. Defaults to: `null`. - items (JsonSchema): If this is a schema for an array, this property is the schema for each element in the array. Defaults to: `null`. - location (String.t): Whether this parameter goes in the query or the path for REST requests. Defaults to: `null`. - maximum (String.t): The maximum value of this parameter. Defaults to: `null`. - minimum (String.t): The minimum value of this parameter. Defaults to: `null`. - 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: `null`. - properties (%{optional(String.t) => JsonSchema}): If this is a schema for an object, list the schema for each property of this object. Defaults to: `null`. - 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: `null`. - repeated (boolean()): Whether this parameter may appear multiple times. Defaults to: `null`. - required (boolean()): Whether the parameter is required. Defaults to: `null`. - 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: `null`. - variant (JsonSchemaVariant): Defaults to: `null`. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :"$ref" => any(), :additionalProperties => GoogleApi.Discovery.V1.Model.JsonSchema.t(), :annotations => GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations.t(), :default => any(), :description => any(), :enum => list(any()), :enumDescriptions => list(any()), :format => any(), :id => any(), :items => GoogleApi.Discovery.V1.Model.JsonSchema.t(), :location => any(), :maximum => any(), :minimum => any(), :pattern => any(), :properties => map(), :readOnly => any(), :repeated => any(), :required => any(), :type => any(), :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