Get a list of individual cloud commitments (Reserved Instances or Savings Plans) with their utilization details. The response schema varies based on the provider, product, and commitment type.
This endpoint requires the cloud_cost_management_read permission.
OAuth apps require the cloud_cost_management_read authorization scope to access this endpoint.
Arguments
Query Strings
Name
Type
Description
provider [required]
enum
Cloud provider for commitment programs (aws or azure). Allowed enum values: aws, azure
product [required]
string
Cloud product identifier (for example, ec2, rds, virtualmachines).
start [required]
integer
Start of the query time range in Unix milliseconds.
end [required]
integer
End of the query time range in Unix milliseconds.
filterBy
string
Optional filter expression to narrow down results.
commitmentType
enum
Type of commitment to query. ri for Reserved Instances, sp for Savings Plans. Defaults to ri. Allowed enum values: ri, sp
"""
Get commitments list returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.cloud_cost_management_apiimportCloudCostManagementApifromdatadog_api_client.v2.model.commitments_providerimportCommitmentsProviderconfiguration=Configuration()configuration.unstable_operations["get_commitments_commitment_list"]=TruewithApiClient(configuration)asapi_client:api_instance=CloudCostManagementApi(api_client)response=api_instance.get_commitments_commitment_list(provider=CommitmentsProvider.AWS,product="product",start=9223372036854775807,end=9223372036854775807,)print(response)
# Get commitments list returns "OK" responserequire"datadog_api_client"DatadogAPIClient.configuredo|config|config.unstable_operations["v2.get_commitments_commitment_list".to_sym]=trueendapi_instance=DatadogAPIClient::V2::CloudCostManagementAPI.newpapi_instance.get_commitments_commitment_list(CommitmentsProvider::AWS,"product",9223372036854775807,9223372036854775807)
// Get commitments list returns "OK" responsepackagemainimport("context""encoding/json""fmt""os""github.com/DataDog/datadog-api-client-go/v2/api/datadog""github.com/DataDog/datadog-api-client-go/v2/api/datadogV2")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()configuration.SetUnstableOperationEnabled("v2.GetCommitmentsCommitmentList",true)apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewCloudCostManagementApi(apiClient)resp,r,err:=api.GetCommitmentsCommitmentList(ctx,datadogV2.COMMITMENTSPROVIDER_AWS,"product",9223372036854775807,9223372036854775807,*datadogV2.NewGetCommitmentsCommitmentListOptionalParameters())iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `CloudCostManagementApi.GetCommitmentsCommitmentList`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `CloudCostManagementApi.GetCommitmentsCommitmentList`:\n%s\n",responseContent)}
// Get commitments list returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.CloudCostManagementApi;importcom.datadog.api.client.v2.model.CommitmentsListResponse;importcom.datadog.api.client.v2.model.CommitmentsProvider;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();defaultClient.setUnstableOperationEnabled("v2.getCommitmentsCommitmentList",true);CloudCostManagementApiapiInstance=newCloudCostManagementApi(defaultClient);try{CommitmentsListResponseresult=apiInstance.getCommitmentsCommitmentList(CommitmentsProvider.AWS,"ec2",1693526400000L,1696118400000L);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling CloudCostManagementApi#getCommitmentsCommitmentList");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get commitments list returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_cloud_cost_management::CloudCostManagementAPI;usedatadog_api_client::datadogV2::api_cloud_cost_management::GetCommitmentsCommitmentListOptionalParams;usedatadog_api_client::datadogV2::model::CommitmentsProvider;#[tokio::main]asyncfnmain(){letmutconfiguration=datadog::Configuration::new();configuration.set_unstable_operation_enabled("v2.GetCommitmentsCommitmentList",true);letapi=CloudCostManagementAPI::with_config(configuration);letresp=api.get_commitments_commitment_list(CommitmentsProvider::AWS,"product".to_string(),9223372036854775807,9223372036854775807,GetCommitmentsCommitmentListOptionalParams::default(),).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get commitments list returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();configuration.unstableOperations["v2.getCommitmentsCommitmentList"]=true;constapiInstance=newv2.CloudCostManagementApi(configuration);constparams: v2.CloudCostManagementApiGetCommitmentsCommitmentListRequest={provider:"aws",product:"product",start: 9223372036854775807,end: 9223372036854775807,};apiInstance.getCommitmentsCommitmentList(params).then((data: v2.CommitmentsListResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));