datadog_api_client 2.53.0 → 2.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +2514 -18
  3. data/.generator/schemas/v2/openapi.yaml +17639 -617
  4. data/CHANGELOG.md +55 -0
  5. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +1 -0
  6. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +1 -0
  7. data/examples/v1/dashboards/CreateDashboard_2049446128.rb +42 -0
  8. data/examples/v2/agentless-scanning/CreateAwsScanOptions.rb +1 -0
  9. data/examples/v2/app-builder/CreatePublishRequest.rb +15 -0
  10. data/examples/v2/app-builder/ListAppVersions.rb +5 -0
  11. data/examples/v2/app-builder/RevertApp.rb +5 -0
  12. data/examples/v2/app-builder/UpdateAppFavorite.rb +14 -0
  13. data/examples/v2/app-builder/UpdateAppSelfService.rb +14 -0
  14. data/examples/v2/app-builder/UpdateAppTags.rb +17 -0
  15. data/examples/v2/app-builder/UpdateAppVersionName.rb +14 -0
  16. data/examples/v2/app-builder/UpdateProtectionLevel.rb +14 -0
  17. data/examples/v2/cloud-cost-management/GetCommitmentsCommitmentList.rb +8 -0
  18. data/examples/v2/cloud-cost-management/GetCommitmentsCoverageScalar.rb +8 -0
  19. data/examples/v2/cloud-cost-management/GetCommitmentsCoverageTimeseries.rb +8 -0
  20. data/examples/v2/cloud-cost-management/GetCommitmentsOnDemandHotspotsScalar.rb +8 -0
  21. data/examples/v2/cloud-cost-management/GetCommitmentsSavingsScalar.rb +8 -0
  22. data/examples/v2/cloud-cost-management/GetCommitmentsSavingsTimeseries.rb +8 -0
  23. data/examples/v2/cloud-cost-management/GetCommitmentsUtilizationScalar.rb +8 -0
  24. data/examples/v2/cloud-cost-management/GetCommitmentsUtilizationTimeseries.rb +8 -0
  25. data/examples/v2/cloud-cost-management/GetCostAnomaly.rb +8 -0
  26. data/examples/v2/cloud-cost-management/GetCostTagKey.rb +5 -0
  27. data/examples/v2/cloud-cost-management/ListCostAnomalies.rb +8 -0
  28. data/examples/v2/cloud-cost-management/ListCostOCIConfigs.rb +5 -0
  29. data/examples/v2/cloud-cost-management/ListCostTagDescriptions.rb +5 -0
  30. data/examples/v2/cloud-cost-management/ListCostTagKeys.rb +5 -0
  31. data/examples/v2/cloud-cost-management/ListCostTags.rb +5 -0
  32. data/examples/v2/cloud-cost-management/ListCustomAllocationRulesStatus.rb +5 -0
  33. data/examples/v2/cloud-cost-management/ListTagPipelinesRulesetsStatus.rb +5 -0
  34. data/examples/v2/compliance/GetRuleBasedView.rb +8 -0
  35. data/examples/v2/feature-flags/ListFeatureFlags.rb +4 -1
  36. data/examples/v2/key-management/Validate.rb +8 -0
  37. data/examples/v2/key-management/ValidateAPIKey.rb +5 -0
  38. data/examples/v2/llm-observability/CreateLLMObsAnnotationQueue.rb +23 -1
  39. data/examples/v2/llm-observability/GetLLMObsAnnotationQueueLabelSchema.rb +8 -0
  40. data/examples/v2/llm-observability/UpdateLLMObsAnnotationQueue.rb +22 -0
  41. data/examples/v2/llm-observability/UpdateLLMObsAnnotationQueueLabelSchema.rb +38 -0
  42. data/examples/v2/logs-archives/CreateLogsArchive.rb +1 -0
  43. data/examples/v2/logs-archives/UpdateLogsArchive.rb +1 -0
  44. data/examples/v2/organizations/ListOrgs.rb +5 -0
  45. data/examples/v2/security-monitoring/BulkDeleteSecurityMonitoringRules.rb +17 -0
  46. data/examples/v2/security-monitoring/MuteSecurityFindings.rb +33 -0
  47. data/examples/v2/security-monitoring/MuteSecurityFindings_298521544.rb +31 -0
  48. data/examples/v2/security-monitoring/MuteSecurityFindings_3830190821.rb +32 -0
  49. data/examples/v2/security-monitoring/ValidateSecurityMonitoringRule_2609327779.rb +2 -2
  50. data/examples/v2/status-pages/CreateBackfilledDegradation.rb +53 -0
  51. data/examples/v2/status-pages/CreateBackfilledMaintenance.rb +42 -0
  52. data/examples/v2/status-pages/CreateStatusPage.rb +0 -1
  53. data/examples/v2/status-pages/PublishStatusPage.rb +3 -3
  54. data/examples/v2/status-pages/UnpublishStatusPage.rb +1 -4
  55. data/examples/v2/storage-management/UpsertSyncConfig.rb +34 -0
  56. data/examples/v2/synthetics/AddTestToSyntheticsDowntime.rb +5 -0
  57. data/examples/v2/synthetics/CreateSyntheticsDowntime.rb +31 -0
  58. data/examples/v2/synthetics/DeleteSyntheticsDowntime.rb +5 -0
  59. data/examples/v2/synthetics/GetSyntheticsDowntime.rb +5 -0
  60. data/examples/v2/synthetics/ListSyntheticsDowntimes.rb +5 -0
  61. data/examples/v2/synthetics/RemoveTestFromSyntheticsDowntime.rb +5 -0
  62. data/examples/v2/synthetics/UpdateSyntheticsDowntime.rb +31 -0
  63. data/examples/v2/test-optimization/DeleteTestOptimizationServiceSettings.rb +0 -3
  64. data/examples/v2/test-optimization/GetFlakyTestsManagementPolicies.rb +0 -3
  65. data/examples/v2/test-optimization/GetTestOptimizationServiceSettings.rb +0 -3
  66. data/examples/v2/test-optimization/SearchFlakyTests.rb +0 -3
  67. data/examples/v2/test-optimization/SearchFlakyTests_1224086727.rb +0 -3
  68. data/examples/v2/test-optimization/UpdateFlakyTests.rb +0 -3
  69. data/examples/v2/test-optimization/UpdateFlakyTestsManagementPolicies.rb +0 -3
  70. data/examples/v2/test-optimization/UpdateTestOptimizationServiceSettings.rb +0 -3
  71. data/examples/v2/users/DeleteUserInvitations.rb +5 -0
  72. data/examples/v2/users/GetCurrentUser.rb +5 -0
  73. data/examples/v2/users/UpdateCurrentUser.rb +15 -0
  74. data/examples/v2/web-integrations/CreateWebIntegrationAccount.rb +19 -0
  75. data/examples/v2/web-integrations/DeleteWebIntegrationAccount.rb +8 -0
  76. data/examples/v2/web-integrations/GetWebIntegrationAccount.rb +8 -0
  77. data/examples/v2/web-integrations/ListWebIntegrationAccounts.rb +8 -0
  78. data/examples/v2/web-integrations/UpdateWebIntegrationAccount.rb +19 -0
  79. data/lib/datadog_api_client/configuration.rb +20 -12
  80. data/lib/datadog_api_client/inflector.rb +213 -16
  81. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +3 -3
  82. data/lib/datadog_api_client/v1/models/azure_account.rb +11 -1
  83. data/lib/datadog_api_client/v1/models/data_projection_query.rb +166 -0
  84. data/lib/datadog_api_client/v1/models/data_projection_request_type.rb +26 -0
  85. data/lib/datadog_api_client/v1/models/formula_and_function_apm_resource_stats_query_definition.rb +4 -1
  86. data/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +1 -0
  87. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +1 -0
  88. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +2 -0
  89. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +21 -1
  90. data/lib/datadog_api_client/v1/models/point_plot_dimension.rb +29 -0
  91. data/lib/datadog_api_client/v1/models/point_plot_projection.rb +158 -0
  92. data/lib/datadog_api_client/v1/models/point_plot_projection_dimension.rb +154 -0
  93. data/lib/datadog_api_client/v1/models/point_plot_projection_type.rb +26 -0
  94. data/lib/datadog_api_client/v1/models/point_plot_widget_definition.rb +240 -0
  95. data/lib/datadog_api_client/v1/models/point_plot_widget_definition_type.rb +26 -0
  96. data/lib/datadog_api_client/v1/models/point_plot_widget_legend.rb +123 -0
  97. data/lib/datadog_api_client/v1/models/point_plot_widget_legend_type.rb +27 -0
  98. data/lib/datadog_api_client/v1/models/point_plot_widget_request.rb +175 -0
  99. data/lib/datadog_api_client/v1/models/sankey_rum_data_source.rb +1 -1
  100. data/lib/datadog_api_client/v1/models/sankey_rum_query.rb +3 -3
  101. data/lib/datadog_api_client/v1/models/sankey_rum_query_mode.rb +1 -1
  102. data/lib/datadog_api_client/v1/models/sankey_rum_request.rb +2 -2
  103. data/lib/datadog_api_client/v1/models/sunburst_widget_request.rb +11 -1
  104. data/lib/datadog_api_client/v1/models/tree_map_widget_request.rb +23 -3
  105. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +121 -1
  106. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +121 -1
  107. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +121 -1
  108. data/lib/datadog_api_client/v1/models/widget_definition.rb +1 -0
  109. data/lib/datadog_api_client/v2/api/app_builder_api.rb +578 -0
  110. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +1580 -173
  111. data/lib/datadog_api_client/v2/api/compliance_api.rb +111 -0
  112. data/lib/datadog_api_client/v2/api/key_management_api.rb +129 -0
  113. data/lib/datadog_api_client/v2/api/llm_observability_api.rb +159 -5
  114. data/lib/datadog_api_client/v2/api/metrics_api.rb +9 -5
  115. data/lib/datadog_api_client/v2/api/organizations_api.rb +62 -0
  116. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +143 -0
  117. data/lib/datadog_api_client/v2/api/status_pages_api.rb +149 -1
  118. data/lib/datadog_api_client/v2/api/storage_management_api.rb +93 -0
  119. data/lib/datadog_api_client/v2/api/synthetics_api.rb +473 -0
  120. data/lib/datadog_api_client/v2/api/test_optimization_api.rb +0 -42
  121. data/lib/datadog_api_client/v2/api/users_api.rb +201 -0
  122. data/lib/datadog_api_client/v2/api/web_integrations_api.rb +410 -0
  123. data/lib/datadog_api_client/v2/api/widgets_api.rb +13 -4
  124. data/lib/datadog_api_client/v2/models/apm_dependency_stats_query.rb +24 -1
  125. data/lib/datadog_api_client/v2/models/apm_metrics_query.rb +24 -1
  126. data/lib/datadog_api_client/v2/models/apm_resource_stats_query.rb +24 -1
  127. data/lib/datadog_api_client/v2/models/{security_monitoring_rule_new_value_options_forget_after.rb → app_favorite_type.rb} +3 -8
  128. data/lib/datadog_api_client/v2/models/{security_monitoring_rule_new_value_options_learning_duration.rb → app_protection_level.rb} +4 -6
  129. data/lib/datadog_api_client/v2/models/app_protection_level_type.rb +26 -0
  130. data/lib/datadog_api_client/v2/models/app_self_service_type.rb +26 -0
  131. data/lib/datadog_api_client/v2/models/{incident_team_type.rb → app_tags_type.rb} +3 -3
  132. data/lib/datadog_api_client/v2/models/{incident_team_response_data.rb → app_version.rb} +10 -20
  133. data/lib/datadog_api_client/v2/models/app_version_attributes.rb +185 -0
  134. data/lib/datadog_api_client/v2/models/app_version_name_type.rb +26 -0
  135. data/lib/datadog_api_client/v2/models/app_version_type.rb +26 -0
  136. data/lib/datadog_api_client/v2/models/arbitrary_rule_status_response_array.rb +125 -0
  137. data/lib/datadog_api_client/v2/models/arbitrary_rule_status_response_data.rb +165 -0
  138. data/lib/datadog_api_client/v2/models/arbitrary_rule_status_response_data_attributes.rb +123 -0
  139. data/lib/datadog_api_client/v2/models/arbitrary_rule_status_response_data_type.rb +26 -0
  140. data/lib/datadog_api_client/v2/models/aws_scan_options_attributes.rb +11 -1
  141. data/lib/datadog_api_client/v2/models/aws_scan_options_create_attributes.rb +22 -1
  142. data/lib/datadog_api_client/v2/models/aws_scan_options_update_attributes.rb +11 -1
  143. data/lib/datadog_api_client/v2/models/azure_scan_options_data_attributes.rb +11 -1
  144. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update_data_attributes.rb +11 -1
  145. data/lib/datadog_api_client/v2/models/cloud_inventory_cloud_provider_id.rb +28 -0
  146. data/lib/datadog_api_client/v2/models/cloud_inventory_cloud_provider_request_type.rb +26 -0
  147. data/lib/datadog_api_client/v2/models/cloud_inventory_sync_config_attributes.rb +396 -0
  148. data/lib/datadog_api_client/v2/models/cloud_inventory_sync_config_aws_request_attributes.rb +175 -0
  149. data/lib/datadog_api_client/v2/models/cloud_inventory_sync_config_azure_request_attributes.rb +228 -0
  150. data/lib/datadog_api_client/v2/models/cloud_inventory_sync_config_gcp_request_attributes.rb +186 -0
  151. data/lib/datadog_api_client/v2/models/cloud_inventory_sync_config_resource_type.rb +26 -0
  152. data/lib/datadog_api_client/v2/models/cloud_inventory_sync_config_response.rb +123 -0
  153. data/lib/datadog_api_client/v2/models/cloud_inventory_sync_config_response_data.rb +165 -0
  154. data/lib/datadog_api_client/v2/models/commitments_aws_ec2_ri_commitment.rb +298 -0
  155. data/lib/datadog_api_client/v2/models/commitments_aws_elasticache_ri_commitment.rb +267 -0
  156. data/lib/datadog_api_client/v2/models/commitments_aws_rdsri_commitment.rb +277 -0
  157. data/lib/datadog_api_client/v2/models/commitments_aws_sp_commitment.rb +215 -0
  158. data/lib/datadog_api_client/v2/models/commitments_azure_compute_sp_commitment.rb +194 -0
  159. data/lib/datadog_api_client/v2/models/commitments_azure_vmri_commitment.rb +268 -0
  160. data/lib/datadog_api_client/v2/models/commitments_azure_vmri_status.rb +28 -0
  161. data/lib/datadog_api_client/v2/models/commitments_commitment_type.rb +27 -0
  162. data/lib/datadog_api_client/v2/models/commitments_coverage_scalar_response.rb +125 -0
  163. data/lib/datadog_api_client/v2/models/commitments_coverage_timeseries_response.rb +144 -0
  164. data/lib/datadog_api_client/v2/models/{incident_team_included_items.rb → commitments_list_item.rb} +8 -3
  165. data/lib/datadog_api_client/v2/models/commitments_list_meta.rb +105 -0
  166. data/lib/datadog_api_client/v2/models/commitments_list_response.rb +135 -0
  167. data/lib/datadog_api_client/v2/models/commitments_on_demand_hotspots_scalar_meta.rb +123 -0
  168. data/lib/datadog_api_client/v2/models/commitments_on_demand_hotspots_scalar_response.rb +158 -0
  169. data/lib/datadog_api_client/v2/models/commitments_provider.rb +27 -0
  170. data/lib/datadog_api_client/v2/models/commitments_savings_scalar_response.rb +125 -0
  171. data/lib/datadog_api_client/v2/models/commitments_savings_timeseries_response.rb +186 -0
  172. data/lib/datadog_api_client/v2/models/commitments_scalar_column.rb +177 -0
  173. data/lib/datadog_api_client/v2/models/commitments_scalar_column_meta.rb +123 -0
  174. data/lib/datadog_api_client/v2/models/commitments_scalar_column_type.rb +27 -0
  175. data/lib/datadog_api_client/v2/models/commitments_timeseries_metric.rb +156 -0
  176. data/lib/datadog_api_client/v2/models/commitments_unit.rb +228 -0
  177. data/lib/datadog_api_client/v2/models/commitments_utilization_scalar_product_breakdown_entry.rb +144 -0
  178. data/lib/datadog_api_client/v2/models/{incident_teams_response.rb → commitments_utilization_scalar_response.rb} +26 -36
  179. data/lib/datadog_api_client/v2/models/commitments_utilization_timeseries_response.rb +156 -0
  180. data/lib/datadog_api_client/v2/models/container_scalar_query.rb +24 -1
  181. data/lib/datadog_api_client/v2/models/container_timeseries_query.rb +24 -1
  182. data/lib/datadog_api_client/v2/models/cost_anomalies_response.rb +105 -0
  183. data/lib/datadog_api_client/v2/models/cost_anomalies_response_data.rb +165 -0
  184. data/lib/datadog_api_client/v2/models/cost_anomalies_response_data_attributes.rb +209 -0
  185. data/lib/datadog_api_client/v2/models/cost_anomalies_response_data_type.rb +26 -0
  186. data/lib/datadog_api_client/v2/models/cost_anomaly.rb +319 -0
  187. data/lib/datadog_api_client/v2/models/cost_anomaly_dismissal.rb +207 -0
  188. data/lib/datadog_api_client/v2/models/cost_anomaly_response.rb +105 -0
  189. data/lib/datadog_api_client/v2/models/cost_anomaly_response_data.rb +165 -0
  190. data/lib/datadog_api_client/v2/models/cost_tag.rb +165 -0
  191. data/lib/datadog_api_client/v2/models/cost_tag_attributes.rb +146 -0
  192. data/lib/datadog_api_client/v2/models/cost_tag_description.rb +165 -0
  193. data/lib/datadog_api_client/v2/models/cost_tag_description_attributes.rb +228 -0
  194. data/lib/datadog_api_client/v2/models/cost_tag_description_source.rb +28 -0
  195. data/lib/datadog_api_client/v2/models/cost_tag_description_type.rb +26 -0
  196. data/lib/datadog_api_client/v2/models/cost_tag_descriptions_response.rb +125 -0
  197. data/lib/datadog_api_client/v2/models/cost_tag_key.rb +165 -0
  198. data/lib/datadog_api_client/v2/models/cost_tag_key_attributes.rb +156 -0
  199. data/lib/datadog_api_client/v2/models/cost_tag_key_details.rb +146 -0
  200. data/lib/datadog_api_client/v2/models/{incident_team_create_request.rb → cost_tag_key_response.rb} +5 -5
  201. data/lib/datadog_api_client/v2/models/cost_tag_key_type.rb +26 -0
  202. data/lib/datadog_api_client/v2/models/cost_tag_keys_response.rb +125 -0
  203. data/lib/datadog_api_client/v2/models/cost_tag_type.rb +26 -0
  204. data/lib/datadog_api_client/v2/models/cost_tags_response.rb +125 -0
  205. data/lib/datadog_api_client/v2/models/create_backfilled_degradation_request.rb +105 -0
  206. data/lib/datadog_api_client/v2/models/{incident_team_create_data.rb → create_backfilled_degradation_request_data.rb} +8 -18
  207. data/lib/datadog_api_client/v2/models/create_backfilled_degradation_request_data_attributes.rb +146 -0
  208. data/lib/datadog_api_client/v2/models/create_backfilled_degradation_request_data_attributes_updates_items.rb +166 -0
  209. data/lib/datadog_api_client/v2/models/create_backfilled_maintenance_request.rb +105 -0
  210. data/lib/datadog_api_client/v2/models/{incident_team_update_data.rb → create_backfilled_maintenance_request_data.rb} +8 -28
  211. data/lib/datadog_api_client/v2/models/create_backfilled_maintenance_request_data_attributes.rb +154 -0
  212. data/lib/datadog_api_client/v2/models/create_backfilled_maintenance_request_data_attributes_updates_items.rb +188 -0
  213. data/lib/datadog_api_client/v2/models/create_degradation_request_data_attributes.rb +15 -3
  214. data/lib/datadog_api_client/v2/models/create_degradation_request_data_attributes_updates_items.rb +188 -0
  215. data/lib/datadog_api_client/v2/models/create_degradation_request_data_attributes_updates_items_components_affected_items.rb +154 -0
  216. data/lib/datadog_api_client/v2/models/create_maintenance_request_data_attributes.rb +15 -3
  217. data/lib/datadog_api_client/v2/models/create_maintenance_request_data_attributes_updates_items.rb +188 -0
  218. data/lib/datadog_api_client/v2/models/create_maintenance_request_data_attributes_updates_items_components_affected_items.rb +154 -0
  219. data/lib/datadog_api_client/v2/models/create_maintenance_request_data_attributes_updates_items_status.rb +27 -0
  220. data/lib/datadog_api_client/v2/models/create_publish_request_request.rb +105 -0
  221. data/lib/datadog_api_client/v2/models/{incident_team_relationships.rb → create_publish_request_request_data.rb} +18 -18
  222. data/lib/datadog_api_client/v2/models/create_publish_request_request_data_attributes.rb +133 -0
  223. data/lib/datadog_api_client/v2/models/create_status_page_request_data_attributes.rb +1 -22
  224. data/lib/datadog_api_client/v2/models/events_scalar_query.rb +24 -1
  225. data/lib/datadog_api_client/v2/models/events_timeseries_query.rb +24 -1
  226. data/lib/datadog_api_client/v2/models/feature_flag_attributes.rb +11 -1
  227. data/lib/datadog_api_client/v2/models/feature_flag_environment.rb +1 -38
  228. data/lib/datadog_api_client/v2/models/feature_flag_environment_list_item.rb +246 -0
  229. data/lib/datadog_api_client/v2/models/feature_flag_list_item.rb +165 -0
  230. data/lib/datadog_api_client/v2/models/feature_flag_list_item_attributes.rb +332 -0
  231. data/lib/datadog_api_client/v2/models/gcp_scan_options_data_attributes.rb +11 -1
  232. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update_data_attributes.rb +11 -1
  233. data/lib/datadog_api_client/v2/models/incident_integration_metadata_attributes.rb +1 -0
  234. data/lib/datadog_api_client/v2/models/issue_attributes.rb +11 -1
  235. data/lib/datadog_api_client/v2/models/issue_regression.rb +154 -0
  236. data/lib/datadog_api_client/v2/models/issues_search_request_data_attributes.rb +24 -1
  237. data/lib/datadog_api_client/v2/models/list_app_versions_response.rb +117 -0
  238. data/lib/datadog_api_client/v2/models/list_feature_flags_response.rb +1 -1
  239. data/lib/datadog_api_client/v2/models/llm_obs_annotated_interaction_item.rb +1 -1
  240. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_data_attributes_request.rb +11 -1
  241. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_data_attributes_response.rb +11 -1
  242. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_interaction_item.rb +1 -1
  243. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_interaction_response_item.rb +1 -1
  244. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_label_schema_attributes.rb +123 -0
  245. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_label_schema_data.rb +165 -0
  246. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_label_schema_response.rb +123 -0
  247. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_label_schema_update_attributes.rb +123 -0
  248. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_label_schema_update_data.rb +144 -0
  249. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_label_schema_update_request.rb +123 -0
  250. data/lib/datadog_api_client/v2/models/llm_obs_annotation_queue_update_data_attributes_request.rb +11 -1
  251. data/lib/datadog_api_client/v2/models/llm_obs_annotation_schema.rb +125 -0
  252. data/lib/datadog_api_client/v2/models/llm_obs_interaction_type.rb +1 -0
  253. data/lib/datadog_api_client/v2/models/llm_obs_label_schema.rb +246 -0
  254. data/lib/datadog_api_client/v2/models/llm_obs_label_schema_type.rb +29 -0
  255. data/lib/datadog_api_client/v2/models/logs_archive_attributes.rb +11 -1
  256. data/lib/datadog_api_client/v2/models/logs_archive_attributes_compression_method.rb +27 -0
  257. data/lib/datadog_api_client/v2/models/logs_archive_create_request_attributes.rb +11 -1
  258. data/lib/datadog_api_client/v2/models/managed_orgs_data.rb +165 -0
  259. data/lib/datadog_api_client/v2/models/{incident_team_update_request.rb → managed_orgs_relationship_to_org.rb} +5 -5
  260. data/lib/datadog_api_client/v2/models/managed_orgs_relationship_to_orgs.rb +125 -0
  261. data/lib/datadog_api_client/v2/models/managed_orgs_relationships.rb +144 -0
  262. data/lib/datadog_api_client/v2/models/{incident_team_response.rb → managed_orgs_response.rb} +19 -8
  263. data/lib/datadog_api_client/v2/models/managed_orgs_type.rb +26 -0
  264. data/lib/datadog_api_client/v2/models/metrics_scalar_query.rb +24 -1
  265. data/lib/datadog_api_client/v2/models/metrics_timeseries_query.rb +24 -1
  266. data/lib/datadog_api_client/v2/models/mute_data_type.rb +26 -0
  267. data/lib/datadog_api_client/v2/models/mute_findings_mute_attributes.rb +164 -0
  268. data/lib/datadog_api_client/v2/models/mute_findings_reason.rb +34 -0
  269. data/lib/datadog_api_client/v2/models/mute_findings_request.rb +123 -0
  270. data/lib/datadog_api_client/v2/models/mute_findings_request_data.rb +175 -0
  271. data/lib/datadog_api_client/v2/models/mute_findings_request_data_attributes.rb +123 -0
  272. data/lib/datadog_api_client/v2/models/mute_findings_request_data_relationships.rb +123 -0
  273. data/lib/datadog_api_client/v2/models/mute_findings_response.rb +105 -0
  274. data/lib/datadog_api_client/v2/models/mute_findings_response_data.rb +144 -0
  275. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +1 -0
  276. data/lib/datadog_api_client/v2/models/observability_pipeline_databricks_zerobus_destination.rb +263 -0
  277. data/lib/datadog_api_client/v2/models/observability_pipeline_databricks_zerobus_destination_auth.rb +133 -0
  278. data/lib/datadog_api_client/v2/models/observability_pipeline_databricks_zerobus_destination_type.rb +26 -0
  279. data/lib/datadog_api_client/v2/models/oci_config.rb +165 -0
  280. data/lib/datadog_api_client/v2/models/oci_config_attributes.rb +227 -0
  281. data/lib/datadog_api_client/v2/models/oci_config_type.rb +26 -0
  282. data/lib/datadog_api_client/v2/models/oci_configs_response.rb +125 -0
  283. data/lib/datadog_api_client/v2/models/org_attributes.rb +270 -0
  284. data/lib/datadog_api_client/v2/models/org_data.rb +165 -0
  285. data/lib/datadog_api_client/v2/models/org_group_list_response.rb +12 -2
  286. data/lib/datadog_api_client/v2/models/org_group_membership_list_response.rb +12 -2
  287. data/lib/datadog_api_client/v2/models/org_group_pagination_links.rb +154 -0
  288. data/lib/datadog_api_client/v2/models/org_group_pagination_meta.rb +3 -21
  289. data/lib/datadog_api_client/v2/models/org_group_pagination_meta_page.rb +86 -24
  290. data/lib/datadog_api_client/v2/models/org_group_policy_list_response.rb +12 -2
  291. data/lib/datadog_api_client/v2/models/org_group_policy_override_list_response.rb +12 -2
  292. data/lib/datadog_api_client/v2/models/org_relationship_data.rb +144 -0
  293. data/lib/datadog_api_client/v2/models/org_resource_type.rb +26 -0
  294. data/lib/datadog_api_client/v2/models/process_scalar_query.rb +24 -1
  295. data/lib/datadog_api_client/v2/models/process_timeseries_query.rb +24 -1
  296. data/lib/datadog_api_client/v2/models/publish_request_type.rb +26 -0
  297. data/lib/datadog_api_client/v2/models/routing_rule_action.rb +2 -1
  298. data/lib/datadog_api_client/v2/models/rule_based_view_attributes.rb +146 -0
  299. data/lib/datadog_api_client/v2/models/rule_based_view_compliance_framework.rb +155 -0
  300. data/lib/datadog_api_client/v2/models/rule_based_view_data.rb +165 -0
  301. data/lib/datadog_api_client/v2/models/rule_based_view_response.rb +123 -0
  302. data/lib/datadog_api_client/v2/models/rule_based_view_rule.rb +339 -0
  303. data/lib/datadog_api_client/v2/models/rule_based_view_rule_category.rb +28 -0
  304. data/lib/datadog_api_client/v2/models/rule_based_view_rule_stats.rb +165 -0
  305. data/lib/datadog_api_client/v2/models/rule_based_view_type.rb +26 -0
  306. data/lib/datadog_api_client/v2/models/ruleset_status_resp_array.rb +125 -0
  307. data/lib/datadog_api_client/v2/models/ruleset_status_resp_data.rb +165 -0
  308. data/lib/datadog_api_client/v2/models/ruleset_status_resp_data_attributes.rb +123 -0
  309. data/lib/datadog_api_client/v2/models/ruleset_status_resp_data_type.rb +26 -0
  310. data/lib/datadog_api_client/v2/models/security_entity_risk_score_attributes.rb +2 -2
  311. data/lib/datadog_api_client/v2/models/security_monitoring_rule_bulk_delete_attributes.rb +129 -0
  312. data/lib/datadog_api_client/v2/models/security_monitoring_rule_bulk_delete_data.rb +144 -0
  313. data/lib/datadog_api_client/v2/models/security_monitoring_rule_bulk_delete_payload.rb +123 -0
  314. data/lib/datadog_api_client/v2/models/security_monitoring_rule_bulk_delete_request_data_type.rb +26 -0
  315. data/lib/datadog_api_client/v2/models/security_monitoring_rule_bulk_delete_response.rb +119 -0
  316. data/lib/datadog_api_client/v2/models/security_monitoring_rule_new_value_options.rb +41 -4
  317. data/lib/datadog_api_client/v2/models/slo_query.rb +24 -1
  318. data/lib/datadog_api_client/v2/models/synthetics_downtime_data.rb +165 -0
  319. data/lib/datadog_api_client/v2/models/synthetics_downtime_data_attributes_request.rb +212 -0
  320. data/lib/datadog_api_client/v2/models/synthetics_downtime_data_attributes_response.rb +360 -0
  321. data/lib/datadog_api_client/v2/models/synthetics_downtime_data_request.rb +144 -0
  322. data/lib/datadog_api_client/v2/models/synthetics_downtime_frequency.rb +29 -0
  323. data/lib/datadog_api_client/v2/models/synthetics_downtime_request.rb +123 -0
  324. data/lib/datadog_api_client/v2/models/synthetics_downtime_resource_type.rb +26 -0
  325. data/lib/datadog_api_client/v2/models/synthetics_downtime_response.rb +123 -0
  326. data/lib/datadog_api_client/v2/models/synthetics_downtime_time_slot_date.rb +207 -0
  327. data/lib/datadog_api_client/v2/models/synthetics_downtime_time_slot_recurrence_request.rb +155 -0
  328. data/lib/datadog_api_client/v2/models/synthetics_downtime_time_slot_recurrence_response.rb +177 -0
  329. data/lib/datadog_api_client/v2/models/synthetics_downtime_time_slot_request.rb +185 -0
  330. data/lib/datadog_api_client/v2/models/synthetics_downtime_time_slot_response.rb +206 -0
  331. data/lib/datadog_api_client/v2/models/synthetics_downtime_weekday.rb +32 -0
  332. data/lib/datadog_api_client/v2/models/synthetics_downtimes_response.rb +125 -0
  333. data/lib/datadog_api_client/v2/models/trigger_workflow_automation_action.rb +144 -0
  334. data/lib/datadog_api_client/v2/models/trigger_workflow_automation_action_type.rb +26 -0
  335. data/lib/datadog_api_client/v2/models/update_app_favorite_request.rb +105 -0
  336. data/lib/datadog_api_client/v2/models/update_app_favorite_request_data.rb +115 -0
  337. data/lib/datadog_api_client/v2/models/update_app_favorite_request_data_attributes.rb +123 -0
  338. data/lib/datadog_api_client/v2/models/update_app_protection_level_request.rb +105 -0
  339. data/lib/datadog_api_client/v2/models/update_app_protection_level_request_data.rb +115 -0
  340. data/lib/datadog_api_client/v2/models/update_app_protection_level_request_data_attributes.rb +123 -0
  341. data/lib/datadog_api_client/v2/models/update_app_self_service_request.rb +105 -0
  342. data/lib/datadog_api_client/v2/models/update_app_self_service_request_data.rb +115 -0
  343. data/lib/datadog_api_client/v2/models/update_app_self_service_request_data_attributes.rb +123 -0
  344. data/lib/datadog_api_client/v2/models/update_app_tags_request.rb +105 -0
  345. data/lib/datadog_api_client/v2/models/update_app_tags_request_data.rb +115 -0
  346. data/lib/datadog_api_client/v2/models/update_app_tags_request_data_attributes.rb +125 -0
  347. data/lib/datadog_api_client/v2/models/update_app_version_name_request.rb +105 -0
  348. data/lib/datadog_api_client/v2/models/update_app_version_name_request_data.rb +115 -0
  349. data/lib/datadog_api_client/v2/models/{incident_team_create_attributes.rb → update_app_version_name_request_data_attributes.rb} +4 -4
  350. data/lib/datadog_api_client/v2/models/upsert_cloud_inventory_sync_config_request.rb +123 -0
  351. data/lib/datadog_api_client/v2/models/upsert_cloud_inventory_sync_config_request_attributes.rb +125 -0
  352. data/lib/datadog_api_client/v2/models/upsert_cloud_inventory_sync_config_request_data.rb +165 -0
  353. data/lib/datadog_api_client/v2/models/user_attributes.rb +15 -14
  354. data/lib/datadog_api_client/v2/models/user_update_attributes.rb +27 -6
  355. data/lib/datadog_api_client/v2/models/validate_api_key_response.rb +123 -0
  356. data/lib/datadog_api_client/v2/models/validate_api_key_status.rb +26 -0
  357. data/lib/datadog_api_client/v2/models/validate_v2_attributes.rb +167 -0
  358. data/lib/datadog_api_client/v2/models/validate_v2_data.rb +165 -0
  359. data/lib/datadog_api_client/v2/models/validate_v2_response.rb +123 -0
  360. data/lib/datadog_api_client/v2/models/validate_v2_type.rb +26 -0
  361. data/lib/datadog_api_client/v2/models/web_integration_account_create_request.rb +123 -0
  362. data/lib/datadog_api_client/v2/models/web_integration_account_create_request_attributes.rb +166 -0
  363. data/lib/datadog_api_client/v2/models/web_integration_account_create_request_data.rb +144 -0
  364. data/lib/datadog_api_client/v2/models/web_integration_account_response.rb +105 -0
  365. data/lib/datadog_api_client/v2/models/{incident_team_update_attributes.rb → web_integration_account_response_attributes.rb} +17 -7
  366. data/lib/datadog_api_client/v2/models/web_integration_account_response_data.rb +165 -0
  367. data/lib/datadog_api_client/v2/models/web_integration_account_type.rb +26 -0
  368. data/lib/datadog_api_client/v2/models/web_integration_account_update_request.rb +123 -0
  369. data/lib/datadog_api_client/v2/models/{incident_team_response_attributes.rb → web_integration_account_update_request_attributes.rb} +25 -24
  370. data/lib/datadog_api_client/v2/models/web_integration_account_update_request_data.rb +144 -0
  371. data/lib/datadog_api_client/v2/models/web_integration_accounts_response.rb +107 -0
  372. data/lib/datadog_api_client/v2/models/widget_attributes.rb +5 -1
  373. data/lib/datadog_api_client/version.rb +1 -1
  374. metadata +268 -22
  375. data/examples/v2/incident-teams/CreateIncidentTeam.rb +0 -17
  376. data/examples/v2/incident-teams/DeleteIncidentTeam.rb +0 -11
  377. data/examples/v2/incident-teams/GetIncidentTeam.rb +0 -11
  378. data/examples/v2/incident-teams/ListIncidentTeams.rb +0 -14
  379. data/examples/v2/incident-teams/UpdateIncidentTeam.rb +0 -21
  380. data/lib/datadog_api_client/v2/api/incident_teams_api.rb +0 -419
