SLO Status Corrections allow you to prevent specific time periods from negatively impacting
your SLO’s status and error budget. You can use Status Corrections for various purposes, such
as removing planned maintenance windows, non-business hours, or other time periods that do
not correspond to genuine issues.
"""
Create an SLO correction returns "OK" response
"""fromdatetimeimportdatetimefromdateutil.relativedeltaimportrelativedeltafromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.service_level_objective_corrections_apiimportServiceLevelObjectiveCorrectionsApifromdatadog_api_client.v1.model.slo_correction_categoryimportSLOCorrectionCategoryfromdatadog_api_client.v1.model.slo_correction_create_dataimportSLOCorrectionCreateDatafromdatadog_api_client.v1.model.slo_correction_create_requestimportSLOCorrectionCreateRequestfromdatadog_api_client.v1.model.slo_correction_create_request_attributesimportSLOCorrectionCreateRequestAttributesfromdatadog_api_client.v1.model.slo_correction_typeimportSLOCorrectionType# there is a valid "slo" in the systemSLO_DATA_0_ID=environ["SLO_DATA_0_ID"]body=SLOCorrectionCreateRequest(data=SLOCorrectionCreateData(attributes=SLOCorrectionCreateRequestAttributes(category=SLOCorrectionCategory("Scheduled Maintenance"),description="Example-Create_an_SLO_correction_returns_OK_response",end=int((datetime.now()+relativedelta(hours=1)).timestamp()),slo_id=SLO_DATA_0_ID,start=int(datetime.now().timestamp()),timezone="UTC",),type=SLOCorrectionType("correction"),),)configuration=Configuration()configuration.unstable_operations["create_slo_correction"]=TruewithApiClient(configuration)asapi_client:api_instance=ServiceLevelObjectiveCorrectionsApi(api_client)response=api_instance.create_slo_correction(body=body)print(response)
# Create an SLO correction returns "OK" responserequire"datadog_api_client"DatadogAPIClient::V2.configuredo|config|config.unstable_operations[:create_slo_correction]=trueendapi_instance=DatadogAPIClient::V1::ServiceLevelObjectiveCorrectionsAPI.new# there is a valid "slo" in the systemSLO_DATA_0_ID=ENV["SLO_DATA_0_ID"]body=DatadogAPIClient::V1::SLOCorrectionCreateRequest.new({data:DatadogAPIClient::V1::SLOCorrectionCreateData.new({attributes:DatadogAPIClient::V1::SLOCorrectionCreateRequestAttributes.new({category:DatadogAPIClient::V1::SLOCorrectionCategory::SCHEDULED_MAINTENANCE,description:"Example-Create_an_SLO_correction_returns_OK_response",_end:(Time.now+1*3600).to_i,slo_id:SLO_DATA_0_ID,start:Time.now.to_i,timezone:"UTC",}),type:DatadogAPIClient::V1::SLOCorrectionType::CORRECTION,}),})papi_instance.create_slo_correction(body)
/**
* Create an SLO correction returns "OK" response
*/import{v1}from"@datadog/datadog-api-client";constconfiguration=v1.createConfiguration();configuration.unstableOperations["createSLOCorrection"]=true;constapiInstance=newv1.ServiceLevelObjectiveCorrectionsApi(configuration);// there is a valid "slo" in the system
constSLO_DATA_0_ID=process.env.SLO_DATA_0_IDasstring;constparams: v1.ServiceLevelObjectiveCorrectionsApiCreateSLOCorrectionRequest={body:{data:{attributes:{category:"Scheduled Maintenance",description:"Example-Create_an_SLO_correction_returns_OK_response",end:
newDate(newDate().getTime()/1000+1*3600).getTime()/1000,sloId: SLO_DATA_0_ID,start: newDate().getTime()/1000,timezone:"UTC",},type:"correction",},},};apiInstance.createSLOCorrection(params).then((data: v1.SLOCorrectionResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
// Create an SLO correction returns "OK" response
packagemainimport("context""encoding/json""fmt""os""time"datadog"github.com/DataDog/datadog-api-client-go/api/v1/datadog")funcmain(){// there is a valid "slo" in the system
SloData0ID:=os.Getenv("SLO_DATA_0_ID")body:=datadog.SLOCorrectionCreateRequest{Data:&datadog.SLOCorrectionCreateData{Attributes:&datadog.SLOCorrectionCreateRequestAttributes{Category:datadog.SLOCORRECTIONCATEGORY_SCHEDULED_MAINTENANCE,Description:datadog.PtrString("Example-Create_an_SLO_correction_returns_OK_response"),End:datadog.PtrInt64(time.Now().Add(time.Hour*1).Unix()),SloId:SloData0ID,Start:time.Now().Unix(),Timezone:datadog.PtrString("UTC"),},Type:datadog.SLOCORRECTIONTYPE_CORRECTION,},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()configuration.SetUnstableOperationEnabled("CreateSLOCorrection",true)apiClient:=datadog.NewAPIClient(configuration)resp,r,err:=apiClient.ServiceLevelObjectiveCorrectionsApi.CreateSLOCorrection(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `ServiceLevelObjectiveCorrectionsApi.CreateSLOCorrection`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `ServiceLevelObjectiveCorrectionsApi.CreateSLOCorrection`:\n%s\n",responseContent)}
// Create an SLO correction returns "OK" response
importcom.datadog.api.v1.client.ApiClient;importcom.datadog.api.v1.client.ApiException;importcom.datadog.api.v1.client.Configuration;importcom.datadog.api.v1.client.api.ServiceLevelObjectiveCorrectionsApi;importcom.datadog.api.v1.client.model.SLOCorrectionCategory;importcom.datadog.api.v1.client.model.SLOCorrectionCreateData;importcom.datadog.api.v1.client.model.SLOCorrectionCreateRequest;importcom.datadog.api.v1.client.model.SLOCorrectionCreateRequestAttributes;importcom.datadog.api.v1.client.model.SLOCorrectionResponse;importcom.datadog.api.v1.client.model.SLOCorrectionType;importjava.time.OffsetDateTime;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=Configuration.getDefaultApiClient();defaultClient.setUnstableOperationEnabled("createSloCorrection",true);ServiceLevelObjectiveCorrectionsApiapiInstance=newServiceLevelObjectiveCorrectionsApi(defaultClient);// there is a valid "slo" in the system
StringSLO_DATA_0_ID=System.getenv("SLO_DATA_0_ID");SLOCorrectionCreateRequestbody=newSLOCorrectionCreateRequest().data(newSLOCorrectionCreateData().attributes(newSLOCorrectionCreateRequestAttributes().category(SLOCorrectionCategory.SCHEDULED_MAINTENANCE).description("Example-Create_an_SLO_correction_returns_OK_response").end(OffsetDateTime.now().plusHours(1).toInstant().getEpochSecond()).sloId(SLO_DATA_0_ID).start(OffsetDateTime.now().toInstant().getEpochSecond()).timezone("UTC")).type(SLOCorrectionType.CORRECTION));try{SLOCorrectionResponseresult=apiInstance.createSLOCorrection(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling ServiceLevelObjectiveCorrectionsApi#createSLOCorrection");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Get all SLO corrections returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.service_level_objective_corrections_apiimportServiceLevelObjectiveCorrectionsApiconfiguration=Configuration()configuration.unstable_operations["list_slo_correction"]=TruewithApiClient(configuration)asapi_client:api_instance=ServiceLevelObjectiveCorrectionsApi(api_client)response=api_instance.list_slo_correction()print(response)
# Get all SLO corrections returns "OK" responserequire"datadog_api_client"DatadogAPIClient::V2.configuredo|config|config.unstable_operations[:list_slo_correction]=trueendapi_instance=DatadogAPIClient::V1::ServiceLevelObjectiveCorrectionsAPI.newpapi_instance.list_slo_correction()
/**
* Get all SLO corrections returns "OK" response
*/import{v1}from"@datadog/datadog-api-client";constconfiguration=v1.createConfiguration();configuration.unstableOperations["listSLOCorrection"]=true;constapiInstance=newv1.ServiceLevelObjectiveCorrectionsApi(configuration);apiInstance.listSLOCorrection().then((data: v1.SLOCorrectionListResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
// Get all SLO corrections returns "OK" response
packagemainimport("context""encoding/json""fmt""os"datadog"github.com/DataDog/datadog-api-client-go/api/v1/datadog")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()configuration.SetUnstableOperationEnabled("ListSLOCorrection",true)apiClient:=datadog.NewAPIClient(configuration)resp,r,err:=apiClient.ServiceLevelObjectiveCorrectionsApi.ListSLOCorrection(ctx)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `ServiceLevelObjectiveCorrectionsApi.ListSLOCorrection`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `ServiceLevelObjectiveCorrectionsApi.ListSLOCorrection`:\n%s\n",responseContent)}
"""
Get an SLO correction for an SLO returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.service_level_objective_corrections_apiimportServiceLevelObjectiveCorrectionsApi# there is a valid "correction" for "slo"CORRECTION_DATA_ID=environ["CORRECTION_DATA_ID"]configuration=Configuration()configuration.unstable_operations["get_slo_correction"]=TruewithApiClient(configuration)asapi_client:api_instance=ServiceLevelObjectiveCorrectionsApi(api_client)response=api_instance.get_slo_correction(slo_correction_id=CORRECTION_DATA_ID,)print(response)
# Get an SLO correction for an SLO returns "OK" responserequire"datadog_api_client"DatadogAPIClient::V2.configuredo|config|config.unstable_operations[:get_slo_correction]=trueendapi_instance=DatadogAPIClient::V1::ServiceLevelObjectiveCorrectionsAPI.new# there is a valid "correction" for "slo"CORRECTION_DATA_ID=ENV["CORRECTION_DATA_ID"]papi_instance.get_slo_correction(CORRECTION_DATA_ID)
/**
* Get an SLO correction for an SLO returns "OK" response
*/import{v1}from"@datadog/datadog-api-client";constconfiguration=v1.createConfiguration();configuration.unstableOperations["getSLOCorrection"]=true;constapiInstance=newv1.ServiceLevelObjectiveCorrectionsApi(configuration);// there is a valid "correction" for "slo"
constCORRECTION_DATA_ID=process.env.CORRECTION_DATA_IDasstring;constparams: v1.ServiceLevelObjectiveCorrectionsApiGetSLOCorrectionRequest={sloCorrectionId: CORRECTION_DATA_ID,};apiInstance.getSLOCorrection(params).then((data: v1.SLOCorrectionResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
// Get an SLO correction for an SLO returns "OK" response
packagemainimport("context""encoding/json""fmt""os"datadog"github.com/DataDog/datadog-api-client-go/api/v1/datadog")funcmain(){// there is a valid "correction" for "slo"
CorrectionDataID:=os.Getenv("CORRECTION_DATA_ID")ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()configuration.SetUnstableOperationEnabled("GetSLOCorrection",true)apiClient:=datadog.NewAPIClient(configuration)resp,r,err:=apiClient.ServiceLevelObjectiveCorrectionsApi.GetSLOCorrection(ctx,CorrectionDataID)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `ServiceLevelObjectiveCorrectionsApi.GetSLOCorrection`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `ServiceLevelObjectiveCorrectionsApi.GetSLOCorrection`:\n%s\n",responseContent)}
// Get an SLO correction for an SLO returns "OK" response
importcom.datadog.api.v1.client.ApiClient;importcom.datadog.api.v1.client.ApiException;importcom.datadog.api.v1.client.Configuration;importcom.datadog.api.v1.client.api.ServiceLevelObjectiveCorrectionsApi;importcom.datadog.api.v1.client.model.SLOCorrectionResponse;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=Configuration.getDefaultApiClient();defaultClient.setUnstableOperationEnabled("getSloCorrection",true);ServiceLevelObjectiveCorrectionsApiapiInstance=newServiceLevelObjectiveCorrectionsApi(defaultClient);// there is a valid "correction" for "slo"
StringCORRECTION_DATA_ID=System.getenv("CORRECTION_DATA_ID");try{SLOCorrectionResponseresult=apiInstance.getSLOCorrection(CORRECTION_DATA_ID);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling ServiceLevelObjectiveCorrectionsApi#getSLOCorrection");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Update an SLO correction returns "OK" response
"""fromdatetimeimportdatetimefromdateutil.relativedeltaimportrelativedeltafromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.service_level_objective_corrections_apiimportServiceLevelObjectiveCorrectionsApifromdatadog_api_client.v1.model.slo_correction_categoryimportSLOCorrectionCategoryfromdatadog_api_client.v1.model.slo_correction_typeimportSLOCorrectionTypefromdatadog_api_client.v1.model.slo_correction_update_dataimportSLOCorrectionUpdateDatafromdatadog_api_client.v1.model.slo_correction_update_requestimportSLOCorrectionUpdateRequestfromdatadog_api_client.v1.model.slo_correction_update_request_attributesimportSLOCorrectionUpdateRequestAttributes# there is a valid "correction" for "slo"CORRECTION_DATA_ID=environ["CORRECTION_DATA_ID"]body=SLOCorrectionUpdateRequest(data=SLOCorrectionUpdateData(attributes=SLOCorrectionUpdateRequestAttributes(category=SLOCorrectionCategory("Deployment"),description="Example-Update_an_SLO_correction_returns_OK_response",end=int((datetime.now()+relativedelta(hours=1)).timestamp()),start=int(datetime.now().timestamp()),timezone="UTC",),type=SLOCorrectionType("correction"),),)configuration=Configuration()configuration.unstable_operations["update_slo_correction"]=TruewithApiClient(configuration)asapi_client:api_instance=ServiceLevelObjectiveCorrectionsApi(api_client)response=api_instance.update_slo_correction(slo_correction_id=CORRECTION_DATA_ID,body=body)print(response)
# Update an SLO correction returns "OK" responserequire"datadog_api_client"DatadogAPIClient::V2.configuredo|config|config.unstable_operations[:update_slo_correction]=trueendapi_instance=DatadogAPIClient::V1::ServiceLevelObjectiveCorrectionsAPI.new# there is a valid "correction" for "slo"CORRECTION_DATA_ID=ENV["CORRECTION_DATA_ID"]body=DatadogAPIClient::V1::SLOCorrectionUpdateRequest.new({data:DatadogAPIClient::V1::SLOCorrectionUpdateData.new({attributes:DatadogAPIClient::V1::SLOCorrectionUpdateRequestAttributes.new({category:DatadogAPIClient::V1::SLOCorrectionCategory::DEPLOYMENT,description:"Example-Update_an_SLO_correction_returns_OK_response",_end:(Time.now+1*3600).to_i,start:Time.now.to_i,timezone:"UTC",}),type:DatadogAPIClient::V1::SLOCorrectionType::CORRECTION,}),})papi_instance.update_slo_correction(CORRECTION_DATA_ID,body)
/**
* Update an SLO correction returns "OK" response
*/import{v1}from"@datadog/datadog-api-client";constconfiguration=v1.createConfiguration();configuration.unstableOperations["updateSLOCorrection"]=true;constapiInstance=newv1.ServiceLevelObjectiveCorrectionsApi(configuration);// there is a valid "correction" for "slo"
constCORRECTION_DATA_ID=process.env.CORRECTION_DATA_IDasstring;constparams: v1.ServiceLevelObjectiveCorrectionsApiUpdateSLOCorrectionRequest={body:{data:{attributes:{category:"Deployment",description:"Example-Update_an_SLO_correction_returns_OK_response",end:
newDate(newDate().getTime()/1000+1*3600).getTime()/1000,start: newDate().getTime()/1000,timezone:"UTC",},type:"correction",},},sloCorrectionId: CORRECTION_DATA_ID,};apiInstance.updateSLOCorrection(params).then((data: v1.SLOCorrectionResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
// Update an SLO correction returns "OK" response
packagemainimport("context""encoding/json""fmt""os""time"datadog"github.com/DataDog/datadog-api-client-go/api/v1/datadog")funcmain(){// there is a valid "correction" for "slo"
CorrectionDataID:=os.Getenv("CORRECTION_DATA_ID")body:=datadog.SLOCorrectionUpdateRequest{Data:&datadog.SLOCorrectionUpdateData{Attributes:&datadog.SLOCorrectionUpdateRequestAttributes{Category:datadog.SLOCORRECTIONCATEGORY_DEPLOYMENT.Ptr(),Description:datadog.PtrString("Example-Update_an_SLO_correction_returns_OK_response"),End:datadog.PtrInt64(time.Now().Add(time.Hour*1).Unix()),Start:datadog.PtrInt64(time.Now().Unix()),Timezone:datadog.PtrString("UTC"),},Type:datadog.SLOCORRECTIONTYPE_CORRECTION.Ptr(),},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()configuration.SetUnstableOperationEnabled("UpdateSLOCorrection",true)apiClient:=datadog.NewAPIClient(configuration)resp,r,err:=apiClient.ServiceLevelObjectiveCorrectionsApi.UpdateSLOCorrection(ctx,CorrectionDataID,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `ServiceLevelObjectiveCorrectionsApi.UpdateSLOCorrection`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `ServiceLevelObjectiveCorrectionsApi.UpdateSLOCorrection`:\n%s\n",responseContent)}
// Update an SLO correction returns "OK" response
importcom.datadog.api.v1.client.ApiClient;importcom.datadog.api.v1.client.ApiException;importcom.datadog.api.v1.client.Configuration;importcom.datadog.api.v1.client.api.ServiceLevelObjectiveCorrectionsApi;importcom.datadog.api.v1.client.model.SLOCorrectionCategory;importcom.datadog.api.v1.client.model.SLOCorrectionResponse;importcom.datadog.api.v1.client.model.SLOCorrectionType;importcom.datadog.api.v1.client.model.SLOCorrectionUpdateData;importcom.datadog.api.v1.client.model.SLOCorrectionUpdateRequest;importcom.datadog.api.v1.client.model.SLOCorrectionUpdateRequestAttributes;importjava.time.OffsetDateTime;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=Configuration.getDefaultApiClient();defaultClient.setUnstableOperationEnabled("updateSloCorrection",true);ServiceLevelObjectiveCorrectionsApiapiInstance=newServiceLevelObjectiveCorrectionsApi(defaultClient);// there is a valid "correction" for "slo"
StringCORRECTION_DATA_ID=System.getenv("CORRECTION_DATA_ID");SLOCorrectionUpdateRequestbody=newSLOCorrectionUpdateRequest().data(newSLOCorrectionUpdateData().attributes(newSLOCorrectionUpdateRequestAttributes().category(SLOCorrectionCategory.DEPLOYMENT).description("Example-Update_an_SLO_correction_returns_OK_response").end(OffsetDateTime.now().plusHours(1).toInstant().getEpochSecond()).start(OffsetDateTime.now().toInstant().getEpochSecond()).timezone("UTC")).type(SLOCorrectionType.CORRECTION));try{SLOCorrectionResponseresult=apiInstance.updateSLOCorrection(CORRECTION_DATA_ID,body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling ServiceLevelObjectiveCorrectionsApi#updateSLOCorrection");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}