community.general.ipbase_info 模块 – 使用 ipbase.com API 获取主机的 IP 地址的地理位置和其他信息

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查是否已安装它,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定: community.general.ipbase_info

community.general 7.0.0 中的新增功能

概要

  • 使用 ipbase.com API 获取主机的 IP 地址的地理位置和其他信息

参数

参数

注释

apikey

字符串

如果您需要更多请求,则需要请求的 API 密钥。

hostname

布尔值

如果 hostname 参数设置为 true,则 API 响应将包含 IP 的主机名。

选项

  • false ← (默认)

  • true

ip

字符串

您要获取信息的 IP。如果未指定,API 将自动检测 IP。

language

字符串

用于本地化 IP 数据的 ISO Alpha 2 语言代码

默认值: "en"

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: N/A

此操作不会修改状态。

处于 diff 模式时,将返回有关已更改内容(或可能需要在 check_mode 下更改的内容)的详细信息。

备注

注意

示例

- name: "Get IP geolocation information of the primary outgoing IP"
  community.general.ipbase_info:
  register: my_ip_info

- name: "Get IP geolocation information of a specific IP"
  community.general.ipbase_info:
    ip: "8.8.8.8"
  register: my_ip_info


- name: "Get IP geolocation information of a specific IP with all other possible parameters"
  community.general.ipbase_info:
    ip: "8.8.8.8"
    apikey: "xxxxxxxxxxxxxxxxxxxxxx"
    hostname: true
    language: "de"
  register: my_ip_info

返回值

常见返回值已记录在 此处,以下是此模块特有的字段

描述

data

字典

来自 ipbase.com 的 JSON 解析响应。请参考 https://ipbase.com/docs/info 获取响应的详细结构。

返回:成功

示例: {"connection": {"asn": 13335, "isp": "APNIC 研究与开发", "organization": "Cloudflare, Inc.", "range": "1.1.1.1/32"}, "domains": {"count": 10943, "domains": ["eliwise.academy", "accountingprose.academy", "pistola.academy", "1and1-test-ntlds-fr.accountant", "omnergy.africa"]}, "hostname": "one.one.one.one", "ip": "1.1.1.1", "location": {"city": {"alpha2": null, "fips": "644000", "geonames_id": 5368753, "hasc_id": null, "name": "洛杉矶", "name_translated": "洛杉矶", "wikidata_id": "Q65"}, "continent": {"code": "NA", "name": "北美洲", "name_translated": "北美洲"}, "country": {"alpha2": "US", "alpha3": "USA", "calling_codes": ["+1"], "currencies": [{"code": "USD", "decimal_digits": 2, "name": "美元", "name_plural": "美元", "rounding": 0, "symbol": "$", "symbol_native": "$"}], "emoji": "...", "fips": "US", "geonames_id": 6252001, "hasc_id": "US", "ioc": "USA", "is_in_european_union": false, "languages": [{"name": "英语", "name_native": "English"}], "name": "美国", "name_translated": "美国", "timezones": ["America/New_York", "America/Detroit", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Indiana/Indianapolis", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Vevay", "America/Chicago", "America/Indiana/Tell_City", "America/Indiana/Knox", "America/Menominee", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/North_Dakota/Beulah", "America/Denver", "America/Boise", "America/Phoenix", "America/Los_Angeles", "America/Anchorage", "America/Juneau", "America/Sitka", "America/Metlakatla", "America/Yakutat", "America/Nome", "America/Adak", "Pacific/Honolulu"], "wikidata_id": "Q30"}, "geonames_id": 5332870, "latitude": 34.053611755371094, "longitude": -118.24549865722656, "region": {"alpha2": "US-CA", "fips": "US06", "geonames_id": 5332921, "hasc_id": "US.CA", "name": "加利福尼亚州", "name_translated": "加利福尼亚州", "wikidata_id": "Q99"}, "zip": "90012"}, "range_type": {"description": "公共地址", "type": "PUBLIC"}, "security": {"is_abuser": true, "is_anonymous": false, "is_bot": false, "is_datacenter": false, "is_icloud_relay": false, "is_known_attacker": true, "is_proxy": false, "is_spam": false, "is_tor": false, "is_vpn": false, "threat_score": 100}, "timezone": {"code": "PDT", "current_time": "2023-05-04T04:30:28-07:00", "gmt_offset": -25200, "id": "America/Los_Angeles", "is_daylight_saving": true}, "tlds": [".us"], "type": "v4"}

作者

  • Dominik Kukacka (@dominikkukacka)