Skip to content

Commit abef904

Browse files
authored
Merge pull request #129 from UpCloudLtd/version-2.5.0
Version 2.5.0: server groups, loadbalancers, labels for servers, storages, loadbalancers & server groups and some smaller fixes
2 parents f7697dd + 16f55a8 commit abef904

37 files changed

+1156
-96
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
- py37
2323
- py38
2424
- py39
25+
- py310
2526
- pypy3
2627
steps:
2728
- uses: actions/checkout@v3

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.gitignore
22
__pycache__
33
ENV/
4+
.env
45
.DS_Store
56
*.py[cod]
67
build/

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515

1616
----
1717

18+
## [2.5.0] - 2023-07-31
19+
20+
### Added
21+
22+
- Server group support
23+
- Support for labels in servers, storages and server groups
24+
- Server network interface support
25+
- Server simple backup rule support
26+
- Loadbalancer object support with labels included
27+
- Manager support for listing server plans
28+
- Manager support for load balancers with dictionary responses
29+
30+
## [2.0.1] - 2023-03-22
31+
32+
### Added
33+
34+
Support for metadata in server objects and server creation.
35+
1836
## [2.0.0] - 2021-05-05
1937

2038
Python 2 is no longer supported. This is a maintenance release without

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Alternatively, if you want the newest (possibly not yet released) stuff, clone t
2222
python setup.py install
2323
```
2424

25-
### Supported Python versions in API v2.0.1
25+
### Supported Python versions in API v2.5.0
2626

2727
- Python 3.7
2828
- Python 3.8
@@ -31,7 +31,7 @@ python setup.py install
3131

3232
**Python 2 has been deprecated**
3333

34-
- 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/).
34+
- Python 2.7 is no longer supported, but available in older API versions (< v2.0.0).
3535

3636
## Changelog
3737

requirements-dev.txt

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,54 +4,62 @@
44
#
55
# pip-compile requirements-dev.in
66
#
7-
attrs==20.3.0
8-
# via pytest
9-
certifi==2020.12.5
7+
build==0.10.0
8+
# via pip-tools
9+
certifi==2023.7.22
1010
# via requests
11-
chardet==4.0.0
11+
charset-normalizer==3.2.0
1212
# via requests
13-
click==7.1.2
13+
click==8.1.6
1414
# via pip-tools
15-
coverage==5.5
15+
coverage[toml]==7.2.7
1616
# via pytest-cov
17-
idna==2.10
17+
exceptiongroup==1.1.2
18+
# via pytest
19+
idna==3.4
1820
# via requests
19-
iniconfig==1.1.1
21+
iniconfig==2.0.0
2022
# via pytest
21-
mock==4.0.3
23+
mock==5.1.0
2224
# via -r requirements-dev.in
23-
packaging==20.9
24-
# via pytest
25-
pep517==0.10.0
26-
# via pip-tools
27-
pip-tools==6.1.0
25+
packaging==23.1
26+
# via
27+
# build
28+
# pytest
29+
pip-tools==6.14.0
2830
# via -r requirements-dev.in
29-
pluggy==0.13.1
30-
# via pytest
31-
py==1.10.0
31+
pluggy==1.2.0
3232
# via pytest
33-
pyparsing==2.4.7
34-
# via packaging
35-
pytest==6.2.3
33+
pyproject-hooks==1.0.0
34+
# via build
35+
pytest==7.4.0
3636
# via
3737
# -r requirements-dev.in
3838
# pytest-cov
39-
pytest-cov==2.11.1
39+
pytest-cov==4.1.0
4040
# via -r requirements-dev.in
41-
requests==2.25.1
41+
pyyaml==6.0.1
4242
# via responses
43-
responses==0.13.2
44-
# via -r requirements-dev.in
45-
six==1.15.0
43+
requests==2.31.0
4644
# via responses
47-
toml==0.10.2
45+
responses==0.23.2
46+
# via -r requirements-dev.in
47+
tomli==2.0.1
4848
# via
49-
# pep517
49+
# build
50+
# coverage
51+
# pip-tools
52+
# pyproject-hooks
5053
# pytest
51-
urllib3==1.26.5
54+
types-pyyaml==6.0.12.11
55+
# via responses
56+
urllib3==2.0.4
5257
# via
5358
# requests
5459
# responses
60+
wheel==0.41.0
61+
# via pip-tools
5562

5663
# The following packages are considered to be unsafe in a requirements file:
5764
# pip
65+
# setuptools

test/json_data/plan.json

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
{
2+
"plans" : {
3+
"plan" : [
4+
{
5+
"core_number" : 1,
6+
"memory_amount" : 2048,
7+
"name" : "1xCPU-2GB",
8+
"public_traffic_out" : 2048,
9+
"storage_size" : 50,
10+
"storage_tier" : "maxiops"
11+
},
12+
{
13+
"core_number" : 1,
14+
"memory_amount" : 1024,
15+
"name" : "1xCPU-1GB",
16+
"public_traffic_out" : 1024,
17+
"storage_size" : 25,
18+
"storage_tier" : "maxiops"
19+
},
20+
{
21+
"core_number" : 2,
22+
"memory_amount" : 4096,
23+
"name" : "2xCPU-4GB",
24+
"public_traffic_out" : 4096,
25+
"storage_size" : 80,
26+
"storage_tier" : "maxiops"
27+
},
28+
{
29+
"core_number" : 2,
30+
"memory_amount" : 16384,
31+
"name" : "HIMEM-2xCPU-16GB",
32+
"public_traffic_out" : 2048,
33+
"storage_size" : 100,
34+
"storage_tier" : "maxiops"
35+
},
36+
{
37+
"core_number" : 2,
38+
"memory_amount" : 8192,
39+
"name" : "HIMEM-2xCPU-8GB",
40+
"public_traffic_out" : 2048,
41+
"storage_size" : 100,
42+
"storage_tier" : "maxiops"
43+
},
44+
{
45+
"core_number" : 4,
46+
"memory_amount" : 65536,
47+
"name" : "HIMEM-4xCPU-64GB",
48+
"public_traffic_out" : 4096,
49+
"storage_size" : 200,
50+
"storage_tier" : "maxiops"
51+
},
52+
{
53+
"core_number" : 4,
54+
"memory_amount" : 32768,
55+
"name" : "HIMEM-4xCPU-32GB",
56+
"public_traffic_out" : 4096,
57+
"storage_size" : 100,
58+
"storage_tier" : "maxiops"
59+
},
60+
{
61+
"core_number" : 4,
62+
"memory_amount" : 8192,
63+
"name" : "4xCPU-8GB",
64+
"public_traffic_out" : 5120,
65+
"storage_size" : 160,
66+
"storage_tier" : "maxiops"
67+
},
68+
{
69+
"core_number" : 6,
70+
"memory_amount" : 131072,
71+
"name" : "HIMEM-6xCPU-128GB",
72+
"public_traffic_out" : 6144,
73+
"storage_size" : 300,
74+
"storage_tier" : "maxiops"
75+
},
76+
{
77+
"core_number" : 6,
78+
"memory_amount" : 16384,
79+
"name" : "6xCPU-16GB",
80+
"public_traffic_out" : 6144,
81+
"storage_size" : 320,
82+
"storage_tier" : "maxiops"
83+
},
84+
{
85+
"core_number" : 8,
86+
"memory_amount" : 16384,
87+
"name" : "HICPU-8xCPU-16GB",
88+
"public_traffic_out" : 4096,
89+
"storage_size" : 200,
90+
"storage_tier" : "maxiops"
91+
},
92+
{
93+
"core_number" : 8,
94+
"memory_amount" : 12288,
95+
"name" : "HICPU-8xCPU-12GB",
96+
"public_traffic_out" : 4096,
97+
"storage_size" : 100,
98+
"storage_tier" : "maxiops"
99+
},
100+
{
101+
"core_number" : 8,
102+
"memory_amount" : 32768,
103+
"name" : "8xCPU-32GB",
104+
"public_traffic_out" : 7168,
105+
"storage_size" : 640,
106+
"storage_tier" : "maxiops"
107+
},
108+
{
109+
"core_number" : 8,
110+
"memory_amount" : 196608,
111+
"name" : "HIMEM-8xCPU-192GB",
112+
"public_traffic_out" : 8192,
113+
"storage_size" : 400,
114+
"storage_tier" : "maxiops"
115+
},
116+
{
117+
"core_number" : 12,
118+
"memory_amount" : 49152,
119+
"name" : "12xCPU-48GB",
120+
"public_traffic_out" : 9216,
121+
"storage_size" : 960,
122+
"storage_tier" : "maxiops"
123+
},
124+
{
125+
"core_number" : 12,
126+
"memory_amount" : 262144,
127+
"name" : "HIMEM-12xCPU-256GB",
128+
"public_traffic_out" : 10240,
129+
"storage_size" : 500,
130+
"storage_tier" : "maxiops"
131+
},
132+
{
133+
"core_number" : 16,
134+
"memory_amount" : 24576,
135+
"name" : "HICPU-16xCPU-24GB",
136+
"public_traffic_out" : 5120,
137+
"storage_size" : 100,
138+
"storage_tier" : "maxiops"
139+
},
140+
{
141+
"core_number" : 16,
142+
"memory_amount" : 65536,
143+
"name" : "16xCPU-64GB",
144+
"public_traffic_out" : 10240,
145+
"storage_size" : 1280,
146+
"storage_tier" : "maxiops"
147+
},
148+
{
149+
"core_number" : 16,
150+
"memory_amount" : 393216,
151+
"name" : "HIMEM-16xCPU-384GB",
152+
"public_traffic_out" : 12288,
153+
"storage_size" : 600,
154+
"storage_tier" : "maxiops"
155+
},
156+
{
157+
"core_number" : 16,
158+
"memory_amount" : 32768,
159+
"name" : "HICPU-16xCPU-32GB",
160+
"public_traffic_out" : 5120,
161+
"storage_size" : 200,
162+
"storage_tier" : "maxiops"
163+
},
164+
{
165+
"core_number" : 24,
166+
"memory_amount" : 98304,
167+
"name" : "24xCPU-96GB",
168+
"public_traffic_out" : 12288,
169+
"storage_size" : 1920,
170+
"storage_tier" : "maxiops"
171+
},
172+
{
173+
"core_number" : 32,
174+
"memory_amount" : 49152,
175+
"name" : "HICPU-32xCPU-48GB",
176+
"public_traffic_out" : 6144,
177+
"storage_size" : 200,
178+
"storage_tier" : "maxiops"
179+
},
180+
{
181+
"core_number" : 32,
182+
"memory_amount" : 65536,
183+
"name" : "HICPU-32xCPU-64GB",
184+
"public_traffic_out" : 6144,
185+
"storage_size" : 300,
186+
"storage_tier" : "maxiops"
187+
},
188+
{
189+
"core_number" : 32,
190+
"memory_amount" : 131072,
191+
"name" : "32xCPU-128GB",
192+
"public_traffic_out" : 24576,
193+
"storage_size" : 2048,
194+
"storage_tier" : "maxiops"
195+
},
196+
{
197+
"core_number" : 38,
198+
"memory_amount" : 196608,
199+
"name" : "38xCPU-192GB",
200+
"public_traffic_out" : 24576,
201+
"storage_size" : 2048,
202+
"storage_tier" : "maxiops"
203+
},
204+
{
205+
"core_number" : 48,
206+
"memory_amount" : 262144,
207+
"name" : "48xCPU-256GB",
208+
"public_traffic_out" : 24576,
209+
"storage_size" : 2048,
210+
"storage_tier" : "maxiops"
211+
},
212+
{
213+
"core_number" : 64,
214+
"memory_amount" : 98304,
215+
"name" : "HICPU-64xCPU-96GB",
216+
"public_traffic_out" : 7168,
217+
"storage_size" : 200,
218+
"storage_tier" : "maxiops"
219+
},
220+
{
221+
"core_number" : 64,
222+
"memory_amount" : 393216,
223+
"name" : "64xCPU-384GB",
224+
"public_traffic_out" : 24576,
225+
"storage_size" : 2048,
226+
"storage_tier" : "maxiops"
227+
},
228+
{
229+
"core_number" : 64,
230+
"memory_amount" : 131072,
231+
"name" : "HICPU-64xCPU-128GB",
232+
"public_traffic_out" : 7168,
233+
"storage_size" : 300,
234+
"storage_tier" : "maxiops"
235+
}
236+
]
237+
}
238+
}

0 commit comments

Comments
 (0)