@@ -63,6 +63,7 @@ import {
6363 unmarshalListPrivilegesResponse ,
6464 unmarshalListSnapshotsResponse ,
6565 unmarshalListUsersResponse ,
66+ unmarshalMaintenance ,
6667 unmarshalPrepareInstanceLogsResponse ,
6768 unmarshalPrivilege ,
6869 unmarshalReadReplica ,
@@ -76,6 +77,7 @@ import type {
7677 AddInstanceACLRulesResponse ,
7778 AddInstanceSettingsRequest ,
7879 AddInstanceSettingsResponse ,
80+ ApplyInstanceMaintenanceRequest ,
7981 CloneInstanceRequest ,
8082 CreateDatabaseBackupRequest ,
8183 CreateDatabaseRequest ,
@@ -134,6 +136,7 @@ import type {
134136 ListSnapshotsResponse ,
135137 ListUsersRequest ,
136138 ListUsersResponse ,
139+ Maintenance ,
137140 MigrateEndpointRequest ,
138141 PrepareInstanceLogsRequest ,
139142 PrepareInstanceLogsResponse ,
@@ -1509,4 +1512,27 @@ export class API extends ParentAPI {
15091512 } ,
15101513 unmarshalEndpoint ,
15111514 )
1515+
1516+ /**
1517+ * Apply Database Instance maintenance. Apply maintenance tasks to your
1518+ * Database Instance. This will trigger pending maintenance tasks to start in
1519+ * your Database Instance and can generate service interruption. Maintenance
1520+ * tasks can be applied between `starts_at` and `stops_at` times, and are run
1521+ * directly by Scaleway at `forced_at` timestamp.
1522+ *
1523+ * @param request - The request {@link ApplyInstanceMaintenanceRequest}
1524+ * @returns A Promise of Maintenance
1525+ */
1526+ applyInstanceMaintenance = (
1527+ request : Readonly < ApplyInstanceMaintenanceRequest > ,
1528+ ) =>
1529+ this . client . fetch < Maintenance > (
1530+ {
1531+ body : '{}' ,
1532+ headers : jsonContentHeaders ,
1533+ method : 'POST' ,
1534+ path : `/rdb/v1/regions/${ validatePathParam ( 'region' , request . region ?? this . client . settings . defaultRegion ) } /instances/${ validatePathParam ( 'instanceId' , request . instanceId ) } /apply-maintenance` ,
1535+ } ,
1536+ unmarshalMaintenance ,
1537+ )
15121538}
0 commit comments