cloudconsolelink 4.0.0__tar.gz → 4.0.1__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 (29) hide show
  1. {cloudconsolelink-4.0.0/cloudconsolelink.egg-info → cloudconsolelink-4.0.1}/PKG-INFO +1 -1
  2. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/__init__.py +1 -1
  3. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/aws/links.py +7 -0
  4. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1/cloudconsolelink.egg-info}/PKG-INFO +1 -1
  5. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/tests/test_aws.py +58 -0
  6. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/LICENSE +0 -0
  7. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/MANIFEST.in +0 -0
  8. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/README.md +0 -0
  9. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/__init__.py +0 -0
  10. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/aws/__init__.py +0 -0
  11. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/aws/errors.py +0 -0
  12. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/azure/__init__.py +0 -0
  13. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/gcp/__init__.py +0 -0
  14. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/gcp/links.py +0 -0
  15. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/oci/__init__.py +0 -0
  16. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink/clouds/oci/links.py +0 -0
  17. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink.egg-info/SOURCES.txt +0 -0
  18. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink.egg-info/dependency_links.txt +0 -0
  19. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink.egg-info/requires.txt +0 -0
  20. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/cloudconsolelink.egg-info/top_level.txt +0 -0
  21. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/requirements-dev.txt +0 -0
  22. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/requirements.txt +0 -0
  23. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/setup.cfg +0 -0
  24. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/setup.py +0 -0
  25. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/tests/test_azure.py +0 -0
  26. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/tests/test_gcp.py +0 -0
  27. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/tests/test_oci.py +0 -0
  28. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/tests/test_packaging.py +0 -0
  29. {cloudconsolelink-4.0.0 → cloudconsolelink-4.0.1}/tests/test_provider_coverage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudconsolelink
3
- Version: 4.0.0
3
+ Version: 4.0.1
4
4
  Summary: Generate console links for cloud resources
5
5
  Home-page: https://github.com/Cloudanix/cloud-console-links
6
6
  Maintainer: Cloudanix
@@ -1,2 +1,2 @@
1
1
  # version of the module
2
- __version__ = "4.0.0"
2
+ __version__ = "4.0.1"
@@ -6,6 +6,7 @@ from typing import Dict
6
6
  # https://{region}.console.aws.amazon.com/{service}/home?region={region}.
7
7
  HOME_URLS: Dict[str, str] = {
8
8
  "elasticloadbalancing": 'https://{data.get("region", "")}.{data.get("console", "")}/ec2/home?region={data.get("region", "")}#LoadBalancers:',
9
+ "network-firewall": 'https://{data.get("region", "")}.{data.get("console", "")}/vpc/home?region={data.get("region", "")}#Firewalls:',
9
10
  "logs": 'https://{data.get("region", "")}.{data.get("console", "")}/cloudwatch/home?region={data.get("region", "")}#logsV2:log-groups',
10
11
  "sns": 'https://{data.get("region", "")}.{data.get("console", "")}/sns/v3/home?region={data.get("region", "")}',
11
12
  "sqs": 'https://{data.get("region", "")}.{data.get("console", "")}/sqs/v2/home?region={data.get("region", "")}',
@@ -828,6 +829,12 @@ def get_links() -> Dict:
828
829
  },
829
830
  "neptune-db": { # Amazon Neptune
830
831
  },
