Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 2.5.0: server groups, loadbalancers, labels for servers, storages, loadbalancers & server groups and some smaller fixes #129

Merged
merged 11 commits into from
Aug 14, 2023
Merged
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
- py37
- py38
- py39
- py310
- pypy3
steps:
- uses: actions/checkout@v3
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
.gitignore
__pycache__
ENV/
.env
.DS_Store
*.py[cod]
build/
Expand Down
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

----

## [2.5.0] - 2023-07-31

### Added

- Server group support
- Support for labels in servers, storages and server groups
- Server network interface support
- Server simple backup rule support
- Loadbalancer object support with labels included
- Manager support for listing server plans
- Manager support for load balancers with dictionary responses

## [2.0.1] - 2023-03-22

### Added

Support for metadata in server objects and server creation.

## [2.0.0] - 2021-05-05

Python 2 is no longer supported. This is a maintenance release without
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Alternatively, if you want the newest (possibly not yet released) stuff, clone t
python setup.py install
```

### Supported Python versions in API v2.0.1
### Supported Python versions in API v2.5.0

- Python 3.7
- Python 3.8
Expand All @@ -31,7 +31,7 @@ python setup.py install

**Python 2 has been deprecated**

- Python 2.7 is supported in older API versions (< v2.0.0), still available in [PyPI](https://pypi.org/project/upcloud-api/1.0.1/).
- Python 2.7 is no longer supported, but available in older API versions (< v2.0.0).

## Changelog

Expand Down
64 changes: 36 additions & 28 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,54 +4,62 @@
#
# pip-compile requirements-dev.in
#
attrs==20.3.0
# via pytest
certifi==2020.12.5
build==0.10.0
# via pip-tools
certifi==2023.7.22
# via requests
chardet==4.0.0
charset-normalizer==3.2.0
# via requests
click==7.1.2
click==8.1.6
# via pip-tools
coverage==5.5
coverage[toml]==7.2.7
# via pytest-cov
idna==2.10
exceptiongroup==1.1.2
# via pytest
idna==3.4
# via requests
iniconfig==1.1.1
iniconfig==2.0.0
# via pytest
mock==4.0.3
mock==5.1.0
# via -r requirements-dev.in
packaging==20.9
# via pytest
pep517==0.10.0
# via pip-tools
pip-tools==6.1.0
packaging==23.1
# via
# build
# pytest
pip-tools==6.14.0
# via -r requirements-dev.in
pluggy==0.13.1
# via pytest
py==1.10.0
pluggy==1.2.0
# via pytest
pyparsing==2.4.7
# via packaging
pytest==6.2.3
pyproject-hooks==1.0.0
# via build
pytest==7.4.0
# via
# -r requirements-dev.in
# pytest-cov
pytest-cov==2.11.1
pytest-cov==4.1.0
# via -r requirements-dev.in
requests==2.25.1
pyyaml==6.0.1
# via responses
responses==0.13.2
# via -r requirements-dev.in
six==1.15.0
requests==2.31.0
# via responses
toml==0.10.2
responses==0.23.2
# via -r requirements-dev.in
tomli==2.0.1
# via
# pep517
# build
# coverage
# pip-tools
# pyproject-hooks
# pytest
urllib3==1.26.5
types-pyyaml==6.0.12.11
# via responses
urllib3==2.0.4
# via
# requests
# responses
wheel==0.41.0
# via pip-tools

# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools
238 changes: 238 additions & 0 deletions test/json_data/plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
{
"plans" : {
"plan" : [
{
"core_number" : 1,
"memory_amount" : 2048,
"name" : "1xCPU-2GB",
"public_traffic_out" : 2048,
"storage_size" : 50,
"storage_tier" : "maxiops"
},
{
"core_number" : 1,
"memory_amount" : 1024,
"name" : "1xCPU-1GB",
"public_traffic_out" : 1024,
"storage_size" : 25,
"storage_tier" : "maxiops"
},
{
"core_number" : 2,
"memory_amount" : 4096,
"name" : "2xCPU-4GB",
"public_traffic_out" : 4096,
"storage_size" : 80,
"storage_tier" : "maxiops"
},
{
"core_number" : 2,
"memory_amount" : 16384,
"name" : "HIMEM-2xCPU-16GB",
"public_traffic_out" : 2048,
"storage_size" : 100,
"storage_tier" : "maxiops"
},
{
"core_number" : 2,
"memory_amount" : 8192,
"name" : "HIMEM-2xCPU-8GB",
"public_traffic_out" : 2048,
"storage_size" : 100,
"storage_tier" : "maxiops"
},
{
"core_number" : 4,
"memory_amount" : 65536,
"name" : "HIMEM-4xCPU-64GB",
"public_traffic_out" : 4096,
"storage_size" : 200,
"storage_tier" : "maxiops"
},
{
"core_number" : 4,
"memory_amount" : 32768,
"name" : "HIMEM-4xCPU-32GB",
"public_traffic_out" : 4096,
"storage_size" : 100,
"storage_tier" : "maxiops"
},
{
"core_number" : 4,
"memory_amount" : 8192,
"name" : "4xCPU-8GB",
"public_traffic_out" : 5120,
"storage_size" : 160,
"storage_tier" : "maxiops"
},
{
"core_number" : 6,
"memory_amount" : 131072,
"name" : "HIMEM-6xCPU-128GB",
"public_traffic_out" : 6144,
"storage_size" : 300,
"storage_tier" : "maxiops"
},
{
"core_number" : 6,
"memory_amount" : 16384,
"name" : "6xCPU-16GB",
"public_traffic_out" : 6144,
"storage_size" : 320,
"storage_tier" : "maxiops"
},
{
"core_number" : 8,
"memory_amount" : 16384,
"name" : "HICPU-8xCPU-16GB",
"public_traffic_out" : 4096,
"storage_size" : 200,
"storage_tier" : "maxiops"
},
{
"core_number" : 8,
"memory_amount" : 12288,
"name" : "HICPU-8xCPU-12GB",
"public_traffic_out" : 4096,
"storage_size" : 100,
"storage_tier" : "maxiops"
},
{
"core_number" : 8,
"memory_amount" : 32768,
"name" : "8xCPU-32GB",
"public_traffic_out" : 7168,
"storage_size" : 640,
"storage_tier" : "maxiops"
},
{
"core_number" : 8,
"memory_amount" : 196608,
"name" : "HIMEM-8xCPU-192GB",
"public_traffic_out" : 8192,
"storage_size" : 400,
"storage_tier" : "maxiops"
},
{
"core_number" : 12,
"memory_amount" : 49152,
"name" : "12xCPU-48GB",
"public_traffic_out" : 9216,
"storage_size" : 960,
"storage_tier" : "maxiops"
},
{
"core_number" : 12,
"memory_amount" : 262144,
"name" : "HIMEM-12xCPU-256GB",
"public_traffic_out" : 10240,
"storage_size" : 500,
"storage_tier" : "maxiops"
},
{
"core_number" : 16,
"memory_amount" : 24576,
"name" : "HICPU-16xCPU-24GB",
"public_traffic_out" : 5120,
"storage_size" : 100,
"storage_tier" : "maxiops"
},
{
"core_number" : 16,
"memory_amount" : 65536,
"name" : "16xCPU-64GB",
"public_traffic_out" : 10240,
"storage_size" : 1280,
"storage_tier" : "maxiops"
},
{
"core_number" : 16,
"memory_amount" : 393216,
"name" : "HIMEM-16xCPU-384GB",
"public_traffic_out" : 12288,
"storage_size" : 600,
"storage_tier" : "maxiops"
},
{
"core_number" : 16,
"memory_amount" : 32768,
"name" : "HICPU-16xCPU-32GB",
"public_traffic_out" : 5120,
"storage_size" : 200,
"storage_tier" : "maxiops"
},
{
"core_number" : 24,
"memory_amount" : 98304,
"name" : "24xCPU-96GB",
"public_traffic_out" : 12288,
"storage_size" : 1920,
"storage_tier" : "maxiops"
},
{
"core_number" : 32,
"memory_amount" : 49152,
"name" : "HICPU-32xCPU-48GB",
"public_traffic_out" : 6144,
"storage_size" : 200,
"storage_tier" : "maxiops"
},
{
"core_number" : 32,
"memory_amount" : 65536,
"name" : "HICPU-32xCPU-64GB",
"public_traffic_out" : 6144,
"storage_size" : 300,
"storage_tier" : "maxiops"
},
{
"core_number" : 32,
"memory_amount" : 131072,
"name" : "32xCPU-128GB",
"public_traffic_out" : 24576,
"storage_size" : 2048,
"storage_tier" : "maxiops"
},
{
"core_number" : 38,
"memory_amount" : 196608,
"name" : "38xCPU-192GB",
"public_traffic_out" : 24576,
"storage_size" : 2048,
"storage_tier" : "maxiops"
},
{
"core_number" : 48,
"memory_amount" : 262144,
"name" : "48xCPU-256GB",
"public_traffic_out" : 24576,
"storage_size" : 2048,
"storage_tier" : "maxiops"
},
{
"core_number" : 64,
"memory_amount" : 98304,
"name" : "HICPU-64xCPU-96GB",
"public_traffic_out" : 7168,
"storage_size" : 200,
"storage_tier" : "maxiops"
},
{
"core_number" : 64,
"memory_amount" : 393216,
"name" : "64xCPU-384GB",
"public_traffic_out" : 24576,
"storage_size" : 2048,
"storage_tier" : "maxiops"
},
{
"core_number" : 64,
"memory_amount" : 131072,
"name" : "HICPU-64xCPU-128GB",
"public_traffic_out" : 7168,
"storage_size" : 300,
"storage_tier" : "maxiops"
}
]
}
}
Loading
Loading