# encoding: utf-8
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.

module Azure::CognitiveServices::VisualSearch::V1_0
  module Models
    #
    # Response base.
    #
    class ResponseBase

      include MsRestAzure

      @@discriminatorMap = Hash.new
      @@discriminatorMap["Point2D"] = "Point2D"
      @@discriminatorMap["NormalizedQuadrilateral"] = "NormalizedQuadrilateral"
      @@discriminatorMap["ImageAction"] = "ImageAction"
      @@discriminatorMap["ImageTag"] = "ImageTag"
      @@discriminatorMap["Organization"] = "Organization"
      @@discriminatorMap["Offer"] = "Offer"
      @@discriminatorMap["AggregateOffer"] = "AggregateOffer"
      @@discriminatorMap["ImageObject"] = "ImageObject"
      @@discriminatorMap["ImageKnowledge"] = "ImageKnowledge"
      @@discriminatorMap["Response"] = "Response"
      @@discriminatorMap["Identifiable"] = "Identifiable"
      @@discriminatorMap["ErrorResponse"] = "ErrorResponse"
      @@discriminatorMap["Thing"] = "Thing"
      @@discriminatorMap["Action"] = "Action"
      @@discriminatorMap["MediaObject"] = "MediaObject"
      @@discriminatorMap["CreativeWork"] = "CreativeWork"
      @@discriminatorMap["Person"] = "Person"
      @@discriminatorMap["Intangible"] = "Intangible"
      @@discriminatorMap["ImageEntityAction"] = "ImageEntityAction"
      @@discriminatorMap["ImageModuleAction"] = "ImageModuleAction"
      @@discriminatorMap["Recipe"] = "Recipe"
      @@discriminatorMap["ImageRecipesAction"] = "ImageRecipesAction"
      @@discriminatorMap["ImageRelatedSearchesAction"] = "ImageRelatedSearchesAction"
      @@discriminatorMap["ImageShoppingSourcesAction"] = "ImageShoppingSourcesAction"
      @@discriminatorMap["StructuredValue"] = "StructuredValue"

      def initialize
        @_type = "ResponseBase"
      end

      attr_accessor :_type


      #
      # Mapper for ResponseBase class as Ruby Hash.
      # This will be used for serialization/deserialization.
      #
      def self.mapper()
        {
          client_side_validation: true,
          required: false,
          serialized_name: 'ResponseBase',
          type: {
            name: 'Composite',
            polymorphic_discriminator: '_type',
            uber_parent: 'ResponseBase',
            class_name: 'ResponseBase',
            model_properties: {
            }
          }
        }
      end
    end
  end
end
