@@ -46,6 +46,7 @@ type MaintenanceWindowsService interface {
4646 Get (context.Context , string ) (* MaintenanceWindow , * Response , error )
4747 Update (context.Context , string , * MaintenanceWindow ) (* Response , error )
4848 Defer (context.Context , string ) (* Response , error )
49+ AutoDefer (context.Context , string ) (* Response , error )
4950 Reset (context.Context , string ) (* Response , error )
5051}
5152
@@ -132,6 +133,26 @@ func (s *MaintenanceWindowsServiceOp) Defer(ctx context.Context, groupID string)
132133 return resp , err
133134}
134135
136+ // AutoDefer any scheduled maintenance for the given project for one week.
137+ //
138+ // See more: https://docs.atlas.mongodb.com/reference/api/maintenance-window-auto-defer/
139+ func (s * MaintenanceWindowsServiceOp ) AutoDefer (ctx context.Context , groupID string ) (* Response , error ) {
140+ if groupID == "" {
141+ return nil , NewArgError ("groupID" , "cannot be nil" )
142+ }
143+
144+ path := fmt .Sprintf (maintenanceWindowsPath + "/autoDefer" , groupID )
145+
146+ req , err := s .Client .NewRequest (ctx , http .MethodPost , path , nil )
147+ if err != nil {
148+ return nil , err
149+ }
150+
151+ resp , err := s .Client .Do (ctx , req , nil )
152+
153+ return resp , err
154+ }
155+
135156// Reset clears the current maintenance window for the given project.
136157//
137158// See more: https://docs.atlas.mongodb.com/reference/api/maintenance-window-clear/
0 commit comments