class Comet::SourceConfig

def from_hash(obj)

Parameters:
  • obj (Hash) -- The complete object as a Ruby hash
def from_hash(obj)
  raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
  obj.each do |k, v|
    case k
    when 'Engine'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @engine = v
    when 'Description'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @description = v
    when 'OwnerDevice'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @owner_device = v
    when 'CreateTime'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
      @create_time = v
    when 'ModifyTime'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
      @modify_time = v
    when 'PreExec'
      if v.nil?
        @pre_exec = []
      else
        @pre_exec = Array.new(v.length)
        v.each_with_index do |v1, i1|
          raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
          @pre_exec[i1] = v1
        end
      end
    when 'ThawExec'
      if v.nil?
        @thaw_exec = []
      else
        @thaw_exec = Array.new(v.length)
        v.each_with_index do |v1, i1|
          raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
          @thaw_exec[i1] = v1
        end
      end
    when 'PostExec'
      if v.nil?
        @post_exec = []
      else
        @post_exec = Array.new(v.length)
        v.each_with_index do |v1, i1|
          raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
          @post_exec[i1] = v1
        end
      end
    when 'EngineProps'
      @engine_props = {}
      if v.nil?
        @engine_props = {}
      else
        v.each do |k1, v1|
          raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
          @engine_props[k1] = v1
        end
      end
    when 'PolicySourceID'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
      @policy_source_id = v
    when 'ExistingUserUpdate'
      @existing_user_update = v
    when 'OverrideDestinationRetention'
      @override_destination_retention = {}
      if v.nil?
        @override_destination_retention = {}
      else
        v.each do |k1, v1|
          @override_destination_retention[k1] = Comet::RetentionPolicy.new
          @override_destination_retention[k1].from_hash(v1)
        end
      end
    when 'Statistics'
      @statistics = Comet::SourceStatistics.new
      @statistics.from_hash(v)
    else
      @unknown_json_fields[k] = v
    end
  end
end