python3-cyberfusion-external-providers-ip-ranges 2.4__tar.gz → 2.5__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.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/PKG-INFO +3 -2
  2. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/README.md +1 -0
  3. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/pyproject.toml +2 -2
  4. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/src/cyberfusion/ExternalProvidersIPRanges/__init__.py +32 -0
  5. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/PKG-INFO +3 -2
  6. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/requires.txt +1 -1
  7. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/setup.cfg +0 -0
  8. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/SOURCES.txt +0 -0
  9. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/dependency_links.txt +0 -0
  10. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/entry_points.txt +0 -0
  11. {python3_cyberfusion_external_providers_ip_ranges-2.4 → python3_cyberfusion_external_providers_ip_ranges-2.5}/src/python3_cyberfusion_external_providers_ip_ranges.egg-info/top_level.txt +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-cyberfusion-external-providers-ip-ranges
3
- Version: 2.4
3
+ Version: 2.5
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
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: requests==2.32.3
8
+ Requires-Dist: requests==2.33.1
9
9
  Requires-Dist: python3-cyberfusion-common~=2.12
10
10
  Requires-Dist: python3-cyberfusion-ferm-support~=1.3
11
11
 
@@ -16,6 +16,7 @@ Scripts to add IP ranges of external providers to [ferm](http://ferm.foo-project
16
16
  ## Supported providers
17
17
 
18
18
  * Google Cloud
19
+ * GitHub
19
20
  * Atlassian
20
21
  * [Buddy](https://buddy.works/)
21
22
 
@@ -5,6 +5,7 @@ Scripts to add IP ranges of external providers to [ferm](http://ferm.foo-project
5
5
  ## Supported providers
6
6
 
7
7
  * Google Cloud
8
+ * GitHub
8
9
  * Atlassian
9
10
  * [Buddy](https://buddy.works/)
10
11
 
@@ -4,14 +4,14 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python3-cyberfusion-external-providers-ip-ranges"
7
- version = "2.4"
7
+ version = "2.5"
8
8
  description = "Scripts to add IP ranges of external providers to ferm."
9
9
  readme = "README.md"
10
10
  authors = [
11
11
  { name = "Cyberfusion", email = "support@cyberfusion.io" },
12
12
  ]
13
13
  dependencies = [
14
- "requests==2.32.3",
14
+ "requests==2.33.1",
15
15
  "python3-cyberfusion-common~=2.12",
16
16
  "python3-cyberfusion-ferm-support~=1.3",
17
17
  ]
@@ -53,6 +53,7 @@ class AtlassianIPRangeHandler(ExternalProviderIPRangeHandlerInterface):
53
53
 
54
54
  request = requests.get("https://ip-ranges.atlassian.com/")
55
55
  request.raise_for_status()
56
+
56
57
  data = request.json()
57
58
 
58
59
  for item in data["items"]:
@@ -76,6 +77,7 @@ class AWSIPRangeHandler(ExternalProviderIPRangeHandlerInterface):
76
77
 
77
78
  request = requests.get("https://ip-ranges.amazonaws.com/ip-ranges.json")
78
79
  request.raise_for_status()
80
+
79
81
  data = request.json()
80
82
 
81
83
  for item in data["prefixes"]:
@@ -142,6 +144,35 @@ class BuddyIPRangeHandler(ExternalProviderIPRangeHandlerInterface):
142
144
  return result
143
145
 
144
146
 
147
+ class GithubIPRangeHandler(ExternalProviderIPRangeHandlerInterface):
148
+ """Class for external provider IP range handler."""
149
+
150
+ @property
151
+ def name(self) -> str:
152
+ """Get external provider name."""
153
+ return "github"
154
+
155
+ @property
156
+ def ip_ranges(self) -> List[str]:
157
+ """Get IP ranges."""
158
+ result = []
159
+
160
+ ip_ranges = []
161
+
162
+ request = requests.get("https://api.github.com/meta")
163
+ request.raise_for_status()
164
+
165
+ data = request.json()
166
+
167
+ ip_ranges.extend(data["actions"])
168
+ ip_ranges.extend(data["actions_macos"])
169
+
170
+ for item in ip_ranges:
171
+ result.append(item)
172
+
173
+ return result
174
+
175
+
145
176
  def main() -> None:
146
177
  """Spawn relevant class for CLI function."""
147
178
  configuration = Configuration(
@@ -153,6 +184,7 @@ def main() -> None:
153
184
 
154
185
  handlers = [
155
186
  BuddyIPRangeHandler(),
187
+ GithubIPRangeHandler(),
156
188
  GoogleCloudIPRangeHandler(),
157
189
  AtlassianIPRangeHandler(),
158
190
  AWSIPRangeHandler(),
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-cyberfusion-external-providers-ip-ranges
3
- Version: 2.4
3
+ Version: 2.5
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
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: requests==2.32.3
8
+ Requires-Dist: requests==2.33.1
9
9
  Requires-Dist: python3-cyberfusion-common~=2.12
10
10
  Requires-Dist: python3-cyberfusion-ferm-support~=1.3
11
11
 
@@ -16,6 +16,7 @@ Scripts to add IP ranges of external providers to [ferm](http://ferm.foo-project
16
16
  ## Supported providers
17
17
 
18
18
  * Google Cloud
19
+ * GitHub
19
20
  * Atlassian
20
21
  * [Buddy](https://buddy.works/)
21
22
 
@@ -1,3 +1,3 @@
1
- requests==2.32.3
1
+ requests==2.33.1
2
2
  python3-cyberfusion-common~=2.12
3
3
  python3-cyberfusion-ferm-support~=1.3