@@ -890,32 +890,1164 @@ module DatadogAPIClient::V2
890
890
  return data, status_code, headers
891
891
  end
892
892
 
893
+ # Get commitments list.
894
+ #
895
+ # @see #get_commitments_commitment_list_with_http_info
896
+ def get_commitments_commitment_list(provider, product, start, _end, opts = {})
897
+ data, _status_code, _headers = get_commitments_commitment_list_with_http_info(provider, product, start, _end, opts)
898
+ data
899
+ end
900
+
901
+ # Get commitments list.
902
+ #
903
+ # 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.
904
+ #
905
+ # @param provider [CommitmentsProvider] Cloud provider for commitment programs (aws or azure).
906
+ # @param product [String] Cloud product identifier (for example, ec2, rds, virtualmachines).
907
+ # @param start [Integer] Start of the query time range in Unix milliseconds.
908
+ # @param _end [Integer] End of the query time range in Unix milliseconds.
909
+ # @param opts [Hash] the optional parameters
910
+ # @option opts [String] :filter_by Optional filter expression to narrow down results.
911
+ # @option opts [CommitmentsCommitmentType] :commitment_type Type of commitment to query. ri for Reserved Instances, sp for Savings Plans. Defaults to ri.
912
+ # @return [Array<(CommitmentsListResponse, Integer, Hash)>] CommitmentsListResponse data, response status code and response headers
913
+ def get_commitments_commitment_list_with_http_info(provider, product, start, _end, opts = {})
914
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_commitments_commitment_list".to_sym]
915
+ if unstable_enabled
916
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_commitments_commitment_list")
917
+ else
918
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_commitments_commitment_list"))
919
+ end
920
+
921
+ if @api_client.config.debugging
922
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_commitments_commitment_list ...'
923
+ end
924
+ # verify the required parameter 'provider' is set
925
+ if @api_client.config.client_side_validation && provider.nil?
926
+ fail ArgumentError, "Missing the required parameter 'provider' when calling CloudCostManagementAPI.get_commitments_commitment_list"
927
+ end
928
+ # verify enum value
929
+ allowable_values = ['aws', 'azure']
930
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
931
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
932
+ end
933
+ # verify the required parameter 'product' is set
934
+ if @api_client.config.client_side_validation && product.nil?
935
+ fail ArgumentError, "Missing the required parameter 'product' when calling CloudCostManagementAPI.get_commitments_commitment_list"
936
+ end
937
+ # verify the required parameter 'start' is set
938
+ if @api_client.config.client_side_validation && start.nil?
939
+ fail ArgumentError, "Missing the required parameter 'start' when calling CloudCostManagementAPI.get_commitments_commitment_list"
940
+ end
941
+ # verify the required parameter '_end' is set
942
+ if @api_client.config.client_side_validation && _end.nil?
943
+ fail ArgumentError, "Missing the required parameter '_end' when calling CloudCostManagementAPI.get_commitments_commitment_list"
944
+ end
945
+ allowable_values = ['ri', 'sp']
946
+ if @api_client.config.client_side_validation && opts[:'commitment_type'] && !allowable_values.include?(opts[:'commitment_type'])
947
+ fail ArgumentError, "invalid value for \"commitment_type\", must be one of #{allowable_values}"
948
+ end
949
+ # resource path
950
+ local_var_path = '/api/v2/cost/commitments/commitment-list'
951
+
952
+ # query parameters
953
+ query_params = opts[:query_params] || {}
954
+ query_params[:'provider'] = provider
955
+ query_params[:'product'] = product
956
+ query_params[:'start'] = start
957
+ query_params[:'end'] = _end
958
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
959
+ query_params[:'commitmentType'] = opts[:'commitment_type'] if !opts[:'commitment_type'].nil?
960
+
961
+ # header parameters
962
+ header_params = opts[:header_params] || {}
963
+ # HTTP header 'Accept' (if needed)
964
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
965
+
966
+ # form parameters
967
+ form_params = opts[:form_params] || {}
968
+
969
+ # http body (model)
970
+ post_body = opts[:debug_body]
971
+
972
+ # return_type
973
+ return_type = opts[:debug_return_type] || 'CommitmentsListResponse'
974
+
975
+ # auth_names
976
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
977
+
978
+ new_options = opts.merge(
979
+ :operation => :get_commitments_commitment_list,
980
+ :header_params => header_params,
981
+ :query_params => query_params,
982
+ :form_params => form_params,
983
+ :body => post_body,
984
+ :auth_names => auth_names,
985
+ :return_type => return_type,
986
+ :api_version => "V2"
987
+ )
988
+
989
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
990
+ if @api_client.config.debugging
991
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_commitments_commitment_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
992
+ end
993
+ return data, status_code, headers
994
+ end
995
+
996
+ # Get commitments coverage (scalar).
997
+ #
998
+ # @see #get_commitments_coverage_scalar_with_http_info
999
+ def get_commitments_coverage_scalar(provider, product, start, _end, opts = {})
1000
+ data, _status_code, _headers = get_commitments_coverage_scalar_with_http_info(provider, product, start, _end, opts)
1001
+ data
1002
+ end
1003
+
1004
+ # Get commitments coverage (scalar).
1005
+ #
1006
+ # Get scalar coverage metrics for cloud commitment programs, including hours and cost coverage percentages.
1007
+ #
1008
+ # @param provider [CommitmentsProvider] Cloud provider for commitment programs (aws or azure).
1009
+ # @param product [String] Cloud product identifier (for example, ec2, rds, virtualmachines).
1010
+ # @param start [Integer] Start of the query time range in Unix milliseconds.
1011
+ # @param _end [Integer] End of the query time range in Unix milliseconds.
1012
+ # @param opts [Hash] the optional parameters
1013
+ # @option opts [String] :filter_by Optional filter expression to narrow down results.
1014
+ # @return [Array<(CommitmentsCoverageScalarResponse, Integer, Hash)>] CommitmentsCoverageScalarResponse data, response status code and response headers
1015
+ def get_commitments_coverage_scalar_with_http_info(provider, product, start, _end, opts = {})
1016
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_commitments_coverage_scalar".to_sym]
1017
+ if unstable_enabled
1018
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_commitments_coverage_scalar")
1019
+ else
1020
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_commitments_coverage_scalar"))
1021
+ end
1022
+
1023
+ if @api_client.config.debugging
1024
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_commitments_coverage_scalar ...'
1025
+ end
1026
+ # verify the required parameter 'provider' is set
1027
+ if @api_client.config.client_side_validation && provider.nil?
1028
+ fail ArgumentError, "Missing the required parameter 'provider' when calling CloudCostManagementAPI.get_commitments_coverage_scalar"
1029
+ end
1030
+ # verify enum value
1031
+ allowable_values = ['aws', 'azure']
1032
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
1033
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
1034
+ end
1035
+ # verify the required parameter 'product' is set
1036
+ if @api_client.config.client_side_validation && product.nil?
1037
+ fail ArgumentError, "Missing the required parameter 'product' when calling CloudCostManagementAPI.get_commitments_coverage_scalar"
1038
+ end
1039
+ # verify the required parameter 'start' is set
1040
+ if @api_client.config.client_side_validation && start.nil?
1041
+ fail ArgumentError, "Missing the required parameter 'start' when calling CloudCostManagementAPI.get_commitments_coverage_scalar"
1042
+ end
1043
+ # verify the required parameter '_end' is set
1044
+ if @api_client.config.client_side_validation && _end.nil?
1045
+ fail ArgumentError, "Missing the required parameter '_end' when calling CloudCostManagementAPI.get_commitments_coverage_scalar"
1046
+ end
1047
+ # resource path
1048
+ local_var_path = '/api/v2/cost/commitments/coverage/scalar'
1049
+
1050
+ # query parameters
1051
+ query_params = opts[:query_params] || {}
1052
+ query_params[:'provider'] = provider
1053
+ query_params[:'product'] = product
1054
+ query_params[:'start'] = start
1055
+ query_params[:'end'] = _end
1056
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
1057
+
1058
+ # header parameters
1059
+ header_params = opts[:header_params] || {}
1060
+ # HTTP header 'Accept' (if needed)
1061
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1062
+
1063
+ # form parameters
1064
+ form_params = opts[:form_params] || {}
1065
+
1066
+ # http body (model)
1067
+ post_body = opts[:debug_body]
1068
+
1069
+ # return_type
1070
+ return_type = opts[:debug_return_type] || 'CommitmentsCoverageScalarResponse'
1071
+
1072
+ # auth_names
1073
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1074
+
1075
+ new_options = opts.merge(
1076
+ :operation => :get_commitments_coverage_scalar,
1077
+ :header_params => header_params,
1078
+ :query_params => query_params,
1079
+ :form_params => form_params,
1080
+ :body => post_body,
1081
+ :auth_names => auth_names,
1082
+ :return_type => return_type,
1083
+ :api_version => "V2"
1084
+ )
1085
+
1086
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1087
+ if @api_client.config.debugging
1088
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_commitments_coverage_scalar\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1089
+ end
1090
+ return data, status_code, headers
1091
+ end
1092
+
1093
+ # Get commitments coverage (timeseries).
1094
+ #
1095
+ # @see #get_commitments_coverage_timeseries_with_http_info
1096
+ def get_commitments_coverage_timeseries(provider, product, start, _end, opts = {})
1097
+ data, _status_code, _headers = get_commitments_coverage_timeseries_with_http_info(provider, product, start, _end, opts)
1098
+ data
1099
+ end
1100
+
1101
+ # Get commitments coverage (timeseries).
1102
+ #
1103
+ # Get timeseries coverage metrics for cloud commitment programs, broken down by coverage type (Reserved Instances, Savings Plans, On-Demand, and Spot) for both hours and cost.
1104
+ #
1105
+ # @param provider [CommitmentsProvider] Cloud provider for commitment programs (aws or azure).
1106
+ # @param product [String] Cloud product identifier (for example, ec2, rds, virtualmachines).
1107
+ # @param start [Integer] Start of the query time range in Unix milliseconds.
1108
+ # @param _end [Integer] End of the query time range in Unix milliseconds.
1109
+ # @param opts [Hash] the optional parameters
1110
+ # @option opts [String] :filter_by Optional filter expression to narrow down results.
1111
+ # @return [Array<(CommitmentsCoverageTimeseriesResponse, Integer, Hash)>] CommitmentsCoverageTimeseriesResponse data, response status code and response headers
1112
+ def get_commitments_coverage_timeseries_with_http_info(provider, product, start, _end, opts = {})
1113
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_commitments_coverage_timeseries".to_sym]
1114
+ if unstable_enabled
1115
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_commitments_coverage_timeseries")
1116
+ else
1117
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_commitments_coverage_timeseries"))
1118
+ end
1119
+
1120
+ if @api_client.config.debugging
1121
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_commitments_coverage_timeseries ...'
1122
+ end
1123
+ # verify the required parameter 'provider' is set
1124
+ if @api_client.config.client_side_validation && provider.nil?
1125
+ fail ArgumentError, "Missing the required parameter 'provider' when calling CloudCostManagementAPI.get_commitments_coverage_timeseries"
1126
+ end
1127
+ # verify enum value
1128
+ allowable_values = ['aws', 'azure']
1129
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
1130
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
1131
+ end
1132
+ # verify the required parameter 'product' is set
1133
+ if @api_client.config.client_side_validation && product.nil?
1134
+ fail ArgumentError, "Missing the required parameter 'product' when calling CloudCostManagementAPI.get_commitments_coverage_timeseries"
1135
+ end
1136
+ # verify the required parameter 'start' is set
1137
+ if @api_client.config.client_side_validation && start.nil?
1138
+ fail ArgumentError, "Missing the required parameter 'start' when calling CloudCostManagementAPI.get_commitments_coverage_timeseries"
1139
+ end
1140
+ # verify the required parameter '_end' is set
1141
+ if @api_client.config.client_side_validation && _end.nil?
1142
+ fail ArgumentError, "Missing the required parameter '_end' when calling CloudCostManagementAPI.get_commitments_coverage_timeseries"
1143
+ end
1144
+ # resource path
1145
+ local_var_path = '/api/v2/cost/commitments/coverage/timeseries'
1146
+
1147
+ # query parameters
1148
+ query_params = opts[:query_params] || {}
1149
+ query_params[:'provider'] = provider
1150
+ query_params[:'product'] = product
1151
+ query_params[:'start'] = start
1152
+ query_params[:'end'] = _end
1153
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
1154
+
1155
+ # header parameters
1156
+ header_params = opts[:header_params] || {}
1157
+ # HTTP header 'Accept' (if needed)
1158
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1159
+
1160
+ # form parameters
1161
+ form_params = opts[:form_params] || {}
1162
+
1163
+ # http body (model)
1164
+ post_body = opts[:debug_body]
1165
+
1166
+ # return_type
1167
+ return_type = opts[:debug_return_type] || 'CommitmentsCoverageTimeseriesResponse'
1168
+
1169
+ # auth_names
1170
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1171
+
1172
+ new_options = opts.merge(
1173
+ :operation => :get_commitments_coverage_timeseries,
1174
+ :header_params => header_params,
1175
+ :query_params => query_params,
1176
+ :form_params => form_params,
1177
+ :body => post_body,
1178
+ :auth_names => auth_names,
1179
+ :return_type => return_type,
1180
+ :api_version => "V2"
1181
+ )
1182
+
1183
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1184
+ if @api_client.config.debugging
1185
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_commitments_coverage_timeseries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1186
+ end
1187
+ return data, status_code, headers
1188
+ end
1189
+
1190
+ # Get commitments on-demand hot spots (scalar).
1191
+ #
1192
+ # @see #get_commitments_on_demand_hotspots_scalar_with_http_info
1193
+ def get_commitments_on_demand_hotspots_scalar(provider, product, start, _end, opts = {})
1194
+ data, _status_code, _headers = get_commitments_on_demand_hotspots_scalar_with_http_info(provider, product, start, _end, opts)
1195
+ data
1196
+ end
1197
+
1198
+ # Get commitments on-demand hot spots (scalar).
1199
+ #
1200
+ # Get scalar on-demand hot-spots data for cloud commitment programs, showing per-dimension breakdowns of on-demand spending with coverage metrics and potential savings.
1201
+ #
1202
+ # @param provider [CommitmentsProvider] Cloud provider for commitment programs (aws or azure).
1203
+ # @param product [String] Cloud product identifier (for example, ec2, rds, virtualmachines).
1204
+ # @param start [Integer] Start of the query time range in Unix milliseconds.
1205
+ # @param _end [Integer] End of the query time range in Unix milliseconds.
1206
+ # @param opts [Hash] the optional parameters
1207
+ # @option opts [String] :filter_by Optional filter expression to narrow down results.
1208
+ # @return [Array<(CommitmentsOnDemandHotspotsScalarResponse, Integer, Hash)>] CommitmentsOnDemandHotspotsScalarResponse data, response status code and response headers
1209
+ def get_commitments_on_demand_hotspots_scalar_with_http_info(provider, product, start, _end, opts = {})
1210
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_commitments_on_demand_hotspots_scalar".to_sym]
1211
+ if unstable_enabled
1212
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_commitments_on_demand_hotspots_scalar")
1213
+ else
1214
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_commitments_on_demand_hotspots_scalar"))
1215
+ end
1216
+
1217
+ if @api_client.config.debugging
1218
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_commitments_on_demand_hotspots_scalar ...'
1219
+ end
1220
+ # verify the required parameter 'provider' is set
1221
+ if @api_client.config.client_side_validation && provider.nil?
1222
+ fail ArgumentError, "Missing the required parameter 'provider' when calling CloudCostManagementAPI.get_commitments_on_demand_hotspots_scalar"
1223
+ end
1224
+ # verify enum value
1225
+ allowable_values = ['aws', 'azure']
1226
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
1227
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
1228
+ end
1229
+ # verify the required parameter 'product' is set
1230
+ if @api_client.config.client_side_validation && product.nil?
1231
+ fail ArgumentError, "Missing the required parameter 'product' when calling CloudCostManagementAPI.get_commitments_on_demand_hotspots_scalar"
1232
+ end
1233
+ # verify the required parameter 'start' is set
1234
+ if @api_client.config.client_side_validation && start.nil?
1235
+ fail ArgumentError, "Missing the required parameter 'start' when calling CloudCostManagementAPI.get_commitments_on_demand_hotspots_scalar"
1236
+ end
1237
+ # verify the required parameter '_end' is set
1238
+ if @api_client.config.client_side_validation && _end.nil?
1239
+ fail ArgumentError, "Missing the required parameter '_end' when calling CloudCostManagementAPI.get_commitments_on_demand_hotspots_scalar"
1240
+ end
1241
+ # resource path
1242
+ local_var_path = '/api/v2/cost/commitments/on-demand-hot-spots/scalar'
1243
+
1244
+ # query parameters
1245
+ query_params = opts[:query_params] || {}
1246
+ query_params[:'provider'] = provider
1247
+ query_params[:'product'] = product
1248
+ query_params[:'start'] = start
1249
+ query_params[:'end'] = _end
1250
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
1251
+
1252
+ # header parameters
1253
+ header_params = opts[:header_params] || {}
1254
+ # HTTP header 'Accept' (if needed)
1255
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1256
+
1257
+ # form parameters
1258
+ form_params = opts[:form_params] || {}
1259
+
1260
+ # http body (model)
1261
+ post_body = opts[:debug_body]
1262
+
1263
+ # return_type
1264
+ return_type = opts[:debug_return_type] || 'CommitmentsOnDemandHotspotsScalarResponse'
1265
+
1266
+ # auth_names
1267
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1268
+
1269
+ new_options = opts.merge(
1270
+ :operation => :get_commitments_on_demand_hotspots_scalar,
1271
+ :header_params => header_params,
1272
+ :query_params => query_params,
1273
+ :form_params => form_params,
1274
+ :body => post_body,
1275
+ :auth_names => auth_names,
1276
+ :return_type => return_type,
1277
+ :api_version => "V2"
1278
+ )
1279
+
1280
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1281
+ if @api_client.config.debugging
1282
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_commitments_on_demand_hotspots_scalar\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1283
+ end
1284
+ return data, status_code, headers
1285
+ end
1286
+
1287
+ # Get commitments savings (scalar).
1288
+ #
1289
+ # @see #get_commitments_savings_scalar_with_http_info
1290
+ def get_commitments_savings_scalar(provider, product, start, _end, opts = {})
1291
+ data, _status_code, _headers = get_commitments_savings_scalar_with_http_info(provider, product, start, _end, opts)
1292
+ data
1293
+ end
1294
+
1295
+ # Get commitments savings (scalar).
1296
+ #
1297
+ # Get scalar savings metrics for cloud commitment programs, including realized savings and effective savings rate.
1298
+ #
1299
+ # @param provider [CommitmentsProvider] Cloud provider for commitment programs (aws or azure).
1300
+ # @param product [String] Cloud product identifier (for example, ec2, rds, virtualmachines).
1301
+ # @param start [Integer] Start of the query time range in Unix milliseconds.
1302
+ # @param _end [Integer] End of the query time range in Unix milliseconds.
1303
+ # @param opts [Hash] the optional parameters
1304
+ # @option opts [String] :filter_by Optional filter expression to narrow down results.
1305
+ # @return [Array<(CommitmentsSavingsScalarResponse, Integer, Hash)>] CommitmentsSavingsScalarResponse data, response status code and response headers
1306
+ def get_commitments_savings_scalar_with_http_info(provider, product, start, _end, opts = {})
1307
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_commitments_savings_scalar".to_sym]
1308
+ if unstable_enabled
1309
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_commitments_savings_scalar")
1310
+ else
1311
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_commitments_savings_scalar"))
1312
+ end
1313
+
1314
+ if @api_client.config.debugging
1315
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_commitments_savings_scalar ...'
1316
+ end
1317
+ # verify the required parameter 'provider' is set
1318
+ if @api_client.config.client_side_validation && provider.nil?
1319
+ fail ArgumentError, "Missing the required parameter 'provider' when calling CloudCostManagementAPI.get_commitments_savings_scalar"
1320
+ end
1321
+ # verify enum value
1322
+ allowable_values = ['aws', 'azure']
1323
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
1324
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
1325
+ end
1326
+ # verify the required parameter 'product' is set
1327
+ if @api_client.config.client_side_validation && product.nil?
1328
+ fail ArgumentError, "Missing the required parameter 'product' when calling CloudCostManagementAPI.get_commitments_savings_scalar"
1329
+ end
1330
+ # verify the required parameter 'start' is set
1331
+ if @api_client.config.client_side_validation && start.nil?
1332
+ fail ArgumentError, "Missing the required parameter 'start' when calling CloudCostManagementAPI.get_commitments_savings_scalar"
1333
+ end
1334
+ # verify the required parameter '_end' is set
1335
+ if @api_client.config.client_side_validation && _end.nil?
1336
+ fail ArgumentError, "Missing the required parameter '_end' when calling CloudCostManagementAPI.get_commitments_savings_scalar"
1337
+ end
1338
+ # resource path
1339
+ local_var_path = '/api/v2/cost/commitments/savings/scalar'
1340
+
1341
+ # query parameters
1342
+ query_params = opts[:query_params] || {}
1343
+ query_params[:'provider'] = provider
1344
+ query_params[:'product'] = product
1345
+ query_params[:'start'] = start
1346
+ query_params[:'end'] = _end
1347
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
1348
+
1349
+ # header parameters
1350
+ header_params = opts[:header_params] || {}
1351
+ # HTTP header 'Accept' (if needed)
1352
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1353
+
1354
+ # form parameters
1355
+ form_params = opts[:form_params] || {}
1356
+
1357
+ # http body (model)
1358
+ post_body = opts[:debug_body]
1359
+
1360
+ # return_type
1361
+ return_type = opts[:debug_return_type] || 'CommitmentsSavingsScalarResponse'
1362
+
1363
+ # auth_names
1364
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1365
+
1366
+ new_options = opts.merge(
1367
+ :operation => :get_commitments_savings_scalar,
1368
+ :header_params => header_params,
1369
+ :query_params => query_params,
1370
+ :form_params => form_params,
1371
+ :body => post_body,
1372
+ :auth_names => auth_names,
1373
+ :return_type => return_type,
1374
+ :api_version => "V2"
1375
+ )
1376
+
1377
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1378
+ if @api_client.config.debugging
1379
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_commitments_savings_scalar\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1380
+ end
1381
+ return data, status_code, headers
1382
+ end
1383
+
1384
+ # Get commitments savings (timeseries).
1385
+ #
1386
+ # @see #get_commitments_savings_timeseries_with_http_info
1387
+ def get_commitments_savings_timeseries(provider, product, start, _end, opts = {})
1388
+ data, _status_code, _headers = get_commitments_savings_timeseries_with_http_info(provider, product, start, _end, opts)
1389
+ data
1390
+ end
1391
+
1392
+ # Get commitments savings (timeseries).
1393
+ #
1394
+ # Get timeseries savings metrics for cloud commitment programs, including actual cost, on-demand equivalent cost, realized savings, and effective savings rate over time.
1395
+ #
1396
+ # @param provider [CommitmentsProvider] Cloud provider for commitment programs (aws or azure).
1397
+ # @param product [String] Cloud product identifier (for example, ec2, rds, virtualmachines).
1398
+ # @param start [Integer] Start of the query time range in Unix milliseconds.
1399
+ # @param _end [Integer] End of the query time range in Unix milliseconds.
1400
+ # @param opts [Hash] the optional parameters
1401
+ # @option opts [String] :filter_by Optional filter expression to narrow down results.
1402
+ # @return [Array<(CommitmentsSavingsTimeseriesResponse, Integer, Hash)>] CommitmentsSavingsTimeseriesResponse data, response status code and response headers
1403
+ def get_commitments_savings_timeseries_with_http_info(provider, product, start, _end, opts = {})
1404
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_commitments_savings_timeseries".to_sym]
1405
+ if unstable_enabled
1406
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_commitments_savings_timeseries")
1407
+ else
1408
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_commitments_savings_timeseries"))
1409
+ end
1410
+
1411
+ if @api_client.config.debugging
1412
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_commitments_savings_timeseries ...'
1413
+ end
1414
+ # verify the required parameter 'provider' is set
1415
+ if @api_client.config.client_side_validation && provider.nil?
1416
+ fail ArgumentError, "Missing the required parameter 'provider' when calling CloudCostManagementAPI.get_commitments_savings_timeseries"
1417
+ end
1418
+ # verify enum value
1419
+ allowable_values = ['aws', 'azure']
1420
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
1421
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
1422
+ end
1423
+ # verify the required parameter 'product' is set
1424
+ if @api_client.config.client_side_validation && product.nil?
1425
+ fail ArgumentError, "Missing the required parameter 'product' when calling CloudCostManagementAPI.get_commitments_savings_timeseries"
1426
+ end
1427
+ # verify the required parameter 'start' is set
1428
+ if @api_client.config.client_side_validation && start.nil?
1429
+ fail ArgumentError, "Missing the required parameter 'start' when calling CloudCostManagementAPI.get_commitments_savings_timeseries"
1430
+ end
1431
+ # verify the required parameter '_end' is set
1432
+ if @api_client.config.client_side_validation && _end.nil?
1433
+ fail ArgumentError, "Missing the required parameter '_end' when calling CloudCostManagementAPI.get_commitments_savings_timeseries"
1434
+ end
1435
+ # resource path
1436
+ local_var_path = '/api/v2/cost/commitments/savings/timeseries'
1437
+
1438
+ # query parameters
1439
+ query_params = opts[:query_params] || {}
1440
+ query_params[:'provider'] = provider
1441
+ query_params[:'product'] = product
1442
+ query_params[:'start'] = start
1443
+ query_params[:'end'] = _end
1444
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
1445
+
1446
+ # header parameters
1447
+ header_params = opts[:header_params] || {}
1448
+ # HTTP header 'Accept' (if needed)
1449
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1450
+
1451
+ # form parameters
1452
+ form_params = opts[:form_params] || {}
1453
+
1454
+ # http body (model)
1455
+ post_body = opts[:debug_body]
1456
+
1457
+ # return_type
1458
+ return_type = opts[:debug_return_type] || 'CommitmentsSavingsTimeseriesResponse'
1459
+
1460
+ # auth_names
1461
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1462
+
1463
+ new_options = opts.merge(
1464
+ :operation => :get_commitments_savings_timeseries,
1465
+ :header_params => header_params,
1466
+ :query_params => query_params,
1467
+ :form_params => form_params,
1468
+ :body => post_body,
1469
+ :auth_names => auth_names,
1470
+ :return_type => return_type,
1471
+ :api_version => "V2"
1472
+ )
1473
+
1474
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1475
+ if @api_client.config.debugging
1476
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_commitments_savings_timeseries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1477
+ end
1478
+ return data, status_code, headers
1479
+ end
1480
+
1481
+ # Get commitments utilization (scalar).
1482
+ #
1483
+ # @see #get_commitments_utilization_scalar_with_http_info
1484
+ def get_commitments_utilization_scalar(provider, product, start, _end, opts = {})
1485
+ data, _status_code, _headers = get_commitments_utilization_scalar_with_http_info(provider, product, start, _end, opts)
1486
+ data
1487
+ end
1488
+
1489
+ # Get commitments utilization (scalar).
1490
+ #
1491
+ # Get scalar utilization metrics for cloud commitment programs, including utilization percentage and unused cost.
1492
+ #
1493
+ # @param provider [CommitmentsProvider] Cloud provider for commitment programs (aws or azure).
1494
+ # @param product [String] Cloud product identifier (for example, ec2, rds, virtualmachines).
1495
+ # @param start [Integer] Start of the query time range in Unix milliseconds.
1496
+ # @param _end [Integer] End of the query time range in Unix milliseconds.
1497
+ # @param opts [Hash] the optional parameters
1498
+ # @option opts [String] :filter_by Optional filter expression to narrow down results.
1499
+ # @option opts [CommitmentsCommitmentType] :commitment_type Type of commitment to query. ri for Reserved Instances, sp for Savings Plans. Defaults to ri.
1500
+ # @return [Array<(CommitmentsUtilizationScalarResponse, Integer, Hash)>] CommitmentsUtilizationScalarResponse data, response status code and response headers
1501
+ def get_commitments_utilization_scalar_with_http_info(provider, product, start, _end, opts = {})
1502
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_commitments_utilization_scalar".to_sym]
1503
+ if unstable_enabled
1504
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_commitments_utilization_scalar")
1505
+ else
1506
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_commitments_utilization_scalar"))
1507
+ end
1508
+
1509
+ if @api_client.config.debugging
1510
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_commitments_utilization_scalar ...'
1511
+ end
1512
+ # verify the required parameter 'provider' is set
1513
+ if @api_client.config.client_side_validation && provider.nil?
1514
+ fail ArgumentError, "Missing the required parameter 'provider' when calling CloudCostManagementAPI.get_commitments_utilization_scalar"
1515
+ end
1516
+ # verify enum value
1517
+ allowable_values = ['aws', 'azure']
1518
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
1519
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
1520
+ end
1521
+ # verify the required parameter 'product' is set
1522
+ if @api_client.config.client_side_validation && product.nil?
1523
+ fail ArgumentError, "Missing the required parameter 'product' when calling CloudCostManagementAPI.get_commitments_utilization_scalar"
1524
+ end
1525
+ # verify the required parameter 'start' is set
1526
+ if @api_client.config.client_side_validation && start.nil?
1527
+ fail ArgumentError, "Missing the required parameter 'start' when calling CloudCostManagementAPI.get_commitments_utilization_scalar"
1528
+ end
1529
+ # verify the required parameter '_end' is set
1530
+ if @api_client.config.client_side_validation && _end.nil?
1531
+ fail ArgumentError, "Missing the required parameter '_end' when calling CloudCostManagementAPI.get_commitments_utilization_scalar"
1532
+ end
1533
+ allowable_values = ['ri', 'sp']
1534
+ if @api_client.config.client_side_validation && opts[:'commitment_type'] && !allowable_values.include?(opts[:'commitment_type'])
1535
+ fail ArgumentError, "invalid value for \"commitment_type\", must be one of #{allowable_values}"
1536
+ end
1537
+ # resource path
1538
+ local_var_path = '/api/v2/cost/commitments/utilization/scalar'
1539
+
1540
+ # query parameters
1541
+ query_params = opts[:query_params] || {}
1542
+ query_params[:'provider'] = provider
1543
+ query_params[:'product'] = product
1544
+ query_params[:'start'] = start
1545
+ query_params[:'end'] = _end
1546
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
1547
+ query_params[:'commitmentType'] = opts[:'commitment_type'] if !opts[:'commitment_type'].nil?
1548
+
1549
+ # header parameters
1550
+ header_params = opts[:header_params] || {}
1551
+ # HTTP header 'Accept' (if needed)
1552
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1553
+
1554
+ # form parameters
1555
+ form_params = opts[:form_params] || {}
1556
+
1557
+ # http body (model)
1558
+ post_body = opts[:debug_body]
1559
+
1560
+ # return_type
1561
+ return_type = opts[:debug_return_type] || 'CommitmentsUtilizationScalarResponse'
1562
+
1563
+ # auth_names
1564
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1565
+
1566
+ new_options = opts.merge(
1567
+ :operation => :get_commitments_utilization_scalar,
1568
+ :header_params => header_params,
1569
+ :query_params => query_params,
1570
+ :form_params => form_params,
1571
+ :body => post_body,
1572
+ :auth_names => auth_names,
1573
+ :return_type => return_type,
1574
+ :api_version => "V2"
1575
+ )
1576
+
1577
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1578
+ if @api_client.config.debugging
1579
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_commitments_utilization_scalar\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1580
+ end
1581
+ return data, status_code, headers
1582
+ end
1583
+
1584
+ # Get commitments utilization (timeseries).
1585
+ #
1586
+ # @see #get_commitments_utilization_timeseries_with_http_info
1587
+ def get_commitments_utilization_timeseries(provider, product, start, _end, opts = {})
1588
+ data, _status_code, _headers = get_commitments_utilization_timeseries_with_http_info(provider, product, start, _end, opts)
1589
+ data
1590
+ end
1591
+
1592
+ # Get commitments utilization (timeseries).
1593
+ #
1594
+ # Get timeseries utilization metrics for cloud commitment programs, including used and unused cost series over time.
1595
+ #
1596
+ # @param provider [CommitmentsProvider] Cloud provider for commitment programs (aws or azure).
1597
+ # @param product [String] Cloud product identifier (for example, ec2, rds, virtualmachines).
1598
+ # @param start [Integer] Start of the query time range in Unix milliseconds.
1599
+ # @param _end [Integer] End of the query time range in Unix milliseconds.
1600
+ # @param opts [Hash] the optional parameters
1601
+ # @option opts [String] :filter_by Optional filter expression to narrow down results.
1602
+ # @option opts [CommitmentsCommitmentType] :commitment_type Type of commitment to query. ri for Reserved Instances, sp for Savings Plans. Defaults to ri.
1603
+ # @return [Array<(CommitmentsUtilizationTimeseriesResponse, Integer, Hash)>] CommitmentsUtilizationTimeseriesResponse data, response status code and response headers
1604
+ def get_commitments_utilization_timeseries_with_http_info(provider, product, start, _end, opts = {})
1605
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_commitments_utilization_timeseries".to_sym]
1606
+ if unstable_enabled
1607
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_commitments_utilization_timeseries")
1608
+ else
1609
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_commitments_utilization_timeseries"))
1610
+ end
1611
+
1612
+ if @api_client.config.debugging
1613
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_commitments_utilization_timeseries ...'
1614
+ end
1615
+ # verify the required parameter 'provider' is set
1616
+ if @api_client.config.client_side_validation && provider.nil?
1617
+ fail ArgumentError, "Missing the required parameter 'provider' when calling CloudCostManagementAPI.get_commitments_utilization_timeseries"
1618
+ end
1619
+ # verify enum value
1620
+ allowable_values = ['aws', 'azure']
1621
+ if @api_client.config.client_side_validation && !allowable_values.include?(provider)
1622
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{allowable_values}"
1623
+ end
1624
+ # verify the required parameter 'product' is set
1625
+ if @api_client.config.client_side_validation && product.nil?
1626
+ fail ArgumentError, "Missing the required parameter 'product' when calling CloudCostManagementAPI.get_commitments_utilization_timeseries"
1627
+ end
1628
+ # verify the required parameter 'start' is set
1629
+ if @api_client.config.client_side_validation && start.nil?
1630
+ fail ArgumentError, "Missing the required parameter 'start' when calling CloudCostManagementAPI.get_commitments_utilization_timeseries"
1631
+ end
1632
+ # verify the required parameter '_end' is set
1633
+ if @api_client.config.client_side_validation && _end.nil?
1634
+ fail ArgumentError, "Missing the required parameter '_end' when calling CloudCostManagementAPI.get_commitments_utilization_timeseries"
1635
+ end
1636
+ allowable_values = ['ri', 'sp']
1637
+ if @api_client.config.client_side_validation && opts[:'commitment_type'] && !allowable_values.include?(opts[:'commitment_type'])
1638
+ fail ArgumentError, "invalid value for \"commitment_type\", must be one of #{allowable_values}"
1639
+ end
1640
+ # resource path
1641
+ local_var_path = '/api/v2/cost/commitments/utilization/timeseries'
1642
+
1643
+ # query parameters
1644
+ query_params = opts[:query_params] || {}
1645
+ query_params[:'provider'] = provider
1646
+ query_params[:'product'] = product
1647
+ query_params[:'start'] = start
1648
+ query_params[:'end'] = _end
1649
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
1650
+ query_params[:'commitmentType'] = opts[:'commitment_type'] if !opts[:'commitment_type'].nil?
1651
+
1652
+ # header parameters
1653
+ header_params = opts[:header_params] || {}
1654
+ # HTTP header 'Accept' (if needed)
1655
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1656
+
1657
+ # form parameters
1658
+ form_params = opts[:form_params] || {}
1659
+
1660
+ # http body (model)
1661
+ post_body = opts[:debug_body]
1662
+
1663
+ # return_type
1664
+ return_type = opts[:debug_return_type] || 'CommitmentsUtilizationTimeseriesResponse'
1665
+
1666
+ # auth_names
1667
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1668
+
1669
+ new_options = opts.merge(
1670
+ :operation => :get_commitments_utilization_timeseries,
1671
+ :header_params => header_params,
1672
+ :query_params => query_params,
1673
+ :form_params => form_params,
1674
+ :body => post_body,
1675
+ :auth_names => auth_names,
1676
+ :return_type => return_type,
1677
+ :api_version => "V2"
1678
+ )
1679
+
1680
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1681
+ if @api_client.config.debugging
1682
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_commitments_utilization_timeseries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1683
+ end
1684
+ return data, status_code, headers
1685
+ end
1686
+
1687
+ # Get cost anomaly.
1688
+ #
1689
+ # @see #get_cost_anomaly_with_http_info
1690
+ def get_cost_anomaly(anomaly_id, opts = {})
1691
+ data, _status_code, _headers = get_cost_anomaly_with_http_info(anomaly_id, opts)
1692
+ data
1693
+ end
1694
+
1695
+ # Get cost anomaly.
1696
+ #
1697
+ # Get a detected Cloud Cost Management anomaly by UUID.
1698
+ #
1699
+ # @param anomaly_id [String] The UUID of the cost anomaly.
1700
+ # @param opts [Hash] the optional parameters
1701
+ # @return [Array<(CostAnomalyResponse, Integer, Hash)>] CostAnomalyResponse data, response status code and response headers
1702
+ def get_cost_anomaly_with_http_info(anomaly_id, opts = {})
1703
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_cost_anomaly".to_sym]
1704
+ if unstable_enabled
1705
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_cost_anomaly")
1706
+ else
1707
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_cost_anomaly"))
1708
+ end
1709
+
1710
+ if @api_client.config.debugging
1711
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_cost_anomaly ...'
1712
+ end
1713
+ # verify the required parameter 'anomaly_id' is set
1714
+ if @api_client.config.client_side_validation && anomaly_id.nil?
1715
+ fail ArgumentError, "Missing the required parameter 'anomaly_id' when calling CloudCostManagementAPI.get_cost_anomaly"
1716
+ end
1717
+ # resource path
1718
+ local_var_path = '/api/v2/cost/anomalies/{anomaly_id}'.sub('{anomaly_id}', CGI.escape(anomaly_id.to_s).gsub('%2F', '/'))
1719
+
1720
+ # query parameters
1721
+ query_params = opts[:query_params] || {}
1722
+
1723
+ # header parameters
1724
+ header_params = opts[:header_params] || {}
1725
+ # HTTP header 'Accept' (if needed)
1726
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1727
+
1728
+ # form parameters
1729
+ form_params = opts[:form_params] || {}
1730
+
1731
+ # http body (model)
1732
+ post_body = opts[:debug_body]
1733
+
1734
+ # return_type
1735
+ return_type = opts[:debug_return_type] || 'CostAnomalyResponse'
1736
+
1737
+ # auth_names
1738
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1739
+
1740
+ new_options = opts.merge(
1741
+ :operation => :get_cost_anomaly,
1742
+ :header_params => header_params,
1743
+ :query_params => query_params,
1744
+ :form_params => form_params,
1745
+ :body => post_body,
1746
+ :auth_names => auth_names,
1747
+ :return_type => return_type,
1748
+ :api_version => "V2"
1749
+ )
1750
+
1751
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1752
+ if @api_client.config.debugging
1753
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_cost_anomaly\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1754
+ end
1755
+ return data, status_code, headers
1756
+ end
1757
+
1758
+ # Get cost AWS CUR config.
1759
+ #
1760
+ # @see #get_cost_awscur_config_with_http_info
1761
+ def get_cost_awscur_config(cloud_account_id, opts = {})
1762
+ data, _status_code, _headers = get_cost_awscur_config_with_http_info(cloud_account_id, opts)
1763
+ data
1764
+ end
1765
+
893
1766
  # Get cost AWS CUR config.
