apache / libcloud

Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud resources through a unified and easy to use API.
https://libcloud.apache.org
Apache License 2.0
2.03k stars 929 forks source link

Add VPC IP and Elastic IP to ECS node as private and public IP #1954

Closed vicwicker closed 9 months ago

vicwicker commented 10 months ago

Description

As per documentation [1], the InnerIpAddress field is only relevant when the node network type is set to classic. If the node is within a VPC, the private IP is returned by the VpcAttributes/PrivateIpAddress.

In addition, elastic IPs in field EipAddress are also public ips. They differ from other public IPs in that they are static and stay the same once allocated.

Fields EipAddress and VpcAttributes are already returned in the response as part of the "extra" field of the node object. This is however not consistent with other drivers as these fields are also public and private IP addresses, respectively.

[1] https://www.alibabacloud.com/help/en/ecs/developer-reference/api-describeinstances

Status

Checklist (tick everything that applies)

codecov-commenter commented 10 months ago

Codecov Report

Merging #1954 (d71a92e) into trunk (7f52e3c) will increase coverage by 0.00%. The diff coverage is 100.00%.

@@           Coverage Diff           @@
##            trunk    #1954   +/-   ##
=======================================
  Coverage   83.19%   83.19%           
=======================================
  Files         353      353           
  Lines       81381    81387    +6     
  Branches     8583     8586    +3     
=======================================
+ Hits        67701    67707    +6     
  Misses      10874    10874           
  Partials     2806     2806           
Files Changed Coverage Δ
libcloud/compute/drivers/ecs.py 84.98% <100.00%> (+0.10%) :arrow_up:
libcloud/test/compute/test_ecs.py 100.00% <100.00%> (ø)