832
+ "network-firewall": { # AWS Network Firewall
833
+ "firewall": 'https://{data.get("region", "")}.{data.get("console", "")}/vpc/home?region={data.get("region", "")}#FirewallDetails:firewallArn={arn}',
834
+ "firewall-policy": 'https://{data.get("region", "")}.{data.get("console", "")}/vpc/home?region={data.get("region", "")}#FirewallPolicyDetails:firewallPolicyArn={arn}',
835
+ "stateful-rulegroup": 'https://{data.get("region", "")}.{data.get("console", "")}/vpc/home?region={data.get("region", "")}#StatefulRuleGroupDetails:ruleGroupArn={arn}',
836
+ "stateless-rulegroup": 'https://{data.get("region", "")}.{data.get("console", "")}/vpc/home?region={data.get("region", "")}#StatelessRuleGroupDetails:ruleGroupArn={arn}',
837
+ },
831
838
  "networkmanager": { # Network Manager
832
839
  "device": 'https://{data.get("console", "")}/networkmanager/home?region={data.get("region", "")}#/networks/{data.get("resource", "")}/devices',
833
840
  "global-network": 'https://{data.get("console", "")}/networkmanager/home?region={data.get("region", "")}#/networks/{data.get("resource", "")}',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudconsolelink
3
- Version: 4.0.0
3
+ Version: 4.0.1
4
4
  Summary: Generate console links for cloud resources
5
5
  Home-page: https://github.com/Cloudanix/cloud-console-links
6
6
  Maintainer: Cloudanix
@@ -6,6 +6,7 @@ from cloudconsolelink.clouds.aws import InvalidARNError
6
6
  from cloudconsolelink.clouds.aws import InvalidPartitionError
7
7
  from cloudconsolelink.clouds.aws import InvalidServiceError
8
8
  from cloudconsolelink.clouds.aws import get_service_home_link
9
+ from cloudconsolelink.clouds.aws import _render
9
10
  from cloudconsolelink.clouds.aws.links import get_links
10
11
 
11
12
  aws = AWSLinker()
@@ -283,3 +284,60 @@ def test_aws_ec2_key_pair_trailing_colon_falls_back_to_key_pair_page():
283
284
  out_link = aws.get_console_link(arn=arn)
284
285
  assert out_link == "https://us-east-1.console.aws.amazon.com/ec2/v2/home?region=us-east-1#KeyPairs:"
285
286
 
287
+
288
+ def test_aws_network_firewall_firewall():
289
+ arn = "arn:aws:network-firewall:us-east-1:123456789012:firewall/my-firewall"
290
+ out_link = aws.get_console_link(arn=arn)
291
+ assert out_link == (
292
+ "https://us-east-1.console.aws.amazon.com/vpc/home"
293
+ "?region=us-east-1"
294
+ "#FirewallDetails:firewallArn=arn:aws:network-firewall:us-east-1:123456789012:firewall/my-firewall"
295
+ )
296
+
297
+
298
+ def test_aws_network_firewall_policy():
299
+ arn = "arn:aws:network-firewall:us-east-1:123456789012:firewall-policy/my-policy"
300
+ out_link = aws.get_console_link(arn=arn)
301
+ assert out_link == (
302
+ "https://us-east-1.console.aws.amazon.com/vpc/home"
303
+ "?region=us-east-1"
304
+ "#FirewallPolicyDetails:firewallPolicyArn=arn:aws:network-firewall:us-east-1:123456789012:firewall-policy/my-policy"
305
+ )
306
+
307
+
308
+ def test_aws_network_firewall_stateful_rulegroup():
309
+ arn = "arn:aws:network-firewall:us-east-1:123456789012:stateful-rulegroup/my-rules"
310
+ out_link = aws.get_console_link(arn=arn)
311
+ assert out_link == (
312
+ "https://us-east-1.console.aws.amazon.com/vpc/home"
313
+ "?region=us-east-1"
314
+ "#StatefulRuleGroupDetails:ruleGroupArn=arn:aws:network-firewall:us-east-1:123456789012:stateful-rulegroup/my-rules"
315
+ )
316
+
317
+
318
+ def test_aws_network_firewall_stateless_rulegroup():
319
+ arn = "arn:aws:network-firewall:us-east-1:123456789012:stateless-rulegroup/my-rules"
320
+ out_link = aws.get_console_link(arn=arn)
321
+ assert out_link == (
322
+ "https://us-east-1.console.aws.amazon.com/vpc/home"
323
+ "?region=us-east-1"
324
+ "#StatelessRuleGroupDetails:ruleGroupArn=arn:aws:network-firewall:us-east-1:123456789012:stateless-rulegroup/my-rules"
325
+ )
326
+
327
+
328
+ def test_aws_network_firewall_home():
329
+ arn = "arn:aws:network-firewall:us-east-1:123456789012"
330
+ out_link = aws.get_console_link(arn=arn)
331
+ assert out_link == "https://us-east-1.console.aws.amazon.com/vpc/home?region=us-east-1#Firewalls:"
332
+
333
+
334
+ def test_aws_render_unknown_template_expression_returns_empty_string():
335
+ result = _render("{unknown_expr}", {"region": "us-east-1", "console": "console.aws.amazon.com"})
336
+ assert result == ""
337
+
338
+
339
+ def test_aws_network_firewall_unknown_resource_falls_back_to_home():
340
+ arn = "arn:aws:network-firewall:us-east-1:123456789012:unknown-type/res-1"
341
+ out_link = aws.get_console_link(arn=arn)
342
+ assert out_link == "https://us-east-1.console.aws.amazon.com/vpc/home?region=us-east-1#Firewalls:"
343
+