Skip to content

Commit e368cc3

Browse files
authored
#55 Added database idle time (#65)
1 parent ed34701 commit e368cc3

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

doc/changes/unreleased.md

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
* #55 Added publicly callable function finding the database id from its name.
1212
* #60: Added download of `openapi.json` when generating python client
13+
* #64: Add an optional idle time parameter to the database factory.
1314

1415
## Documentation
1516

exasol/saas/client/api_access.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -179,16 +179,18 @@ def create_database(
179179
name: str,
180180
cluster_size: str = "XS",
181181
region: str = "eu-central-1",
182+
idle_time: timedelta | None = None
182183
) -> Optional[openapi.models.Database]:
183184
def minutes(x: timedelta) -> int:
184185
return x.seconds // 60
185186

187+
idle_time = idle_time or Limits.AUTOSTOP_MIN_IDLE_TIME
186188
cluster_spec = openapi.models.CreateDatabaseInitialCluster(
187189
name="my-cluster",
188190
size=cluster_size,
189191
auto_stop=openapi.models.AutoStop(
190192
enabled=True,
191-
idle_time=minutes(Limits.AUTOSTOP_MIN_IDLE_TIME),
193+
idle_time=minutes(idle_time),
192194
),
193195
)
194196
LOG.info(f"Creating database {name}")
@@ -225,11 +227,12 @@ def database(
225227
name: str,
226228
keep: bool = False,
227229
ignore_delete_failure: bool = False,
230+
idle_time: timedelta | None = None
228231
):
229232
db = None
230233
start = datetime.now()
231234
try:
232-
db = self.create_database(name)
235+
db = self.create_database(name, idle_time=idle_time)
233236
yield db
234237
wait_for_delete_clearance(start)
235238
finally:

0 commit comments

Comments
 (0)