=begin
#IPGeolocation.io - IP intelligence products

#Ipgeolocation provides a set of APIs to make ip based decisions.

The version of the OpenAPI document: 2.0

Generated by: https://openapi-generator.tech
Generator version: 7.13.0

=end

# Common files
require 'ipgeolocation_sdk/api_client'
require 'ipgeolocation_sdk/api_error'
require 'ipgeolocation_sdk/version'
require 'ipgeolocation_sdk/configuration'

# Models
require 'ipgeolocation_sdk/models/asn_connection'
require 'ipgeolocation_sdk/models/asn_response'
require 'ipgeolocation_sdk/models/asn_response_asn'
require 'ipgeolocation_sdk/models/asn_response_xml'
require 'ipgeolocation_sdk/models/asn_response_xml_asn'
require 'ipgeolocation_sdk/models/abuse'
require 'ipgeolocation_sdk/models/abuse_response'
require 'ipgeolocation_sdk/models/abuse_response_xml'
require 'ipgeolocation_sdk/models/astronomy'
require 'ipgeolocation_sdk/models/astronomy_evening'
require 'ipgeolocation_sdk/models/astronomy_location'
require 'ipgeolocation_sdk/models/astronomy_morning'
require 'ipgeolocation_sdk/models/astronomy_response'
require 'ipgeolocation_sdk/models/astronomy_xml_response'
require 'ipgeolocation_sdk/models/country_metadata'
require 'ipgeolocation_sdk/models/currency'
require 'ipgeolocation_sdk/models/error_response'
require 'ipgeolocation_sdk/models/error_xml_response'
require 'ipgeolocation_sdk/models/error_xml_response_array'
require 'ipgeolocation_sdk/models/geolocation_response'
require 'ipgeolocation_sdk/models/geolocation_xml_response'
require 'ipgeolocation_sdk/models/geolocation_xml_response_array'
require 'ipgeolocation_sdk/models/bulk_ip_geolocation'
require 'ipgeolocation_sdk/models/get_bulk_ip_geolocation200_response_inner1'
require 'ipgeolocation_sdk/models/get_bulk_ip_geolocation_request'
require 'ipgeolocation_sdk/models/bulk_ip_security'
require 'ipgeolocation_sdk/models/get_bulk_ip_security_info200_response_inner1'
require 'ipgeolocation_sdk/models/location'
require 'ipgeolocation_sdk/models/location_minimal'
require 'ipgeolocation_sdk/models/network'
require 'ipgeolocation_sdk/models/network_asn'
require 'ipgeolocation_sdk/models/network_company'
require 'ipgeolocation_sdk/models/network_minimal'
require 'ipgeolocation_sdk/models/network_minimal_asn'
require 'ipgeolocation_sdk/models/network_minimal_company'
require 'ipgeolocation_sdk/models/parse_bulk_user_agent_strings_request'
require 'ipgeolocation_sdk/models/parse_user_agent_string_request'
require 'ipgeolocation_sdk/models/security'
require 'ipgeolocation_sdk/models/security_api_response'
require 'ipgeolocation_sdk/models/security_apixml_response'
require 'ipgeolocation_sdk/models/security_apixml_response_array'
require 'ipgeolocation_sdk/models/time_conversion_response'
require 'ipgeolocation_sdk/models/time_conversion_xml_response'
require 'ipgeolocation_sdk/models/time_zone'
require 'ipgeolocation_sdk/models/time_zone_detailed_response'
require 'ipgeolocation_sdk/models/time_zone_detailed_xml_response'
require 'ipgeolocation_sdk/models/time_zone_dst_end'
require 'ipgeolocation_sdk/models/time_zone_dst_start'
require 'ipgeolocation_sdk/models/timezone_airport'
require 'ipgeolocation_sdk/models/timezone_detail'
require 'ipgeolocation_sdk/models/timezone_detail_dst_end'
require 'ipgeolocation_sdk/models/timezone_detail_dst_start'
require 'ipgeolocation_sdk/models/timezone_location'
require 'ipgeolocation_sdk/models/timezone_locode'
require 'ipgeolocation_sdk/models/user_agent_data'
require 'ipgeolocation_sdk/models/user_agent_data_device'
require 'ipgeolocation_sdk/models/user_agent_data_engine'
require 'ipgeolocation_sdk/models/user_agent_data_operating_system'
require 'ipgeolocation_sdk/models/user_agent_xml_data'
require 'ipgeolocation_sdk/models/user_agent_xml_data_array'

# APIs
require 'ipgeolocation_sdk/api/asn_lookup_api'
require 'ipgeolocation_sdk/api/abuse_contact_api'
require 'ipgeolocation_sdk/api/astronomy_api'
require 'ipgeolocation_sdk/api/ip_geolocation_api'
require 'ipgeolocation_sdk/api/ip_security_api'
require 'ipgeolocation_sdk/api/time_conversion_api'
require 'ipgeolocation_sdk/api/timezone_api'
require 'ipgeolocation_sdk/api/user_agent_api'

module IpgeolocationSdk
  class << self
    # Customize default settings for the SDK using block.
    #   IpgeolocationSdk.configure do |config|
    #     config.username = "xxx"
    #     config.password = "xxx"
    #   end
    # If no block given, return the default Configuration object.
    def configure
      if block_given?
        yield(Configuration.default)
      else
        Configuration.default
      end
    end
  end
end
