Skip to content

Commit 598edae

Browse files
refactor(cloud): split instance and baremetal image models
1 parent 58ddc52 commit 598edae

13 files changed

Lines changed: 58 additions & 41 deletions

File tree

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 657
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-2c51dec6cb0178c3e94e32aaf2ccb1627fdc815fa181a2c053861e1ccf1392bb.yml
33
openapi_spec_hash: a763e3bba4d1827b1ebf28b59ceebfe4
4-
config_hash: 9b8a6bbded182cbf22a30b85b4d0b660
4+
config_hash: a9b5cf71cf792435a76f72d3856c8ee0

src/gcore/resources/cloud/api.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ from gcore.types.cloud import (
2424
GPUImage,
2525
GPUImageList,
2626
HTTPMethod,
27-
Image,
28-
ImageList,
2927
Instance,
3028
InstanceIsolation,
3129
InstanceList,
@@ -649,12 +647,12 @@ Methods:
649647
Types:
650648

651649
```python
652-
from gcore.types.cloud.baremetal import ImageListResponse
650+
from gcore.types.cloud.baremetal import BaremetalImage, BaremetalImageList
653651
```
654652

655653
Methods:
656654

657-
- <code title="get /cloud/v1/bmimages/{project_id}/{region_id}">client.cloud.baremetal.images.<a href="./src/gcore/resources/cloud/baremetal/images.py">list</a>(\*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/baremetal/image_list_params.py">params</a>) -> <a href="./src/gcore/types/cloud/baremetal/image_list_response.py">ImageListResponse</a></code>
655+
- <code title="get /cloud/v1/bmimages/{project_id}/{region_id}">client.cloud.baremetal.images.<a href="./src/gcore/resources/cloud/baremetal/images.py">list</a>(\*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/baremetal/image_list_params.py">params</a>) -> <a href="./src/gcore/types/cloud/baremetal/baremetal_image_list.py">BaremetalImageList</a></code>
658656

659657
### Flavors
660658

@@ -999,13 +997,19 @@ Methods:
999997

1000998
### Images
1001999

1000+
Types:
1001+
1002+
```python
1003+
from gcore.types.cloud.instances import Image, ImageList
1004+
```
1005+
10021006
Methods:
10031007

1004-
- <code title="patch /cloud/v1/images/{project_id}/{region_id}/{image_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">update</a>(image_id, \*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/instances/image_update_params.py">params</a>) -> <a href="./src/gcore/types/cloud/image.py">Image</a></code>
1005-
- <code title="get /cloud/v1/images/{project_id}/{region_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">list</a>(\*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/instances/image_list_params.py">params</a>) -> <a href="./src/gcore/types/cloud/image_list.py">ImageList</a></code>
1008+
- <code title="patch /cloud/v1/images/{project_id}/{region_id}/{image_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">update</a>(image_id, \*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/instances/image_update_params.py">params</a>) -> <a href="./src/gcore/types/cloud/instances/image.py">Image</a></code>
1009+
- <code title="get /cloud/v1/images/{project_id}/{region_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">list</a>(\*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/instances/image_list_params.py">params</a>) -> <a href="./src/gcore/types/cloud/instances/image_list.py">ImageList</a></code>
10061010
- <code title="delete /cloud/v1/images/{project_id}/{region_id}/{image_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">delete</a>(image_id, \*, project_id, region_id) -> <a href="./src/gcore/types/cloud/task_id_list.py">TaskIDList</a></code>
10071011
- <code title="post /cloud/v1/images/{project_id}/{region_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">create_from_volume</a>(\*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/instances/image_create_from_volume_params.py">params</a>) -> <a href="./src/gcore/types/cloud/task_id_list.py">TaskIDList</a></code>
1008-
- <code title="get /cloud/v1/images/{project_id}/{region_id}/{image_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">get</a>(image_id, \*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/instances/image_get_params.py">params</a>) -> <a href="./src/gcore/types/cloud/image.py">Image</a></code>
1012+
- <code title="get /cloud/v1/images/{project_id}/{region_id}/{image_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">get</a>(image_id, \*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/instances/image_get_params.py">params</a>) -> <a href="./src/gcore/types/cloud/instances/image.py">Image</a></code>
10091013
- <code title="post /cloud/v1/downloadimage/{project_id}/{region_id}">client.cloud.instances.images.<a href="./src/gcore/resources/cloud/instances/images.py">upload</a>(\*, project_id, region_id, \*\*<a href="src/gcore/types/cloud/instances/image_upload_params.py">params</a>) -> <a href="./src/gcore/types/cloud/task_id_list.py">TaskIDList</a></code>
10101014

10111015
### Metrics

src/gcore/resources/cloud/baremetal/images.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
)
1919
from ...._base_client import make_request_options
2020
from ....types.cloud.baremetal import image_list_params
21-
from ....types.cloud.baremetal.image_list_response import ImageListResponse
21+
from ....types.cloud.baremetal.baremetal_image_list import BaremetalImageList
2222

2323
__all__ = ["ImagesResource", "AsyncImagesResource"]
2424

@@ -59,7 +59,7 @@ def list(
5959
extra_query: Query | None = None,
6060
extra_body: Body | None = None,
6161
timeout: float | httpx.Timeout | None | NotGiven = not_given,
62-
) -> ImageListResponse:
62+
) -> BaremetalImageList:
6363
"""Retrieve a list of available images for bare metal servers.
6464
6565
The list can be
@@ -111,7 +111,7 @@ def list(
111111
image_list_params.ImageListParams,
112112
),
113113
),
114-
cast_to=ImageListResponse,
114+
cast_to=BaremetalImageList,
115115
)
116116

117117

@@ -151,7 +151,7 @@ async def list(
151151
extra_query: Query | None = None,
152152
extra_body: Body | None = None,
153153
timeout: float | httpx.Timeout | None | NotGiven = not_given,
154-
) -> ImageListResponse:
154+
) -> BaremetalImageList:
155155
"""Retrieve a list of available images for bare metal servers.
156156
157157
The list can be
@@ -203,7 +203,7 @@ async def list(
203203
image_list_params.ImageListParams,
204204
),
205205
),
206-
cast_to=ImageListResponse,
206+
cast_to=BaremetalImageList,
207207
)
208208

209209

src/gcore/resources/cloud/instances/images.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@
1818
async_to_streamed_response_wrapper,
1919
)
2020
from ...._base_client import make_request_options
21-
from ....types.cloud.image import Image
2221
from ....types.cloud.instances import (
2322
image_get_params,
2423
image_list_params,
2524
image_update_params,
2625
image_upload_params,
2726
image_create_from_volume_params,
2827
)
29-
from ....types.cloud.image_list import ImageList
3028
from ....types.cloud.task_id_list import TaskIDList
29+
from ....types.cloud.instances.image import Image
30+
from ....types.cloud.instances.image_list import ImageList
3131
from ....types.cloud.tag_update_map_param import TagUpdateMapParam
3232

3333
__all__ = ["ImagesResource", "AsyncImagesResource"]

src/gcore/types/cloud/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
from .tag import Tag as Tag
66
from .task import Task as Task
7-
from .image import Image as Image
87
from .route import Route as Route
98
from .member import Member as Member
109
from .region import Region as Region
@@ -22,7 +21,6 @@
2221
from .gpu_image import GPUImage as GPUImage
2322
from .ip_ranges import IPRanges as IPRanges
2423
from .file_share import FileShare as FileShare
25-
from .image_list import ImageList as ImageList
2624
from .ip_version import IPVersion as IPVersion
2725
from .floating_ip import FloatingIP as FloatingIP
2826
from .http_method import HTTPMethod as HTTPMethod

src/gcore/types/cloud/baremetal/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22

33
from __future__ import annotations
44

5+
from .baremetal_image import BaremetalImage as BaremetalImage
56
from .baremetal_server import BaremetalServer as BaremetalServer
67
from .image_list_params import ImageListParams as ImageListParams
78
from .flavor_list_params import FlavorListParams as FlavorListParams
89
from .server_list_params import ServerListParams as ServerListParams
9-
from .image_list_response import ImageListResponse as ImageListResponse
10+
from .baremetal_image_list import BaremetalImageList as BaremetalImageList
1011
from .server_create_params import ServerCreateParams as ServerCreateParams
1112
from .server_delete_params import ServerDeleteParams as ServerDeleteParams
1213
from .server_update_params import ServerUpdateParams as ServerUpdateParams

src/gcore/types/cloud/baremetal/image_list_response.py renamed to src/gcore/types/cloud/baremetal/baremetal_image.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
from ..tag import Tag
88
from ...._models import BaseModel
99

10-
__all__ = ["ImageListResponse", "Result"]
10+
__all__ = ["BaremetalImage"]
1111

1212

13-
class Result(BaseModel):
13+
class BaremetalImage(BaseModel):
1414
id: str
1515
"""Image ID"""
1616

@@ -119,11 +119,3 @@ class Result(BaseModel):
119119

120120
visibility: str
121121
"""Image visibility. Globally visible images are public"""
122-
123-
124-
class ImageListResponse(BaseModel):
125-
count: int
126-
"""Number of objects"""
127-
128-
results: List[Result]
129-
"""Objects"""
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import List
4+
5+
from ...._models import BaseModel
6+
from .baremetal_image import BaremetalImage
7+
8+
__all__ = ["BaremetalImageList"]
9+
10+
11+
class BaremetalImageList(BaseModel):
12+
count: int
13+
"""Number of objects"""
14+
15+
results: List[BaremetalImage]
16+
"""Objects"""

src/gcore/types/cloud/instances/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
from __future__ import annotations
44

5+
from .image import Image as Image
56
from .metrics import Metrics as Metrics
7+
from .image_list import ImageList as ImageList
68
from .metrics_list import MetricsList as MetricsList
79
from .image_get_params import ImageGetParams as ImageGetParams
810
from .image_list_params import ImageListParams as ImageListParams
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from datetime import datetime
55
from typing_extensions import Literal
66

7-
from .tag import Tag
8-
from ..._models import BaseModel
7+
from ..tag import Tag
8+
from ...._models import BaseModel
99

1010
__all__ = ["Image"]
1111

0 commit comments

Comments
 (0)