Skip to content

Commit 68b693f

Browse files
feat(api): add warm pool methods to prebuilds
1 parent 3d511c6 commit 68b693f

19 files changed

+1470
-4
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 175
1+
configured_endpoints: 180
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod%2Fgitpod-aff091b0b0cbc5539f259dec6aa0f89853d79ad407b3252f769a6f90422dd0df.yml
33
openapi_spec_hash: a6873fd8f07ec0b9ecdc85d187ac4129
4-
config_hash: 834f0fffab6de425144c4705fcd7228a
4+
config_hash: 0ec0dc7b6891f666565cf1521a8d172f

api.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,10 +527,18 @@ from gitpod.types import (
527527
PrebuildSpec,
528528
PrebuildStatus,
529529
PrebuildTrigger,
530+
WarmPool,
531+
WarmPoolMetadata,
532+
WarmPoolPhase,
533+
WarmPoolSpec,
534+
WarmPoolStatus,
530535
PrebuildCreateResponse,
531536
PrebuildRetrieveResponse,
532537
PrebuildCancelResponse,
533538
PrebuildCreateLogsTokenResponse,
539+
PrebuildCreateWarmPoolResponse,
540+
PrebuildRetrieveWarmPoolResponse,
541+
PrebuildUpdateWarmPoolResponse,
534542
)
535543
```
536544

@@ -542,6 +550,11 @@ Methods:
542550
- <code title="post /gitpod.v1.PrebuildService/DeletePrebuild">client.prebuilds.<a href="./src/gitpod/resources/prebuilds.py">delete</a>(\*\*<a href="src/gitpod/types/prebuild_delete_params.py">params</a>) -> object</code>
543551
- <code title="post /gitpod.v1.PrebuildService/CancelPrebuild">client.prebuilds.<a href="./src/gitpod/resources/prebuilds.py">cancel</a>(\*\*<a href="src/gitpod/types/prebuild_cancel_params.py">params</a>) -> <a href="./src/gitpod/types/prebuild_cancel_response.py">PrebuildCancelResponse</a></code>
544552
- <code title="post /gitpod.v1.PrebuildService/CreatePrebuildLogsToken">client.prebuilds.<a href="./src/gitpod/resources/prebuilds.py">create_logs_token</a>(\*\*<a href="src/gitpod/types/prebuild_create_logs_token_params.py">params</a>) -> <a href="./src/gitpod/types/prebuild_create_logs_token_response.py">PrebuildCreateLogsTokenResponse</a></code>
553+
- <code title="post /gitpod.v1.PrebuildService/CreateWarmPool">client.prebuilds.<a href="./src/gitpod/resources/prebuilds.py">create_warm_pool</a>(\*\*<a href="src/gitpod/types/prebuild_create_warm_pool_params.py">params</a>) -> <a href="./src/gitpod/types/prebuild_create_warm_pool_response.py">PrebuildCreateWarmPoolResponse</a></code>
554+
- <code title="post /gitpod.v1.PrebuildService/DeleteWarmPool">client.prebuilds.<a href="./src/gitpod/resources/prebuilds.py">delete_warm_pool</a>(\*\*<a href="src/gitpod/types/prebuild_delete_warm_pool_params.py">params</a>) -> object</code>
555+
- <code title="post /gitpod.v1.PrebuildService/ListWarmPools">client.prebuilds.<a href="./src/gitpod/resources/prebuilds.py">list_warm_pools</a>(\*\*<a href="src/gitpod/types/prebuild_list_warm_pools_params.py">params</a>) -> <a href="./src/gitpod/types/warm_pool.py">SyncWarmPoolsPage[WarmPool]</a></code>
556+
- <code title="post /gitpod.v1.PrebuildService/GetWarmPool">client.prebuilds.<a href="./src/gitpod/resources/prebuilds.py">retrieve_warm_pool</a>(\*\*<a href="src/gitpod/types/prebuild_retrieve_warm_pool_params.py">params</a>) -> <a href="./src/gitpod/types/prebuild_retrieve_warm_pool_response.py">PrebuildRetrieveWarmPoolResponse</a></code>
557+
- <code title="post /gitpod.v1.PrebuildService/UpdateWarmPool">client.prebuilds.<a href="./src/gitpod/resources/prebuilds.py">update_warm_pool</a>(\*\*<a href="src/gitpod/types/prebuild_update_warm_pool_params.py">params</a>) -> <a href="./src/gitpod/types/prebuild_update_warm_pool_response.py">PrebuildUpdateWarmPoolResponse</a></code>
545558

546559
# Projects
547560

src/gitpod/pagination.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@
9999
"TokensPagePagination",
100100
"SyncTokensPage",
101101
"AsyncTokensPage",
102+
"WarmPoolsPagePagination",
103+
"SyncWarmPoolsPage",
104+
"AsyncWarmPoolsPage",
102105
]
103106

104107
_T = TypeVar("_T")
@@ -1602,3 +1605,53 @@ def next_page_info(self) -> Optional[PageInfo]:
16021605
return None
16031606

16041607
return PageInfo(params={"token": next_token})
1608+
1609+
1610+
class WarmPoolsPagePagination(BaseModel):
1611+
next_token: Optional[str] = FieldInfo(alias="nextToken", default=None)
1612+
1613+
1614+
class SyncWarmPoolsPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
1615+
pagination: Optional[WarmPoolsPagePagination] = None
1616+
warm_pools: List[_T] = FieldInfo(alias="warmPools")
1617+
1618+
@override
1619+
def _get_page_items(self) -> List[_T]:
1620+
warm_pools = self.warm_pools
1621+
if not warm_pools:
1622+
return []
1623+
return warm_pools
1624+
1625+
@override
1626+
def next_page_info(self) -> Optional[PageInfo]:
1627+
next_token = None
1628+
if self.pagination is not None:
1629+
if self.pagination.next_token is not None:
1630+
next_token = self.pagination.next_token
1631+
if not next_token:
1632+
return None
1633+
1634+
return PageInfo(params={"token": next_token})
1635+
1636+
1637+
class AsyncWarmPoolsPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
1638+
pagination: Optional[WarmPoolsPagePagination] = None
1639+
warm_pools: List[_T] = FieldInfo(alias="warmPools")
1640+
1641+
@override
1642+
def _get_page_items(self) -> List[_T]:
1643+
warm_pools = self.warm_pools
1644+
if not warm_pools:
1645+
return []
1646+
return warm_pools
1647+
1648+
@override
1649+
def next_page_info(self) -> Optional[PageInfo]:
1650+
next_token = None
1651+
if self.pagination is not None:
1652+
if self.pagination.next_token is not None:
1653+
next_token = self.pagination.next_token
1654+
if not next_token:
1655+
return None
1656+
1657+
return PageInfo(params={"token": next_token})

0 commit comments

Comments
 (0)