@@ -284,6 +284,134 @@ func (a *ServiceLevelObjectivesApi) GetSLOReportJobStatus(ctx _context.Context,
284284 return localVarReturnValue , localVarHTTPResponse , nil
285285}
286286
287+ // GetSloStatusOptionalParameters holds optional parameters for GetSloStatus.
288+ type GetSloStatusOptionalParameters struct {
289+ DisableCorrections * bool
290+ }
291+
292+ // NewGetSloStatusOptionalParameters creates an empty struct for parameters.
293+ func NewGetSloStatusOptionalParameters () * GetSloStatusOptionalParameters {
294+ this := GetSloStatusOptionalParameters {}
295+ return & this
296+ }
297+
298+ // WithDisableCorrections sets the corresponding parameter name and returns the struct.
299+ func (r * GetSloStatusOptionalParameters ) WithDisableCorrections (disableCorrections bool ) * GetSloStatusOptionalParameters {
300+ r .DisableCorrections = & disableCorrections
301+ return r
302+ }
303+
304+ // GetSloStatus Get SLO status.
305+ // Get the status of a Service Level Objective (SLO) for a given time period.
306+ //
307+ // This endpoint returns the current SLI value, error budget remaining, and other status information for the specified SLO.
308+ func (a * ServiceLevelObjectivesApi ) GetSloStatus (ctx _context.Context , sloId string , fromTs int64 , toTs int64 , o ... GetSloStatusOptionalParameters ) (SloStatusResponse , * _nethttp.Response , error ) {
309+ var (
310+ localVarHTTPMethod = _nethttp .MethodGet
311+ localVarPostBody interface {}
312+ localVarReturnValue SloStatusResponse
313+ optionalParams GetSloStatusOptionalParameters
314+ )
315+
316+ if len (o ) > 1 {
317+ return localVarReturnValue , nil , datadog .ReportError ("only one argument of type GetSloStatusOptionalParameters is allowed" )
318+ }
319+ if len (o ) == 1 {
320+ optionalParams = o [0 ]
321+ }
322+
323+ operationId := "v2.GetSloStatus"
324+ isOperationEnabled := a .Client .Cfg .IsUnstableOperationEnabled (operationId )
325+ if ! isOperationEnabled {
326+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : _fmt .Sprintf ("Unstable operation '%s' is disabled" , operationId )}
327+ }
328+ if isOperationEnabled && a .Client .Cfg .Debug {
329+ _log .Printf ("WARNING: Using unstable operation '%s'" , operationId )
330+ }
331+
332+ localBasePath , err := a .Client .Cfg .ServerURLWithContext (ctx , "v2.ServiceLevelObjectivesApi.GetSloStatus" )
333+ if err != nil {
334+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : err .Error ()}
335+ }
336+
337+ localVarPath := localBasePath + "/api/v2/slo/{slo_id}/status"
338+ localVarPath = datadog .ReplacePathParameter (localVarPath , "{slo_id}" , _neturl .PathEscape (datadog .ParameterToString (sloId , "" )))
339+
340+ localVarHeaderParams := make (map [string ]string )
341+ localVarQueryParams := _neturl.Values {}
342+ localVarFormParams := _neturl.Values {}
343+ localVarQueryParams .Add ("from_ts" , datadog .ParameterToString (fromTs , "" ))
344+ localVarQueryParams .Add ("to_ts" , datadog .ParameterToString (toTs , "" ))
345+ if optionalParams .DisableCorrections != nil {
346+ localVarQueryParams .Add ("disable_corrections" , datadog .ParameterToString (* optionalParams .DisableCorrections , "" ))
347+ }
348+ localVarHeaderParams ["Accept" ] = "application/json"
349+
350+ if a .Client .Cfg .DelegatedTokenConfig != nil {
351+ err = datadog .UseDelegatedTokenAuth (ctx , & localVarHeaderParams , a .Client .Cfg .DelegatedTokenConfig )
352+ if err != nil {
353+ return localVarReturnValue , nil , err
354+ }
355+ } else {
356+ datadog .SetAuthKeys (
357+ ctx ,
358+ & localVarHeaderParams ,
359+ [2 ]string {"apiKeyAuth" , "DD-API-KEY" },
360+ [2 ]string {"appKeyAuth" , "DD-APPLICATION-KEY" },
361+ )
362+ }
363+ req , err := a .Client .PrepareRequest (ctx , localVarPath , localVarHTTPMethod , localVarPostBody , localVarHeaderParams , localVarQueryParams , localVarFormParams , nil )
364+ if err != nil {
365+ return localVarReturnValue , nil , err
366+ }
367+
368+ localVarHTTPResponse , err := a .Client .CallAPI (req )
369+ if err != nil || localVarHTTPResponse == nil {
370+ return localVarReturnValue , localVarHTTPResponse , err
371+ }
372+
373+ localVarBody , err := datadog .ReadBody (localVarHTTPResponse )
374+ if err != nil {
375+ return localVarReturnValue , localVarHTTPResponse , err
376+ }
377+
378+ if localVarHTTPResponse .StatusCode >= 300 {
379+ newErr := datadog.GenericOpenAPIError {
380+ ErrorBody : localVarBody ,
381+ ErrorMessage : localVarHTTPResponse .Status ,
382+ }
383+ if localVarHTTPResponse .StatusCode == 400 || localVarHTTPResponse .StatusCode == 403 || localVarHTTPResponse .StatusCode == 404 {
384+ var v JSONAPIErrorResponse
385+ err = a .Client .Decode (& v , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
386+ if err != nil {
387+ return localVarReturnValue , localVarHTTPResponse , newErr
388+ }
389+ newErr .ErrorModel = v
390+ return localVarReturnValue , localVarHTTPResponse , newErr
391+ }
392+ if localVarHTTPResponse .StatusCode == 429 {
393+ var v APIErrorResponse
394+ err = a .Client .Decode (& v , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
395+ if err != nil {
396+ return localVarReturnValue , localVarHTTPResponse , newErr
397+ }
398+ newErr .ErrorModel = v
399+ }
400+ return localVarReturnValue , localVarHTTPResponse , newErr
401+ }
402+
403+ err = a .Client .Decode (& localVarReturnValue , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
404+ if err != nil {
405+ newErr := datadog.GenericOpenAPIError {
406+ ErrorBody : localVarBody ,
407+ ErrorMessage : err .Error (),
408+ }
409+ return localVarReturnValue , localVarHTTPResponse , newErr
410+ }
411+
412+ return localVarReturnValue , localVarHTTPResponse , nil
413+ }
414+
287415// NewServiceLevelObjectivesApi Returns NewServiceLevelObjectivesApi.
288416func NewServiceLevelObjectivesApi (client * datadog.APIClient ) * ServiceLevelObjectivesApi {
289417 return & ServiceLevelObjectivesApi {
0 commit comments