894
1767
  #
895
- # @see #get_cost_awscur_config_with_http_info
896
- def get_cost_awscur_config(cloud_account_id, opts = {})
897
- data, _status_code, _headers = get_cost_awscur_config_with_http_info(cloud_account_id, opts)
1768
+ # Get a specific AWS CUR config.
1769
+ #
1770
+ # @param cloud_account_id [Integer] The unique identifier of the cloud account
1771
+ # @param opts [Hash] the optional parameters
1772
+ # @return [Array<(AwsCurConfigResponse, Integer, Hash)>] AwsCurConfigResponse data, response status code and response headers
1773
+ def get_cost_awscur_config_with_http_info(cloud_account_id, opts = {})
1774
+
1775
+ if @api_client.config.debugging
1776
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_cost_awscur_config ...'
1777
+ end
1778
+ # verify the required parameter 'cloud_account_id' is set
1779
+ if @api_client.config.client_side_validation && cloud_account_id.nil?
1780
+ fail ArgumentError, "Missing the required parameter 'cloud_account_id' when calling CloudCostManagementAPI.get_cost_awscur_config"
1781
+ end
1782
+ # resource path
1783
+ local_var_path = '/api/v2/cost/aws_cur_config/{cloud_account_id}'.sub('{cloud_account_id}', CGI.escape(cloud_account_id.to_s).gsub('%2F', '/'))
1784
+
1785
+ # query parameters
1786
+ query_params = opts[:query_params] || {}
1787
+
1788
+ # header parameters
1789
+ header_params = opts[:header_params] || {}
1790
+ # HTTP header 'Accept' (if needed)
1791
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1792
+
1793
+ # form parameters
1794
+ form_params = opts[:form_params] || {}
1795
+
1796
+ # http body (model)
1797
+ post_body = opts[:debug_body]
1798
+
1799
+ # return_type
1800
+ return_type = opts[:debug_return_type] || 'AwsCurConfigResponse'
1801
+
1802
+ # auth_names
1803
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1804
+
1805
+ new_options = opts.merge(
1806
+ :operation => :get_cost_awscur_config,
1807
+ :header_params => header_params,
1808
+ :query_params => query_params,
1809
+ :form_params => form_params,
1810
+ :body => post_body,
1811
+ :auth_names => auth_names,
1812
+ :return_type => return_type,
1813
+ :api_version => "V2"
1814
+ )
1815
+
1816
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1817
+ if @api_client.config.debugging
1818
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_cost_awscur_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1819
+ end
1820
+ return data, status_code, headers
1821
+ end
1822
+
1823
+ # Get cost Azure UC config.
1824
+ #
1825
+ # @see #get_cost_azure_uc_config_with_http_info
1826
+ def get_cost_azure_uc_config(cloud_account_id, opts = {})
1827
+ data, _status_code, _headers = get_cost_azure_uc_config_with_http_info(cloud_account_id, opts)
1828
+ data
1829
+ end
1830
+
1831
+ # Get cost Azure UC config.
1832
+ #
1833
+ # Get a specific Azure config.
1834
+ #
1835
+ # @param cloud_account_id [Integer] The unique identifier of the cloud account
1836
+ # @param opts [Hash] the optional parameters
1837
+ # @return [Array<(UCConfigPair, Integer, Hash)>] UCConfigPair data, response status code and response headers
1838
+ def get_cost_azure_uc_config_with_http_info(cloud_account_id, opts = {})
1839
+
1840
+ if @api_client.config.debugging
1841
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_cost_azure_uc_config ...'
1842
+ end
1843
+ # verify the required parameter 'cloud_account_id' is set
1844
+ if @api_client.config.client_side_validation && cloud_account_id.nil?
1845
+ fail ArgumentError, "Missing the required parameter 'cloud_account_id' when calling CloudCostManagementAPI.get_cost_azure_uc_config"
1846
+ end
1847
+ # resource path
1848
+ local_var_path = '/api/v2/cost/azure_uc_config/{cloud_account_id}'.sub('{cloud_account_id}', CGI.escape(cloud_account_id.to_s).gsub('%2F', '/'))
1849
+
1850
+ # query parameters
1851
+ query_params = opts[:query_params] || {}
1852
+
1853
+ # header parameters
1854
+ header_params = opts[:header_params] || {}
1855
+ # HTTP header 'Accept' (if needed)
1856
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1857
+
1858
+ # form parameters
1859
+ form_params = opts[:form_params] || {}
1860
+
1861
+ # http body (model)
1862
+ post_body = opts[:debug_body]
1863
+
1864
+ # return_type
1865
+ return_type = opts[:debug_return_type] || 'UCConfigPair'
1866
+
1867
+ # auth_names
1868
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1869
+
1870
+ new_options = opts.merge(
1871
+ :operation => :get_cost_azure_uc_config,
1872
+ :header_params => header_params,
1873
+ :query_params => query_params,
1874
+ :form_params => form_params,
1875
+ :body => post_body,
1876
+ :auth_names => auth_names,
1877
+ :return_type => return_type,
1878
+ :api_version => "V2"
1879
+ )
1880
+
1881
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1882
+ if @api_client.config.debugging
1883
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_cost_azure_uc_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1884
+ end
1885
+ return data, status_code, headers
1886
+ end
1887
+
1888
+ # Get Google Cloud Usage Cost config.
1889
+ #
1890
+ # @see #get_cost_gcp_usage_cost_config_with_http_info
1891
+ def get_cost_gcp_usage_cost_config(cloud_account_id, opts = {})
1892
+ data, _status_code, _headers = get_cost_gcp_usage_cost_config_with_http_info(cloud_account_id, opts)
1893
+ data
1894
+ end
1895
+
1896
+ # Get Google Cloud Usage Cost config.
1897
+ #
1898
+ # Get a specific Google Cloud Usage Cost config.
1899
+ #
1900
+ # @param cloud_account_id [Integer] The unique identifier of the cloud account
1901
+ # @param opts [Hash] the optional parameters
1902
+ # @return [Array<(GcpUcConfigResponse, Integer, Hash)>] GcpUcConfigResponse data, response status code and response headers
1903
+ def get_cost_gcp_usage_cost_config_with_http_info(cloud_account_id, opts = {})
1904
+
1905
+ if @api_client.config.debugging
1906
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_cost_gcp_usage_cost_config ...'
1907
+ end
1908
+ # verify the required parameter 'cloud_account_id' is set
1909
+ if @api_client.config.client_side_validation && cloud_account_id.nil?
1910
+ fail ArgumentError, "Missing the required parameter 'cloud_account_id' when calling CloudCostManagementAPI.get_cost_gcp_usage_cost_config"
1911
+ end
1912
+ # resource path
1913
+ local_var_path = '/api/v2/cost/gcp_uc_config/{cloud_account_id}'.sub('{cloud_account_id}', CGI.escape(cloud_account_id.to_s).gsub('%2F', '/'))
1914
+
1915
+ # query parameters
1916
+ query_params = opts[:query_params] || {}
1917
+
1918
+ # header parameters
1919
+ header_params = opts[:header_params] || {}
1920
+ # HTTP header 'Accept' (if needed)
1921
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1922
+
1923
+ # form parameters
1924
+ form_params = opts[:form_params] || {}
1925
+
1926
+ # http body (model)
1927
+ post_body = opts[:debug_body]
1928
+
1929
+ # return_type
1930
+ return_type = opts[:debug_return_type] || 'GcpUcConfigResponse'
1931
+
1932
+ # auth_names
1933
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1934
+
1935
+ new_options = opts.merge(
1936
+ :operation => :get_cost_gcp_usage_cost_config,
1937
+ :header_params => header_params,
1938
+ :query_params => query_params,
1939
+ :form_params => form_params,
1940
+ :body => post_body,
1941
+ :auth_names => auth_names,
1942
+ :return_type => return_type,
1943
+ :api_version => "V2"
1944
+ )
1945
+
1946
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1947
+ if @api_client.config.debugging
1948
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_cost_gcp_usage_cost_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1949
+ end
1950
+ return data, status_code, headers
1951
+ end
1952
+
1953
+ # Get a Cloud Cost Management tag key.
1954
+ #
1955
+ # @see #get_cost_tag_key_with_http_info
1956
+ def get_cost_tag_key(tag_key, opts = {})
1957
+ data, _status_code, _headers = get_cost_tag_key_with_http_info(tag_key, opts)
1958
+ data
1959
+ end
1960
+
1961
+ # Get a Cloud Cost Management tag key.
1962
+ #
1963
+ # Get details for a specific Cloud Cost Management tag key, including example tag values and description.
1964
+ #
1965
+ # @param tag_key [String] The Cloud Cost Management tag key. Tag keys can contain forward slashes (for example, `kubernetes/instance`).
1966
+ # @param opts [Hash] the optional parameters
1967
+ # @option opts [String] :filter_metric The Cloud Cost Management metric to scope the tag key details to. When omitted, returns details across all metrics.
1968
+ # @option opts [Integer] :page_size Controls the size of the internal tag value search scope. This does **not** restrict the number of example tag values returned in the response. Defaults to 50, maximum 10000.
1969
+ # @return [Array<(CostTagKeyResponse, Integer, Hash)>] CostTagKeyResponse data, response status code and response headers
1970
+ def get_cost_tag_key_with_http_info(tag_key, opts = {})
1971
+
1972
+ if @api_client.config.debugging
1973
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_cost_tag_key ...'
1974
+ end
1975
+ # verify the required parameter 'tag_key' is set
1976
+ if @api_client.config.client_side_validation && tag_key.nil?
1977
+ fail ArgumentError, "Missing the required parameter 'tag_key' when calling CloudCostManagementAPI.get_cost_tag_key"
1978
+ end
1979
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1980
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CloudCostManagementAPI.get_cost_tag_key, must be smaller than or equal to 10000.'
1981
+ end
1982
+ # resource path
1983
+ local_var_path = '/api/v2/cost/tag_keys/{tag_key}'.sub('{tag_key}', CGI.escape(tag_key.to_s).gsub('%2F', '/'))
1984
+
1985
+ # query parameters
1986
+ query_params = opts[:query_params] || {}
1987
+ query_params[:'filter[metric]'] = opts[:'filter_metric'] if !opts[:'filter_metric'].nil?
1988
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1989
+
1990
+ # header parameters
1991
+ header_params = opts[:header_params] || {}
1992
+ # HTTP header 'Accept' (if needed)
1993
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1994
+
1995
+ # form parameters
1996
+ form_params = opts[:form_params] || {}
1997
+
1998
+ # http body (model)
1999
+ post_body = opts[:debug_body]
2000
+
2001
+ # return_type
2002
+ return_type = opts[:debug_return_type] || 'CostTagKeyResponse'
2003
+
2004
+ # auth_names
2005
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
2006
+
2007
+ new_options = opts.merge(
2008
+ :operation => :get_cost_tag_key,
2009
+ :header_params => header_params,
2010
+ :query_params => query_params,
2011
+ :form_params => form_params,
2012
+ :body => post_body,
2013
+ :auth_names => auth_names,
2014
+ :return_type => return_type,
2015
+ :api_version => "V2"
2016
+ )
2017
+
2018
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
2019
+ if @api_client.config.debugging
2020
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_cost_tag_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2021
+ end
2022
+ return data, status_code, headers
2023
+ end
2024
+
2025
+ # Get custom allocation rule.
2026
+ #
2027
+ # @see #get_custom_allocation_rule_with_http_info
2028
+ def get_custom_allocation_rule(rule_id, opts = {})
2029
+ data, _status_code, _headers = get_custom_allocation_rule_with_http_info(rule_id, opts)
898
2030
  data
