python3-cyberfusion-external-providers-ip-ranges 2.1.2__tar.gz → 2.2__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.
Files changed (11) hide show
  1. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/PKG-INFO +1 -1
  2. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/pyproject.toml +1 -1
  3. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/src/cyberfusion/ExternalProvidersIPRanges/__init__.py +27 -0
  4. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/PKG-INFO +1 -1
  5. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/README.md +0 -0
  6. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/setup.cfg +0 -0
  7. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/SOURCES.txt +0 -0
  8. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/dependency_links.txt +0 -0
  9. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/entry_points.txt +0 -0
  10. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/requires.txt +0 -0
  11. {python3_cyberfusion_external_providers_ip_ranges-2.1.2 → python3_cyberfusion_external_providers_ip_ranges-2.2}/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.1.2
3
+ Version: 2.2
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python3-cyberfusion-external-providers-ip-ranges"
7
- version = "2.1.2"
7
+ version = "2.2"
8
8
  description = "Scripts to add IP ranges of external providers to ferm."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -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
 
@@ -123,6 +149,7 @@ def main() -> None:
123
149
  BuddyIPRangeHandler(),
124
150
  GoogleCloudIPRangeHandler(),
125
151
  AtlassianIPRangeHandler(),
152
+ AWSIPRangeHandler(),
126
153
  ]
127
154
 
128
155
  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.1.2
3
+ Version: 2.2
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