@@ -4026,6 +4026,94 @@ func (a *CloudCostManagementApi) ListCostTagMetadataMetrics(ctx _context.Context
40264026 return localVarReturnValue , localVarHTTPResponse , nil
40274027}
40284028
4029+ // ListCostTagMetadataMonths List Cloud Cost Management tag metadata months.
4030+ // List months that have Cloud Cost Management tag metadata for a given provider,
4031+ // ordered most-recent first. The response is capped at 36 months.
4032+ func (a * CloudCostManagementApi ) ListCostTagMetadataMonths (ctx _context.Context , filterProvider string ) (CostTagMetadataMonthsResponse , * _nethttp.Response , error ) {
4033+ var (
4034+ localVarHTTPMethod = _nethttp .MethodGet
4035+ localVarPostBody interface {}
4036+ localVarReturnValue CostTagMetadataMonthsResponse
4037+ )
4038+
4039+ operationId := "v2.ListCostTagMetadataMonths"
4040+ isOperationEnabled := a .Client .Cfg .IsUnstableOperationEnabled (operationId )
4041+ if ! isOperationEnabled {
4042+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : _fmt .Sprintf ("Unstable operation '%s' is disabled" , operationId )}
4043+ }
4044+ if isOperationEnabled && a .Client .Cfg .Debug {
4045+ _log .Printf ("WARNING: Using unstable operation '%s'" , operationId )
4046+ }
4047+
4048+ localBasePath , err := a .Client .Cfg .ServerURLWithContext (ctx , "v2.CloudCostManagementApi.ListCostTagMetadataMonths" )
4049+ if err != nil {
4050+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : err .Error ()}
4051+ }
4052+
4053+ localVarPath := localBasePath + "/api/v2/cost/tag_metadata/months"
4054+
4055+ localVarHeaderParams := make (map [string ]string )
4056+ localVarQueryParams := _neturl.Values {}
4057+ localVarFormParams := _neturl.Values {}
4058+ localVarQueryParams .Add ("filter[provider]" , datadog .ParameterToString (filterProvider , "" ))
4059+ localVarHeaderParams ["Accept" ] = "application/json"
4060+
4061+ if a .Client .Cfg .DelegatedTokenConfig != nil {
4062+ err = datadog .UseDelegatedTokenAuth (ctx , & localVarHeaderParams , a .Client .Cfg .DelegatedTokenConfig )
4063+ if err != nil {
4064+ return localVarReturnValue , nil , err
4065+ }
4066+ } else {
4067+ datadog .SetAuthKeys (
4068+ ctx ,
4069+ & localVarHeaderParams ,
4070+ [2 ]string {"apiKeyAuth" , "DD-API-KEY" },
4071+ [2 ]string {"appKeyAuth" , "DD-APPLICATION-KEY" },
4072+ )
4073+ }
4074+ req , err := a .Client .PrepareRequest (ctx , localVarPath , localVarHTTPMethod , localVarPostBody , localVarHeaderParams , localVarQueryParams , localVarFormParams , nil )
4075+ if err != nil {
4076+ return localVarReturnValue , nil , err
4077+ }
4078+
4079+ localVarHTTPResponse , err := a .Client .CallAPI (req )
4080+ if err != nil || localVarHTTPResponse == nil {
4081+ return localVarReturnValue , localVarHTTPResponse , err
4082+ }
4083+
4084+ localVarBody , err := datadog .ReadBody (localVarHTTPResponse )
4085+ if err != nil {
4086+ return localVarReturnValue , localVarHTTPResponse , err
4087+ }
4088+
4089+ if localVarHTTPResponse .StatusCode >= 300 {
4090+ newErr := datadog.GenericOpenAPIError {
4091+ ErrorBody : localVarBody ,
4092+ ErrorMessage : localVarHTTPResponse .Status ,
4093+ }
4094+ if localVarHTTPResponse .StatusCode == 400 || localVarHTTPResponse .StatusCode == 403 || localVarHTTPResponse .StatusCode == 429 {
4095+ var v APIErrorResponse
4096+ err = a .Client .Decode (& v , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
4097+ if err != nil {
4098+ return localVarReturnValue , localVarHTTPResponse , newErr
4099+ }
4100+ newErr .ErrorModel = v
4101+ }
4102+ return localVarReturnValue , localVarHTTPResponse , newErr
4103+ }
4104+
4105+ err = a .Client .Decode (& localVarReturnValue , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
4106+ if err != nil {
4107+ newErr := datadog.GenericOpenAPIError {
4108+ ErrorBody : localVarBody ,
4109+ ErrorMessage : err .Error (),
4110+ }
4111+ return localVarReturnValue , localVarHTTPResponse , newErr
4112+ }
4113+
4114+ return localVarReturnValue , localVarHTTPResponse , nil
4115+ }
4116+
40294117// ListCostTagMetadataOrchestratorsOptionalParameters holds optional parameters for ListCostTagMetadataOrchestrators.
40304118type ListCostTagMetadataOrchestratorsOptionalParameters struct {
40314119 FilterProvider * string
0 commit comments