899
2031
  end
900
2032
 
901
- # Get cost AWS CUR config.
2033
+ # Get custom allocation rule.
902
2034
  #
903
- # Get a specific AWS CUR config.
2035
+ # Get a specific custom allocation rule - Retrieve a specific custom allocation rule by its ID
904
2036
  #
905
- # @param cloud_account_id [Integer] The unique identifier of the cloud account
2037
+ # @param rule_id [Integer] The unique identifier of the custom allocation rule
906
2038
  # @param opts [Hash] the optional parameters
907
- # @return [Array<(AwsCurConfigResponse, Integer, Hash)>] AwsCurConfigResponse data, response status code and response headers
908
- def get_cost_awscur_config_with_http_info(cloud_account_id, opts = {})
2039
+ # @return [Array<(ArbitraryRuleResponse, Integer, Hash)>] ArbitraryRuleResponse data, response status code and response headers
2040
+ def get_custom_allocation_rule_with_http_info(rule_id, opts = {})
909
2041
 
910
2042
  if @api_client.config.debugging
911
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_cost_awscur_config ...'
2043
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_custom_allocation_rule ...'
912
2044
  end
913
- # verify the required parameter 'cloud_account_id' is set
914
- if @api_client.config.client_side_validation && cloud_account_id.nil?
915
- fail ArgumentError, "Missing the required parameter 'cloud_account_id' when calling CloudCostManagementAPI.get_cost_awscur_config"
2045
+ # verify the required parameter 'rule_id' is set
2046
+ if @api_client.config.client_side_validation && rule_id.nil?
2047
+ fail ArgumentError, "Missing the required parameter 'rule_id' when calling CloudCostManagementAPI.get_custom_allocation_rule"
916
2048
  end
