python3-cyberfusion-external-providers-ip-ranges 2.1.2__tar.gz → 2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/PKG-INFO +1 -1
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/pyproject.toml +1 -1
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/src/cyberfusion/ExternalProvidersIPRanges/__init__.py +35 -2
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/PKG-INFO +1 -1
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/README.md +0 -0
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/setup.cfg +0 -0
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/SOURCES.txt +0 -0
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/dependency_links.txt +0 -0
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/entry_points.txt +0 -0
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/requires.txt +0 -0
- {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.3}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python3-cyberfusion-external-providers-ip-ranges
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3
|
|
4
4
|
Summary: Scripts to add IP ranges of external providers to ferm.
|
|
5
5
|
Author-email: Cyberfusion <support@cyberfusion.io>
|
|
6
6
|
Project-URL: Source, https://github.com/CyberfusionIO/python3-cyberfusion-external-providers-ip-ranges
|
|
@@ -61,6 +61,32 @@ class AtlassianIPRangeHandler(ExternalProviderIPRangeHandlerInterface):
|
|
|
61
61
|
return result
|
|
62
62
|
|
|
63
63
|
|
|
64
|
+
class AWSIPRangeHandler(ExternalProviderIPRangeHandlerInterface):
|
|
65
|
+
"""Class for external provider IP range handler."""
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def name(self) -> str:
|
|
69
|
+
"""Get external provider name."""
|
|
70
|
+
return "aws"
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def ip_ranges(self) -> List[str]:
|
|
74
|
+
"""Get IP ranges."""
|
|
75
|
+
result = []
|
|
76
|
+
|
|
77
|
+
request = requests.get("https://ip-ranges.amazonaws.com/ip-ranges.json")
|
|
78
|
+
request.raise_for_status()
|
|
79
|
+
data = request.json()
|
|
80
|
+
|
|
81
|
+
for item in data["prefixes"]:
|
|
82
|
+
result.append(item["ip_prefix"])
|
|
83
|
+
|
|
84
|
+
for item in data["ipv6_prefixes"]:
|
|
85
|
+
result.append(item["ipv6_prefix"])
|
|
86
|
+
|
|
87
|
+
return result
|
|
88
|
+
|
|
89
|
+
|
|
64
90
|
class GoogleCloudIPRangeHandler(ExternalProviderIPRangeHandlerInterface):
|
|
65
91
|
"""Class for external provider IP range handler."""
|
|
66
92
|
|
|
@@ -100,11 +126,17 @@ class BuddyIPRangeHandler(ExternalProviderIPRangeHandlerInterface):
|
|
|
100
126
|
"""Get IP ranges."""
|
|
101
127
|
result = []
|
|
102
128
|
|
|
129
|
+
ip_ranges = []
|
|
130
|
+
|
|
103
131
|
request = requests.get("https://buddy.works/api/ips")
|
|
104
132
|
request.raise_for_status()
|
|
105
|
-
|
|
133
|
+
ip_ranges.extend(request.json()["runners"])
|
|
134
|
+
|
|
135
|
+
request = requests.get("https://buddy.works/api/ips/eu")
|
|
136
|
+
request.raise_for_status()
|
|
137
|
+
ip_ranges.extend(request.json()["runners"])
|
|
106
138
|
|
|
107
|
-
for item in
|
|
139
|
+
for item in ip_ranges:
|
|
108
140
|
result.append(item)
|
|
109
141
|
|
|
110
142
|
return result
|
|
@@ -123,6 +155,7 @@ def main() -> None:
|
|
|
123
155
|
BuddyIPRangeHandler(),
|
|
124
156
|
GoogleCloudIPRangeHandler(),
|
|
125
157
|
AtlassianIPRangeHandler(),
|
|
158
|
+
AWSIPRangeHandler(),
|
|
126
159
|
]
|
|
127
160
|
|
|
128
161
|
for handler in handlers:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python3-cyberfusion-external-providers-ip-ranges
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3
|
|
4
4
|
Summary: Scripts to add IP ranges of external providers to ferm.
|
|
5
5
|
Author-email: Cyberfusion <support@cyberfusion.io>
|
|
6
6
|
Project-URL: Source, https://github.com/CyberfusionIO/python3-cyberfusion-external-providers-ip-ranges
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|