1 <?php
2
3 namespace GeoIp2\Record;
4
5 /**
6 *
7 * Contains data for the traits record associated with an IP address
8 *
9 * This record is returned by all location services and databases.
10 *
11 * @property-read int|null $autonomousSystemNumber The {@link
12 * http://en.wikipedia.org/wiki/Autonomous_system_(Internet) autonomous
13 * system number} associated with the IP address. This attribute is only
14 * available from the City and Insights web service and the GeoIP2
15 * Enterprise database.
16 *
17 * @property-read string|null $autonomousSystemOrganization The organization
18 * associated with the registered {@link
19 * http://en.wikipedia.org/wiki/Autonomous_system_(Internet) autonomous
20 * system number} for the IP address. This attribute is only available from
21 * the City and Insights web service and the GeoIP2 Enterprise
22 * database.
23 *
24 * @property-read string|null $connectionType The connection type may take the
25 * following values: "Dialup", "Cable/DSL", "Corporate", "Cellular".
26 * Additional values may be added in the future. This attribute is only
27 * available in the GeoIP2 Enterprise database.
28 *
29 * @property-read string|null $domain The second level domain associated with the
30 * IP address. This will be something like "example.com" or "example.co.uk",
31 * not "foo.example.com". This attribute is only available from the
32 * City and Insights web service and the GeoIP2 Enterprise
33 * database.
34 *
35 * @property-read string $ipAddress The IP address that the data in the model
36 * is for. If you performed a "me" lookup against the web service, this
37 * will be the externally routable IP address for the system the code is
38 * running on. If the system is behind a NAT, this may differ from the IP
39 * address locally assigned to it. This attribute is returned by all end
40 * points.
41 *
42 * @property-read boolean $isAnonymousProxy *Deprecated.* Please see our {@link
43 * https://www.maxmind.com/en/geoip2-anonymous-ip-database GeoIP2
44 * Anonymous IP database} to determine whether the IP address is used by an
45 * anonymizing service.
46 *
47 * @property-read boolean $isLegitimateProxy This attribute is true if MaxMind
48 * believes this IP address to be a legitimate proxy, such as an internal
49 * VPN used by a corporation. This attribute is only available in the GeoIP2
50 * Enterprise database.
51 *
52 * @property-read boolean $isSatelliteProvider *Deprecated.* Due to the
53 * increased coverage by mobile carriers, very few satellite providers now
54 * serve multiple countries. As a result, the output does not provide
55 * sufficiently relevant data for us to maintain it.
56 *
57 * @property-read string|null $isp The name of the ISP associated with the IP
58 * address. This attribute is only available from the City and Insights web
59 * services and the GeoIP2 Enterprise database.
60 *
61 * @property-read string|null $organization The name of the organization associated
62 * with the IP address. This attribute is only available from the City and
63 * Insights web services and the GeoIP2 Enterprise database.
64 *
65 * @property-read string|null $userType <p>The user type associated with the IP
66 * address. This can be one of the following values:</p>
67 * <ul>
68 * <li>business
69 * <li>cafe
70 * <li>cellular
71 * <li>college
72 * <li>content_delivery_network
73 * <li>dialup
74 * <li>government
75 * <li>hosting
76 * <li>library
77 * <li>military
78 * <li>residential
79 * <li>router
80 * <li>school
81 * <li>search_engine_spider
82 * <li>traveler
83 * </ul>
84 * <p>
85 * This attribute is only available from the Insights web service and the
86 * GeoIP2 Enterprise database.
87 * </p>
88 */
89 class Traits extends AbstractRecord
90 {
91 /**
92 * @ignore
93 */
94 protected $validAttributes = array(
95 'autonomousSystemNumber',
96 'autonomousSystemOrganization',
97 'connectionType',
98 'domain',
99 'isAnonymousProxy',
100 'isLegitimateProxy',
101 'isSatelliteProvider',
102 'isp',
103 'ipAddress',
104 'organization',
105 'userType'
106 );
107 }
108