917
2049
  # resource path
918
- local_var_path = '/api/v2/cost/aws_cur_config/{cloud_account_id}'.sub('{cloud_account_id}', CGI.escape(cloud_account_id.to_s).gsub('%2F', '/'))
2050
+ local_var_path = '/api/v2/cost/arbitrary_rule/{rule_id}'.sub('{rule_id}', CGI.escape(rule_id.to_s).gsub('%2F', '/'))
919
2051
 
920
2052
  # query parameters
921
2053
  query_params = opts[:query_params] || {}
@@ -932,13 +2064,13 @@ module DatadogAPIClient::V2
932
2064
  post_body = opts[:debug_body]
933
2065
 
934
2066
  # return_type
935
- return_type = opts[:debug_return_type] || 'AwsCurConfigResponse'
2067
+ return_type = opts[:debug_return_type] || 'ArbitraryRuleResponse'
936
2068
 
937
2069
  # auth_names
938
2070
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
939
2071
 
940
2072
  new_options = opts.merge(
941
- :operation => :get_cost_awscur_config,
2073
+ :operation => :get_custom_allocation_rule,
942
2074
  :header_params => header_params,
943
2075
  :query_params => query_params,
944
2076
  :form_params => form_params,
@@ -950,40 +2082,253 @@ module DatadogAPIClient::V2
950
2082
 
951
2083
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
952
2084
  if @api_client.config.debugging
953
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_cost_awscur_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2085
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_custom_allocation_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
954
2086
  end
955
2087
  return data, status_code, headers
956
2088
  end
957
2089
 
958
- # Get cost Azure UC config.
2090
+ # Get Custom Costs file.
959
2091
  #
960
- # @see #get_cost_azure_uc_config_with_http_info
961
- def get_cost_azure_uc_config(cloud_account_id, opts = {})
962
- data, _status_code, _headers = get_cost_azure_uc_config_with_http_info(cloud_account_id, opts)
2092
+ # @see #get_custom_costs_file_with_http_info
2093
+ def get_custom_costs_file(file_id, opts = {})
2094
+ data, _status_code, _headers = get_custom_costs_file_with_http_info(file_id, opts)
963
2095
  data
964
2096
  end
965
2097
 
966
- # Get cost Azure UC config.
2098
+ # Get Custom Costs file.
967
2099
  #
968
- # Get a specific Azure config.
2100
+ # Fetch the specified Custom Costs file.
969
2101
  #
970
- # @param cloud_account_id [Integer] The unique identifier of the cloud account
2102
+ # @param file_id [String] File ID.
971
2103
  # @param opts [Hash] the optional parameters
972
- # @return [Array<(UCConfigPair, Integer, Hash)>] UCConfigPair data, response status code and response headers
973
- def get_cost_azure_uc_config_with_http_info(cloud_account_id, opts = {})
2104
+ # @return [Array<(CustomCostsFileGetResponse, Integer, Hash)>] CustomCostsFileGetResponse data, response status code and response headers
2105
+ def get_custom_costs_file_with_http_info(file_id, opts = {})
2106
+
2107
+ if @api_client.config.debugging
2108
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_custom_costs_file ...'
2109
+ end
2110
+ # verify the required parameter 'file_id' is set
2111
+ if @api_client.config.client_side_validation && file_id.nil?
2112
+ fail ArgumentError, "Missing the required parameter 'file_id' when calling CloudCostManagementAPI.get_custom_costs_file"
2113
+ end
2114
+ # resource path
2115
+ local_var_path = '/api/v2/cost/custom_costs/{file_id}'.sub('{file_id}', CGI.escape(file_id.to_s).gsub('%2F', '/'))
2116
+
2117
+ # query parameters
2118
+ query_params = opts[:query_params] || {}
2119
+
2120
+ # header parameters
2121
+ header_params = opts[:header_params] || {}
2122
+ # HTTP header 'Accept' (if needed)
2123
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2124
+
2125
+ # form parameters
2126
+ form_params = opts[:form_params] || {}
2127
+
2128
+ # http body (model)
2129
+ post_body = opts[:debug_body]
2130
+
2131
+ # return_type
2132
+ return_type = opts[:debug_return_type] || 'CustomCostsFileGetResponse'
2133
+
2134
+ # auth_names
2135
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
2136
+
2137
+ new_options = opts.merge(
2138
+ :operation => :get_custom_costs_file,
2139
+ :header_params => header_params,
2140
+ :query_params => query_params,
2141
+ :form_params => form_params,
2142
+ :body => post_body,
2143
+ :auth_names => auth_names,
2144
+ :return_type => return_type,
2145
+ :api_version => "V2"
2146
+ )
2147
+
2148
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
2149
+ if @api_client.config.debugging
2150
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_custom_costs_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2151
+ end
2152
+ return data, status_code, headers
2153
+ end
2154
+
2155
+ # Get a tag pipeline ruleset.
2156
+ #
2157
+ # @see #get_tag_pipelines_ruleset_with_http_info
2158
+ def get_tag_pipelines_ruleset(ruleset_id, opts = {})
2159
+ data, _status_code, _headers = get_tag_pipelines_ruleset_with_http_info(ruleset_id, opts)
2160
+ data
2161
+ end
2162
+
2163
+ # Get a tag pipeline ruleset.
2164
+ #
2165
+ # Get a specific tag pipeline ruleset - Retrieve a specific tag pipeline ruleset by its ID
2166
+ #
2167
+ # @param ruleset_id [String] The unique identifier of the ruleset
2168
+ # @param opts [Hash] the optional parameters
2169
+ # @return [Array<(RulesetResp, Integer, Hash)>] RulesetResp data, response status code and response headers
2170
+ def get_tag_pipelines_ruleset_with_http_info(ruleset_id, opts = {})
2171
+
2172
+ if @api_client.config.debugging
2173
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_tag_pipelines_ruleset ...'
2174
+ end
2175
+ # verify the required parameter 'ruleset_id' is set
2176
+ if @api_client.config.client_side_validation && ruleset_id.nil?
2177
+ fail ArgumentError, "Missing the required parameter 'ruleset_id' when calling CloudCostManagementAPI.get_tag_pipelines_ruleset"
2178
+ end
2179
+ # resource path
2180
+ local_var_path = '/api/v2/tags/enrichment/{ruleset_id}'.sub('{ruleset_id}', CGI.escape(ruleset_id.to_s).gsub('%2F', '/'))
2181
+
2182
+ # query parameters
2183
+ query_params = opts[:query_params] || {}
2184
+
2185
+ # header parameters
2186
+ header_params = opts[:header_params] || {}
2187
+ # HTTP header 'Accept' (if needed)
2188
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2189
+
2190
+ # form parameters
2191
+ form_params = opts[:form_params] || {}
2192
+
2193
+ # http body (model)
2194
+ post_body = opts[:debug_body]
2195
+
2196
+ # return_type
2197
+ return_type = opts[:debug_return_type] || 'RulesetResp'
2198
+
2199
+ # auth_names
2200
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
2201
+
2202
+ new_options = opts.merge(
2203
+ :operation => :get_tag_pipelines_ruleset,
2204
+ :header_params => header_params,
2205
+ :query_params => query_params,
2206
+ :form_params => form_params,
2207
+ :body => post_body,
2208
+ :auth_names => auth_names,
2209
+ :return_type => return_type,
2210
+ :api_version => "V2"
2211
+ )
2212
+
2213
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
2214
+ if @api_client.config.debugging
2215
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_tag_pipelines_ruleset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2216
+ end
2217
+ return data, status_code, headers
2218
+ end
2219
+
2220
+ # List budgets.
2221
+ #
2222
+ # @see #list_budgets_with_http_info
2223
+ def list_budgets(opts = {})
2224
+ data, _status_code, _headers = list_budgets_with_http_info(opts)
2225
+ data
2226
+ end
2227
+
2228
+ # List budgets.
2229
+ #
2230
+ # List budgets.
2231
+ #
2232
+ # @param opts [Hash] the optional parameters
2233
+ # @return [Array<(BudgetArray, Integer, Hash)>] BudgetArray data, response status code and response headers
2234
+ def list_budgets_with_http_info(opts = {})
2235
+
2236
+ if @api_client.config.debugging
2237
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_budgets ...'
2238
+ end
2239
+ # resource path
2240
+ local_var_path = '/api/v2/cost/budgets'
2241
+
2242
+ # query parameters
2243
+ query_params = opts[:query_params] || {}
2244
+
2245
+ # header parameters
2246
+ header_params = opts[:header_params] || {}
2247
+ # HTTP header 'Accept' (if needed)
2248
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2249
+
2250
+ # form parameters
2251
+ form_params = opts[:form_params] || {}
2252
+
2253
+ # http body (model)
2254
+ post_body = opts[:debug_body]
2255
+
2256
+ # return_type
2257
+ return_type = opts[:debug_return_type] || 'BudgetArray'
2258
+
2259
+ # auth_names
2260
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
2261
+
2262
+ new_options = opts.merge(
2263
+ :operation => :list_budgets,
2264
+ :header_params => header_params,
2265
+ :query_params => query_params,
2266
+ :form_params => form_params,
2267
+ :body => post_body,
2268
+ :auth_names => auth_names,
2269
+ :return_type => return_type,
2270
+ :api_version => "V2"
2271
+ )
2272
+
2273
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
2274
+ if @api_client.config.debugging
2275
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_budgets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2276
+ end
2277
+ return data, status_code, headers
2278
+ end
2279
+
2280
+ # List cost anomalies.
2281
+ #
2282
+ # @see #list_cost_anomalies_with_http_info
2283
+ def list_cost_anomalies(opts = {})
2284
+ data, _status_code, _headers = list_cost_anomalies_with_http_info(opts)
2285
+ data
2286
+ end
974
2287
 
975
- if @api_client.config.debugging
976
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_cost_azure_uc_config ...'
977
- end
978
- # verify the required parameter 'cloud_account_id' is set
979
- if @api_client.config.client_side_validation && cloud_account_id.nil?
980
- fail ArgumentError, "Missing the required parameter 'cloud_account_id' when calling CloudCostManagementAPI.get_cost_azure_uc_config"
2288
+ # List cost anomalies.
2289
+ #
2290
+ # List detected Cloud Cost Management anomalies for the organization.
2291
+ #
2292
+ # @param opts [Hash] the optional parameters
2293
+ # @option opts [Integer] :start Start time as Unix milliseconds. Defaults to the start of the latest stable seven-day window.
2294
+ # @option opts [Integer] :_end End time as Unix milliseconds. Defaults to the end of the latest stable seven-day window.
2295
+ # @option opts [String] :filter Optional JSON object mapping cost tag keys to allowed values, for example `{"team":["payments"],"env":["prod"]}`. Filters match anomaly dimensions or correlated tags.
2296
+ # @option opts [String] :min_anomalous_threshold Minimum absolute anomalous cost change to include. Numeric value; defaults to `1`.
2297
+ # @option opts [String] :min_cost_threshold Minimum absolute actual cost to include. Numeric value; defaults to `0`.
2298
+ # @option opts [String] :dismissal_cause Filter by resolution state. Use `none` for unresolved anomalies, `all` or `*` for resolved anomalies, or a comma-separated list of causes.
2299
+ # @option opts [String] :order_by Sort field. One of `start_date`, `end_date`, `duration`, `max_cost`, `anomalous_cost`, or `dismissal_date`. Defaults to `anomalous_cost`.
2300
+ # @option opts [String] :order Sort direction. One of `asc` or `desc`. Defaults to `desc`.
2301
+ # @option opts [Integer] :limit Maximum number of anomalies to return. Defaults to `200`.
2302
+ # @option opts [Integer] :offset Pagination offset. Defaults to `0`.
2303
+ # @option opts [Array<String>] :provider_ids Optional repeated cloud or SaaS provider filters, such as `aws`, `gcp`, `azure`, `Oracle`, `datadog`, `OpenAI`, or `Anthropic`.
2304
+ # @return [Array<(CostAnomaliesResponse, Integer, Hash)>] CostAnomaliesResponse data, response status code and response headers
2305
+ def list_cost_anomalies_with_http_info(opts = {})
2306
+ unstable_enabled = @api_client.config.unstable_operations["v2.list_cost_anomalies".to_sym]
2307
+ if unstable_enabled
2308
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.list_cost_anomalies")
2309
+ else
2310
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.list_cost_anomalies"))
2311
+ end
2312
+
2313
+ if @api_client.config.debugging
2314
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_anomalies ...'
981
2315
  end
982
2316
  # resource path
983
- local_var_path = '/api/v2/cost/azure_uc_config/{cloud_account_id}'.sub('{cloud_account_id}', CGI.escape(cloud_account_id.to_s).gsub('%2F', '/'))
2317
+ local_var_path = '/api/v2/cost/anomalies'
984
2318
 
985
2319
  # query parameters
986
2320
  query_params = opts[:query_params] || {}
2321
+ query_params[:'start'] = opts[:'start'] if !opts[:'start'].nil?
2322
+ query_params[:'end'] = opts[:'_end'] if !opts[:'_end'].nil?
2323
+ query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
2324
+ query_params[:'min_anomalous_threshold'] = opts[:'min_anomalous_threshold'] if !opts[:'min_anomalous_threshold'].nil?
2325
+ query_params[:'min_cost_threshold'] = opts[:'min_cost_threshold'] if !opts[:'min_cost_threshold'].nil?
2326
+ query_params[:'dismissal_cause'] = opts[:'dismissal_cause'] if !opts[:'dismissal_cause'].nil?
2327
+ query_params[:'order_by'] = opts[:'order_by'] if !opts[:'order_by'].nil?
2328
+ query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
2329
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
2330
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
2331
+ query_params[:'provider_ids'] = @api_client.build_collection_param(opts[:'provider_ids'], :multi) if !opts[:'provider_ids'].nil?
987
2332
 
988
2333
  # header parameters
989
2334
  header_params = opts[:header_params] || {}
@@ -997,13 +2342,13 @@ module DatadogAPIClient::V2
997
2342
  post_body = opts[:debug_body]
998
2343
 
999
2344
  # return_type
1000
- return_type = opts[:debug_return_type] || 'UCConfigPair'
2345
+ return_type = opts[:debug_return_type] || 'CostAnomaliesResponse'
1001
2346
 
1002
2347
  # auth_names
1003
2348
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1004
2349
 
1005
2350
  new_options = opts.merge(
1006
- :operation => :get_cost_azure_uc_config,
2351
+ :operation => :list_cost_anomalies,
1007
2352
  :header_params => header_params,
1008
2353
  :query_params => query_params,
1009
2354
  :form_params => form_params,
@@ -1012,40 +2357,36 @@ module DatadogAPIClient::V2
1012
2357
  :return_type => return_type,
1013
2358
  :api_version => "V2"
1014
2359
  )
2360
+ new_options[:query_string_normalizer] = HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER
1015
2361
 
1016
2362
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1017
2363
  if @api_client.config.debugging
1018
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_cost_azure_uc_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2364
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_anomalies\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1019
2365
  end
1020
2366
  return data, status_code, headers
1021
2367
  end
1022
2368
 
1023
- # Get Google Cloud Usage Cost config.
2369
+ # List Cloud Cost Management AWS CUR configs.
1024
2370
  #
1025
- # @see #get_cost_gcp_usage_cost_config_with_http_info
1026
- def get_cost_gcp_usage_cost_config(cloud_account_id, opts = {})
1027
- data, _status_code, _headers = get_cost_gcp_usage_cost_config_with_http_info(cloud_account_id, opts)
2371
+ # @see #list_cost_awscur_configs_with_http_info
2372
+ def list_cost_awscur_configs(opts = {})
2373
+ data, _status_code, _headers = list_cost_awscur_configs_with_http_info(opts)
1028
2374
  data
1029
2375
  end
1030
2376
 
1031
- # Get Google Cloud Usage Cost config.
2377
+ # List Cloud Cost Management AWS CUR configs.
1032
2378
  #
1033
- # Get a specific Google Cloud Usage Cost config.
2379
+ # List the AWS CUR configs.
1034
2380
  #
1035
- # @param cloud_account_id [Integer] The unique identifier of the cloud account
1036
2381
  # @param opts [Hash] the optional parameters
1037
- # @return [Array<(GcpUcConfigResponse, Integer, Hash)>] GcpUcConfigResponse data, response status code and response headers
1038
- def get_cost_gcp_usage_cost_config_with_http_info(cloud_account_id, opts = {})
2382
+ # @return [Array<(AwsCURConfigsResponse, Integer, Hash)>] AwsCURConfigsResponse data, response status code and response headers
2383
+ def list_cost_awscur_configs_with_http_info(opts = {})
1039
2384
 
1040
2385
  if @api_client.config.debugging
1041
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_cost_gcp_usage_cost_config ...'
1042
- end
1043
- # verify the required parameter 'cloud_account_id' is set
1044
- if @api_client.config.client_side_validation && cloud_account_id.nil?
1045
- fail ArgumentError, "Missing the required parameter 'cloud_account_id' when calling CloudCostManagementAPI.get_cost_gcp_usage_cost_config"
2386
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_awscur_configs ...'
1046
2387
  end
1047
2388
  # resource path
1048
- local_var_path = '/api/v2/cost/gcp_uc_config/{cloud_account_id}'.sub('{cloud_account_id}', CGI.escape(cloud_account_id.to_s).gsub('%2F', '/'))
2389
+ local_var_path = '/api/v2/cost/aws_cur_config'
1049
2390
 
1050
2391
  # query parameters
1051
2392
  query_params = opts[:query_params] || {}
@@ -1062,13 +2403,13 @@ module DatadogAPIClient::V2
1062
2403
  post_body = opts[:debug_body]
1063
2404
 
1064
2405
  # return_type
1065
- return_type = opts[:debug_return_type] || 'GcpUcConfigResponse'
2406
+ return_type = opts[:debug_return_type] || 'AwsCURConfigsResponse'
1066
2407
 
1067
2408
  # auth_names
1068
2409
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1069
2410
 
1070
2411
  new_options = opts.merge(
1071
- :operation => :get_cost_gcp_usage_cost_config,
2412
+ :operation => :list_cost_awscur_configs,
1072
2413
  :header_params => header_params,
1073
2414
  :query_params => query_params,
1074
2415
  :form_params => form_params,
@@ -1080,37 +2421,32 @@ module DatadogAPIClient::V2
1080
2421
 
1081
2422
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1082
2423
  if @api_client.config.debugging
1083
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_cost_gcp_usage_cost_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2424
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_awscur_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1084
2425
  end
1085
2426
  return data, status_code, headers
1086
2427
  end
1087
2428
 
1088
- # Get custom allocation rule.
2429
+ # List Cloud Cost Management Azure configs.
1089
2430
  #
1090
- # @see #get_custom_allocation_rule_with_http_info
1091
- def get_custom_allocation_rule(rule_id, opts = {})
1092
- data, _status_code, _headers = get_custom_allocation_rule_with_http_info(rule_id, opts)
2431
+ # @see #list_cost_azure_uc_configs_with_http_info
2432
+ def list_cost_azure_uc_configs(opts = {})
2433
+ data, _status_code, _headers = list_cost_azure_uc_configs_with_http_info(opts)
1093
2434
  data
1094
2435
  end
1095
2436
 
1096
- # Get custom allocation rule.
2437
+ # List Cloud Cost Management Azure configs.
1097
2438
  #
1098
- # Get a specific custom allocation rule - Retrieve a specific custom allocation rule by its ID
2439
+ # List the Azure configs.
1099
2440
  #
1100
- # @param rule_id [Integer] The unique identifier of the custom allocation rule
1101
2441
  # @param opts [Hash] the optional parameters
1102
- # @return [Array<(ArbitraryRuleResponse, Integer, Hash)>] ArbitraryRuleResponse data, response status code and response headers
1103
- def get_custom_allocation_rule_with_http_info(rule_id, opts = {})
2442
+ # @return [Array<(AzureUCConfigsResponse, Integer, Hash)>] AzureUCConfigsResponse data, response status code and response headers
2443
+ def list_cost_azure_uc_configs_with_http_info(opts = {})
1104
2444
 
1105
2445
  if @api_client.config.debugging
1106
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_custom_allocation_rule ...'
1107
- end
1108
- # verify the required parameter 'rule_id' is set
1109
- if @api_client.config.client_side_validation && rule_id.nil?
1110
- fail ArgumentError, "Missing the required parameter 'rule_id' when calling CloudCostManagementAPI.get_custom_allocation_rule"
2446
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_azure_uc_configs ...'
1111
2447
  end
1112
2448
  # resource path
1113
- local_var_path = '/api/v2/cost/arbitrary_rule/{rule_id}'.sub('{rule_id}', CGI.escape(rule_id.to_s).gsub('%2F', '/'))
2449
+ local_var_path = '/api/v2/cost/azure_uc_config'
1114
2450
 
1115
2451
  # query parameters
1116
2452
  query_params = opts[:query_params] || {}
@@ -1127,13 +2463,13 @@ module DatadogAPIClient::V2
1127
2463
  post_body = opts[:debug_body]
1128
2464
 
1129
2465
  # return_type
1130
- return_type = opts[:debug_return_type] || 'ArbitraryRuleResponse'
2466
+ return_type = opts[:debug_return_type] || 'AzureUCConfigsResponse'
1131
2467
 
1132
2468
  # auth_names
1133
2469
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1134
2470
 
1135
2471
  new_options = opts.merge(
1136
- :operation => :get_custom_allocation_rule,
2472
+ :operation => :list_cost_azure_uc_configs,
1137
2473
  :header_params => header_params,
1138
2474
  :query_params => query_params,
1139
2475
  :form_params => form_params,
@@ -1145,37 +2481,32 @@ module DatadogAPIClient::V2
1145
2481
 
1146
2482
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1147
2483
  if @api_client.config.debugging
1148
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_custom_allocation_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2484
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_azure_uc_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1149
2485
  end
1150
2486
  return data, status_code, headers
1151
2487
  end
1152
2488
 
1153
- # Get Custom Costs file.
2489
+ # List Google Cloud Usage Cost configs.
1154
2490
  #
1155
- # @see #get_custom_costs_file_with_http_info
1156
- def get_custom_costs_file(file_id, opts = {})
1157
- data, _status_code, _headers = get_custom_costs_file_with_http_info(file_id, opts)
2491
+ # @see #list_cost_gcp_usage_cost_configs_with_http_info
2492
+ def list_cost_gcp_usage_cost_configs(opts = {})
2493
+ data, _status_code, _headers = list_cost_gcp_usage_cost_configs_with_http_info(opts)
1158
2494
  data
1159
2495
  end
1160
2496
 
1161
- # Get Custom Costs file.
2497
+ # List Google Cloud Usage Cost configs.
1162
2498
  #
1163
- # Fetch the specified Custom Costs file.
2499
+ # List the Google Cloud Usage Cost configs.
1164
2500
  #
1165
- # @param file_id [String] File ID.
1166
2501
  # @param opts [Hash] the optional parameters
1167
- # @return [Array<(CustomCostsFileGetResponse, Integer, Hash)>] CustomCostsFileGetResponse data, response status code and response headers
1168
- def get_custom_costs_file_with_http_info(file_id, opts = {})
2502
+ # @return [Array<(GCPUsageCostConfigsResponse, Integer, Hash)>] GCPUsageCostConfigsResponse data, response status code and response headers
2503
+ def list_cost_gcp_usage_cost_configs_with_http_info(opts = {})
1169
2504
 
1170
2505
  if @api_client.config.debugging
1171
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_custom_costs_file ...'
1172
- end
1173
- # verify the required parameter 'file_id' is set
1174
- if @api_client.config.client_side_validation && file_id.nil?
1175
- fail ArgumentError, "Missing the required parameter 'file_id' when calling CloudCostManagementAPI.get_custom_costs_file"
2506
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_gcp_usage_cost_configs ...'
1176
2507
  end
1177
2508
  # resource path
1178
- local_var_path = '/api/v2/cost/custom_costs/{file_id}'.sub('{file_id}', CGI.escape(file_id.to_s).gsub('%2F', '/'))
2509
+ local_var_path = '/api/v2/cost/gcp_uc_config'
1179
2510
 
1180
2511
  # query parameters
1181
2512
  query_params = opts[:query_params] || {}
@@ -1192,13 +2523,13 @@ module DatadogAPIClient::V2
1192
2523
  post_body = opts[:debug_body]
1193
2524
 
1194
2525
  # return_type
1195
- return_type = opts[:debug_return_type] || 'CustomCostsFileGetResponse'
2526
+ return_type = opts[:debug_return_type] || 'GCPUsageCostConfigsResponse'
1196
2527
 
1197
2528
  # auth_names
1198
2529
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1199
2530
 
1200
2531
  new_options = opts.merge(
1201
- :operation => :get_custom_costs_file,
2532
+ :operation => :list_cost_gcp_usage_cost_configs,
1202
2533
  :header_params => header_params,
1203
2534
  :query_params => query_params,
1204
2535
  :form_params => form_params,
@@ -1210,37 +2541,32 @@ module DatadogAPIClient::V2
1210
2541
 
1211
2542
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1212
2543
  if @api_client.config.debugging
1213
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_custom_costs_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2544
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_gcp_usage_cost_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1214
2545
  end
1215
2546
  return data, status_code, headers
1216
2547
  end
1217
2548
 
1218
- # Get a tag pipeline ruleset.
2549
+ # List Cloud Cost Management OCI configs.
1219
2550
  #
1220
- # @see #get_tag_pipelines_ruleset_with_http_info
1221
- def get_tag_pipelines_ruleset(ruleset_id, opts = {})
1222
- data, _status_code, _headers = get_tag_pipelines_ruleset_with_http_info(ruleset_id, opts)
2551
+ # @see #list_cost_oci_configs_with_http_info
2552
+ def list_cost_oci_configs(opts = {})
2553
+ data, _status_code, _headers = list_cost_oci_configs_with_http_info(opts)
1223
2554
  data
1224
2555
  end
1225
2556
 
1226
- # Get a tag pipeline ruleset.
2557
+ # List Cloud Cost Management OCI configs.
1227
2558
  #
1228
- # Get a specific tag pipeline ruleset - Retrieve a specific tag pipeline ruleset by its ID
2559
+ # List the OCI configs.
1229
2560
  #
1230
- # @param ruleset_id [String] The unique identifier of the ruleset
1231
2561
  # @param opts [Hash] the optional parameters
1232
- # @return [Array<(RulesetResp, Integer, Hash)>] RulesetResp data, response status code and response headers
1233
- def get_tag_pipelines_ruleset_with_http_info(ruleset_id, opts = {})
2562
+ # @return [Array<(OCIConfigsResponse, Integer, Hash)>] OCIConfigsResponse data, response status code and response headers
2563
+ def list_cost_oci_configs_with_http_info(opts = {})
1234
2564
 
1235
2565
  if @api_client.config.debugging
1236
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.get_tag_pipelines_ruleset ...'
1237
- end
1238
- # verify the required parameter 'ruleset_id' is set
1239
- if @api_client.config.client_side_validation && ruleset_id.nil?
1240
- fail ArgumentError, "Missing the required parameter 'ruleset_id' when calling CloudCostManagementAPI.get_tag_pipelines_ruleset"
2566
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_oci_configs ...'
1241
2567
  end
1242
2568
  # resource path
1243
- local_var_path = '/api/v2/tags/enrichment/{ruleset_id}'.sub('{ruleset_id}', CGI.escape(ruleset_id.to_s).gsub('%2F', '/'))
2569
+ local_var_path = '/api/v2/cost/oci_config'
1244
2570
 
1245
2571
  # query parameters
1246
2572
  query_params = opts[:query_params] || {}
@@ -1257,13 +2583,13 @@ module DatadogAPIClient::V2
1257
2583
  post_body = opts[:debug_body]
1258
2584
 
1259
2585
  # return_type
1260
- return_type = opts[:debug_return_type] || 'RulesetResp'
2586
+ return_type = opts[:debug_return_type] || 'OCIConfigsResponse'
1261
2587
 
1262
2588
  # auth_names
1263
2589
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1264
2590
 
1265
2591
  new_options = opts.merge(
1266
- :operation => :get_tag_pipelines_ruleset,
2592
+ :operation => :list_cost_oci_configs,
1267
2593
  :header_params => header_params,
1268
2594
  :query_params => query_params,
1269
2595
  :form_params => form_params,
@@ -1275,35 +2601,37 @@ module DatadogAPIClient::V2
1275
2601
 
1276
2602
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1277
2603
  if @api_client.config.debugging
1278
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#get_tag_pipelines_ruleset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2604
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_oci_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1279
2605
  end
1280
2606
  return data, status_code, headers
1281
2607
  end
1282
2608
 
1283
- # List budgets.
2609
+ # List Cloud Cost Management tag descriptions.
1284
2610
  #
1285
- # @see #list_budgets_with_http_info
1286
- def list_budgets(opts = {})
1287
- data, _status_code, _headers = list_budgets_with_http_info(opts)
2611
+ # @see #list_cost_tag_descriptions_with_http_info
2612
+ def list_cost_tag_descriptions(opts = {})
2613
+ data, _status_code, _headers = list_cost_tag_descriptions_with_http_info(opts)
1288
2614
  data
1289
2615
  end
1290
2616
 
1291
- # List budgets.
2617
+ # List Cloud Cost Management tag descriptions.
1292
2618
  #
1293
- # List budgets.
2619
+ # List Cloud Cost Management tag key descriptions for the organization. Use `filter[cloud]` to scope the result to a single cloud provider; when omitted, both cross-cloud defaults and cloud-specific descriptions are returned.
1294
2620
  #
1295
2621
  # @param opts [Hash] the optional parameters
1296
- # @return [Array<(BudgetArray, Integer, Hash)>] BudgetArray data, response status code and response headers
1297
- def list_budgets_with_http_info(opts = {})
2622
+ # @option opts [String] :filter_cloud Filter descriptions to a specific cloud provider (for example, `aws`). Omit to return descriptions across all clouds.
2623
+ # @return [Array<(CostTagDescriptionsResponse, Integer, Hash)>] CostTagDescriptionsResponse data, response status code and response headers
2624
+ def list_cost_tag_descriptions_with_http_info(opts = {})
1298
2625
 
1299
2626
  if @api_client.config.debugging
1300
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_budgets ...'
2627
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_tag_descriptions ...'
1301
2628
  end
1302
2629
  # resource path
1303
- local_var_path = '/api/v2/cost/budgets'
2630
+ local_var_path = '/api/v2/cost/tag_descriptions'
1304
2631
 
1305
2632
  # query parameters
1306
2633
  query_params = opts[:query_params] || {}
2634
+ query_params[:'filter[cloud]'] = opts[:'filter_cloud'] if !opts[:'filter_cloud'].nil?
1307
2635
 
1308
2636
  # header parameters
1309
2637
  header_params = opts[:header_params] || {}
@@ -1317,13 +2645,13 @@ module DatadogAPIClient::V2
1317
2645
  post_body = opts[:debug_body]
1318
2646
 
1319
2647
  # return_type
1320
- return_type = opts[:debug_return_type] || 'BudgetArray'
2648
+ return_type = opts[:debug_return_type] || 'CostTagDescriptionsResponse'
1321
2649
 
1322
2650
  # auth_names
1323
- auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
2651
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1324
2652
 
1325
2653
  new_options = opts.merge(
1326
- :operation => :list_budgets,
2654
+ :operation => :list_cost_tag_descriptions,
1327
2655
  :header_params => header_params,
1328
2656
  :query_params => query_params,
1329
2657
  :form_params => form_params,
@@ -1335,35 +2663,39 @@ module DatadogAPIClient::V2
1335
2663
 
1336
2664
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1337
2665
  if @api_client.config.debugging
1338
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_budgets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2666
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_tag_descriptions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1339
2667
  end
1340
2668
  return data, status_code, headers
1341
2669
  end
1342
2670
 
1343
- # List Cloud Cost Management AWS CUR configs.
2671
+ # List Cloud Cost Management tag keys.
1344
2672
  #
1345
- # @see #list_cost_awscur_configs_with_http_info
1346
- def list_cost_awscur_configs(opts = {})
1347
- data, _status_code, _headers = list_cost_awscur_configs_with_http_info(opts)
2673
+ # @see #list_cost_tag_keys_with_http_info
2674
+ def list_cost_tag_keys(opts = {})
2675
+ data, _status_code, _headers = list_cost_tag_keys_with_http_info(opts)
1348
2676
  data
1349
2677
  end
1350
2678
 
1351
- # List Cloud Cost Management AWS CUR configs.
2679
+ # List Cloud Cost Management tag keys.
1352
2680
  #
1353
- # List the AWS CUR configs.
2681
+ # List Cloud Cost Management tag keys.
1354
2682
  #
1355
2683
  # @param opts [Hash] the optional parameters
1356
- # @return [Array<(AwsCURConfigsResponse, Integer, Hash)>] AwsCURConfigsResponse data, response status code and response headers
1357
- def list_cost_awscur_configs_with_http_info(opts = {})
2684
+ # @option opts [String] :filter_metric The Cloud Cost Management metric to scope the tag keys to. When omitted, returns tag keys across all metrics.
2685
+ # @option opts [Array<String>] :filter_tags Filter to return only tag keys that appear with the given `key:value` tag values. For example, `filter[tags]=providername:aws` returns tag keys found on the same cost data, such as `is_aws_ec2_compute` and `aws_instance_type`.
2686
+ # @return [Array<(CostTagKeysResponse, Integer, Hash)>] CostTagKeysResponse data, response status code and response headers
2687
+ def list_cost_tag_keys_with_http_info(opts = {})
1358
2688
 
1359
2689
  if @api_client.config.debugging
1360
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_awscur_configs ...'
2690
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_tag_keys ...'
1361
2691
  end
1362
2692
  # resource path
1363
- local_var_path = '/api/v2/cost/aws_cur_config'
2693
+ local_var_path = '/api/v2/cost/tag_keys'
1364
2694
 
1365
2695
  # query parameters
1366
2696
  query_params = opts[:query_params] || {}
2697
+ query_params[:'filter[metric]'] = opts[:'filter_metric'] if !opts[:'filter_metric'].nil?
2698
+ query_params[:'filter[tags]'] = @api_client.build_collection_param(opts[:'filter_tags'], :multi) if !opts[:'filter_tags'].nil?
1367
2699
 
1368
2700
  # header parameters
1369
2701
  header_params = opts[:header_params] || {}
@@ -1377,13 +2709,13 @@ module DatadogAPIClient::V2
1377
2709
  post_body = opts[:debug_body]
1378
2710
 
1379
2711
  # return_type
1380
- return_type = opts[:debug_return_type] || 'AwsCURConfigsResponse'
2712
+ return_type = opts[:debug_return_type] || 'CostTagKeysResponse'
1381
2713
 
1382
2714
  # auth_names
1383
2715
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1384
2716
 
1385
2717
  new_options = opts.merge(
1386
- :operation => :list_cost_awscur_configs,
2718
+ :operation => :list_cost_tag_keys,
1387
2719
  :header_params => header_params,
1388
2720
  :query_params => query_params,
1389
2721
  :form_params => form_params,
@@ -1392,38 +2724,52 @@ module DatadogAPIClient::V2
1392
2724
  :return_type => return_type,
1393
2725
  :api_version => "V2"
1394
2726
  )
2727
+ new_options[:query_string_normalizer] = HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER
1395
2728
 
1396
2729
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1397
2730
  if @api_client.config.debugging
1398
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_awscur_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2731
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_tag_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1399
2732
  end
1400
2733
  return data, status_code, headers
1401
2734
  end
1402
2735
 
1403
- # List Cloud Cost Management Azure configs.
2736
+ # List Cloud Cost Management tags.
1404
2737
  #
1405
- # @see #list_cost_azure_uc_configs_with_http_info
1406
- def list_cost_azure_uc_configs(opts = {})
1407
- data, _status_code, _headers = list_cost_azure_uc_configs_with_http_info(opts)
2738
+ # @see #list_cost_tags_with_http_info
2739
+ def list_cost_tags(opts = {})
2740
+ data, _status_code, _headers = list_cost_tags_with_http_info(opts)
1408
2741
  data
1409
2742
  end
1410
2743
 
1411
- # List Cloud Cost Management Azure configs.
2744
+ # List Cloud Cost Management tags.
1412
2745
  #
1413
- # List the Azure configs.
2746
+ # List Cloud Cost Management tags for a given metric.
1414
2747
  #
1415
2748
  # @param opts [Hash] the optional parameters
1416
- # @return [Array<(AzureUCConfigsResponse, Integer, Hash)>] AzureUCConfigsResponse data, response status code and response headers
1417
- def list_cost_azure_uc_configs_with_http_info(opts = {})
2749
+ # @option opts [String] :filter_metric The Cloud Cost Management metric to scope the tags to. When omitted, returns tags across all metrics.
2750
+ # @option opts [String] :filter_match A substring used to filter the returned tags by name.
2751
+ # @option opts [Array<String>] :filter_tags Filter to return only tags that appear with the given `key:value` tag values. For example, `filter[tags]=providername:aws` returns tags found on the same cost data, such as `aws_instance_type:t3.micro` and `aws_instance_type:m5.large`.
2752
+ # @option opts [Array<String>] :filter_tag_keys Restrict the returned tags to those whose key matches one of the given tag keys.
2753
+ # @option opts [Integer] :page_size Controls the size of the internal tag search scope. This does **not** restrict the number of tags returned in the response. Defaults to 50, maximum 10000.
2754
+ # @return [Array<(CostTagsResponse, Integer, Hash)>] CostTagsResponse data, response status code and response headers
2755
+ def list_cost_tags_with_http_info(opts = {})
1418
2756
 
1419
2757
  if @api_client.config.debugging
1420
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_azure_uc_configs ...'
2758
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_tags ...'
2759
+ end
2760
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
2761
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CloudCostManagementAPI.list_cost_tags, must be smaller than or equal to 10000.'
1421
2762
  end
1422
2763
  # resource path
1423
- local_var_path = '/api/v2/cost/azure_uc_config'
2764
+ local_var_path = '/api/v2/cost/tags'
1424
2765
 
1425
2766
  # query parameters
1426
2767
  query_params = opts[:query_params] || {}
2768
+ query_params[:'filter[metric]'] = opts[:'filter_metric'] if !opts[:'filter_metric'].nil?
2769
+ query_params[:'filter[match]'] = opts[:'filter_match'] if !opts[:'filter_match'].nil?
2770
+ query_params[:'filter[tags]'] = @api_client.build_collection_param(opts[:'filter_tags'], :multi) if !opts[:'filter_tags'].nil?
2771
+ query_params[:'filter[tag_keys]'] = @api_client.build_collection_param(opts[:'filter_tag_keys'], :multi) if !opts[:'filter_tag_keys'].nil?
2772
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1427
2773
 
1428
2774
  # header parameters
1429
2775
  header_params = opts[:header_params] || {}
@@ -1437,13 +2783,13 @@ module DatadogAPIClient::V2
1437
2783
  post_body = opts[:debug_body]
1438
2784
 
1439
2785
  # return_type
1440
- return_type = opts[:debug_return_type] || 'AzureUCConfigsResponse'
2786
+ return_type = opts[:debug_return_type] || 'CostTagsResponse'
1441
2787
 
1442
2788
  # auth_names
1443
2789
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1444
2790
 
1445
2791
  new_options = opts.merge(
1446
- :operation => :list_cost_azure_uc_configs,
2792
+ :operation => :list_cost_tags,
1447
2793
  :header_params => header_params,
1448
2794
  :query_params => query_params,
1449
2795
  :form_params => form_params,
@@ -1452,35 +2798,36 @@ module DatadogAPIClient::V2
1452
2798
  :return_type => return_type,
1453
2799
  :api_version => "V2"
1454
2800
  )
2801
+ new_options[:query_string_normalizer] = HTTParty::Request::NON_RAILS_QUERY_STRING_NORMALIZER
1455
2802
 
1456
2803
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1457
2804
  if @api_client.config.debugging
1458
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_azure_uc_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2805
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1459
2806
  end
1460
2807
  return data, status_code, headers
1461
2808
  end
1462
2809
 
1463
- # List Google Cloud Usage Cost configs.
2810
+ # List custom allocation rules.
1464
2811
  #
1465
- # @see #list_cost_gcp_usage_cost_configs_with_http_info
1466
- def list_cost_gcp_usage_cost_configs(opts = {})
1467
- data, _status_code, _headers = list_cost_gcp_usage_cost_configs_with_http_info(opts)
2812
+ # @see #list_custom_allocation_rules_with_http_info
2813
+ def list_custom_allocation_rules(opts = {})
2814
+ data, _status_code, _headers = list_custom_allocation_rules_with_http_info(opts)
1468
2815
  data
1469
2816
  end
1470
2817
 
1471
- # List Google Cloud Usage Cost configs.
2818
+ # List custom allocation rules.
1472
2819
  #
1473
- # List the Google Cloud Usage Cost configs.
2820
+ # List all custom allocation rules - Retrieve a list of all custom allocation rules for the organization
1474
2821
  #
1475
2822
  # @param opts [Hash] the optional parameters
1476
- # @return [Array<(GCPUsageCostConfigsResponse, Integer, Hash)>] GCPUsageCostConfigsResponse data, response status code and response headers
1477
- def list_cost_gcp_usage_cost_configs_with_http_info(opts = {})
2823
+ # @return [Array<(ArbitraryRuleResponseArray, Integer, Hash)>] ArbitraryRuleResponseArray data, response status code and response headers
2824
+ def list_custom_allocation_rules_with_http_info(opts = {})
1478
2825
 
1479
2826
  if @api_client.config.debugging
1480
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_gcp_usage_cost_configs ...'
2827
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_custom_allocation_rules ...'
1481
2828
  end
1482
2829
  # resource path
1483
- local_var_path = '/api/v2/cost/gcp_uc_config'
2830
+ local_var_path = '/api/v2/cost/arbitrary_rule'
1484
2831
 
1485
2832
  # query parameters
1486
2833
  query_params = opts[:query_params] || {}
@@ -1497,13 +2844,13 @@ module DatadogAPIClient::V2
1497
2844
  post_body = opts[:debug_body]
1498
2845
 
1499
2846
  # return_type
1500
- return_type = opts[:debug_return_type] || 'GCPUsageCostConfigsResponse'
2847
+ return_type = opts[:debug_return_type] || 'ArbitraryRuleResponseArray'
1501
2848
 
1502
2849
  # auth_names
1503
2850
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1504
2851
 
1505
2852
  new_options = opts.merge(
1506
- :operation => :list_cost_gcp_usage_cost_configs,
2853
+ :operation => :list_custom_allocation_rules,
1507
2854
  :header_params => header_params,
1508
2855
  :query_params => query_params,
1509
2856
  :form_params => form_params,
@@ -1515,32 +2862,32 @@ module DatadogAPIClient::V2
1515
2862
 
1516
2863
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1517
2864
  if @api_client.config.debugging
1518
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_gcp_usage_cost_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2865
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_custom_allocation_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1519
2866
  end
1520
2867
  return data, status_code, headers
1521
2868
  end
1522
2869
 
1523
- # List custom allocation rules.
2870
+ # List custom allocation rule statuses.
1524
2871
  #
1525
- # @see #list_custom_allocation_rules_with_http_info
1526
- def list_custom_allocation_rules(opts = {})
1527
- data, _status_code, _headers = list_custom_allocation_rules_with_http_info(opts)
2872
+ # @see #list_custom_allocation_rules_status_with_http_info
2873
+ def list_custom_allocation_rules_status(opts = {})
2874
+ data, _status_code, _headers = list_custom_allocation_rules_status_with_http_info(opts)
1528
2875
  data
1529
2876
  end
1530
2877
 
1531
- # List custom allocation rules.
2878
+ # List custom allocation rule statuses.
1532
2879
  #
1533
- # List all custom allocation rules - Retrieve a list of all custom allocation rules for the organization
2880
+ # List the processing status of all custom allocation rules. Returns only the ID and processing status for each rule.
1534
2881
  #
1535
2882
  # @param opts [Hash] the optional parameters
1536
- # @return [Array<(ArbitraryRuleResponseArray, Integer, Hash)>] ArbitraryRuleResponseArray data, response status code and response headers
1537
- def list_custom_allocation_rules_with_http_info(opts = {})
2883
+ # @return [Array<(ArbitraryRuleStatusResponseArray, Integer, Hash)>] ArbitraryRuleStatusResponseArray data, response status code and response headers
2884
+ def list_custom_allocation_rules_status_with_http_info(opts = {})
1538
2885
 
1539
2886
  if @api_client.config.debugging
1540
- @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_custom_allocation_rules ...'
2887
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_custom_allocation_rules_status ...'
1541
2888
  end
1542
2889
  # resource path
1543
- local_var_path = '/api/v2/cost/arbitrary_rule'
2890
+ local_var_path = '/api/v2/cost/arbitrary_rule/status'
1544
2891
 
1545
2892
  # query parameters
1546
2893
  query_params = opts[:query_params] || {}
@@ -1557,13 +2904,13 @@ module DatadogAPIClient::V2
1557
2904
  post_body = opts[:debug_body]
1558
2905
 
1559
2906
  # return_type
1560
- return_type = opts[:debug_return_type] || 'ArbitraryRuleResponseArray'
2907
+ return_type = opts[:debug_return_type] || 'ArbitraryRuleStatusResponseArray'
1561
2908
 
1562
2909
  # auth_names
1563
2910
  auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1564
2911
 
1565
2912
  new_options = opts.merge(
1566
- :operation => :list_custom_allocation_rules,
2913
+ :operation => :list_custom_allocation_rules_status,
1567
2914
  :header_params => header_params,
1568
2915
  :query_params => query_params,
1569
2916
  :form_params => form_params,
@@ -1575,7 +2922,7 @@ module DatadogAPIClient::V2
1575
2922
 
1576
2923
  data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1577
2924
  if @api_client.config.debugging
1578
- @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_custom_allocation_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2925
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_custom_allocation_rules_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1579
2926
  end
1580
2927
  return data, status_code, headers
1581
2928
  end
@@ -1713,6 +3060,66 @@ module DatadogAPIClient::V2
1713
3060
  return data, status_code, headers
1714
3061
  end
1715
3062
 
3063
+ # List tag pipeline ruleset statuses.
3064
+ #
3065
+ # @see #list_tag_pipelines_rulesets_status_with_http_info
3066
+ def list_tag_pipelines_rulesets_status(opts = {})
3067
+ data, _status_code, _headers = list_tag_pipelines_rulesets_status_with_http_info(opts)
3068
+ data
3069
+ end
3070
+
3071
+ # List tag pipeline ruleset statuses.
3072
+ #
3073
+ # List the processing status of all tag pipeline rulesets. Returns only the ID and processing status for each ruleset.
3074
+ #
3075
+ # @param opts [Hash] the optional parameters
3076
+ # @return [Array<(RulesetStatusRespArray, Integer, Hash)>] RulesetStatusRespArray data, response status code and response headers
3077
+ def list_tag_pipelines_rulesets_status_with_http_info(opts = {})
3078
+
3079
+ if @api_client.config.debugging
3080
+ @api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_tag_pipelines_rulesets_status ...'
3081
+ end
3082
+ # resource path
3083
+ local_var_path = '/api/v2/tags/enrichment/status'
3084
+
3085
+ # query parameters
3086
+ query_params = opts[:query_params] || {}
3087
+
3088
+ # header parameters
3089
+ header_params = opts[:header_params] || {}
3090
+ # HTTP header 'Accept' (if needed)
3091
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3092
+
3093
+ # form parameters
3094
+ form_params = opts[:form_params] || {}
3095
+
3096
+ # http body (model)
3097
+ post_body = opts[:debug_body]
3098
+
3099
+ # return_type
3100
+ return_type = opts[:debug_return_type] || 'RulesetStatusRespArray'
3101
+
3102
+ # auth_names
3103
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
3104
+
3105
+ new_options = opts.merge(
3106
+ :operation => :list_tag_pipelines_rulesets_status,
3107
+ :header_params => header_params,
3108
+ :query_params => query_params,
3109
+ :form_params => form_params,
3110
+ :body => post_body,
3111
+ :auth_names => auth_names,
3112
+ :return_type => return_type,
3113
+ :api_version => "V2"
3114
+ )
3115
+
3116
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
3117
+ if @api_client.config.debugging
3118
+ @api_client.config.logger.debug "API called: CloudCostManagementAPI#list_tag_pipelines_rulesets_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3119
+ end
3120
+ return data, status_code, headers
3121
+ end
3122
+
1716
3123
  # Reorder custom allocation rules.
1717
3124
  #
1718
3125
  # @see #reorder_custom_allocation_rules_with_http_info