Skip to content

Commit 1480000

Browse files
author
faustas@techconsult.lt
committed
templatize-storage
1 parent 45ad231 commit 1480000

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"storage": {
3+
"access": "private",
4+
"license": 0,
5+
"servers": {"server": []},
6+
"size": 666,
7+
"state": "maintenance",
8+
"tier": "maxiops",
9+
"title": "my server template",
10+
"type": "template",
11+
"uuid": "013721b5-07ca-4d7b-b4ff-e21262223e5b",
12+
"zone": "fi-hel1"
13+
}
14+
}

test/test_storage.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,13 @@ def test_restore_storage_backup(self, manager):
8585
res = manager.restore_storage_backup("01350eec-6ebf-4418-abe4-e8bb1d5c9643")
8686
assert res == {}
8787

88+
@responses.activate
89+
def test_templatize_storage(self, manager):
90+
data = Mock.mock_post("storage/01d4fcd4-e446-433b-8a9c-551a1284952e/templatize")
91+
storage = manager.templatize_storage("01d4fcd4-e446-433b-8a9c-551a1284952e", "my server template")
92+
assert storage.title == "my server template"
93+
assert storage.type == "template"
94+
8895
@responses.activate
8996
def test_storage_update(self, manager):
9097

upcloud_api/cloud_manager/storage_mixin.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,12 @@ def restore_storage_backup(self, storage):
141141
"""
142142
url = '/storage/{0}/restore'.format(storage)
143143
return self.post_request(url)
144+
145+
def templatize_storage(self, storage, title):
146+
"""
147+
Creates an exact copy of an existing storage resource which can be used as a template for creating new servers.
148+
"""
149+
url = '/storage/{0}/templatize'.format(storage)
150+
body = {'storage': {'title': title}}
151+
res = self.post_request(url, body)
152+
return Storage(cloud_manager=self, **res['storage'])

0 commit comments

Comments
 (0)