datadog_api_client 2.15.0 → 2.17.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 (315) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +6 -6
  3. data/.generator/schemas/v1/openapi.yaml +1316 -153
  4. data/.generator/schemas/v2/openapi.yaml +3367 -685
  5. data/.generator/src/generator/formatter.py +4 -0
  6. data/.generator/src/generator/openapi.py +2 -0
  7. data/.generator/src/generator/templates/api_client.j2 +22 -1
  8. data/.generator/src/generator/templates/inflector.j2 +1 -1
  9. data/.generator/src/generator/templates/model_base.j2 +5 -0
  10. data/CHANGELOG.md +59 -0
  11. data/Gemfile +1 -0
  12. data/LICENSE-3rdparty.csv +1 -0
  13. data/datadog_api_client.gemspec +2 -0
  14. data/examples/v1/aws-integration/CreateAWSAccount.rb +1 -1
  15. data/examples/v1/aws-integration/CreateAWSEventBridgeSource.rb +12 -0
  16. data/examples/v1/aws-integration/CreateAWSTagFilter.rb +1 -1
  17. data/examples/v1/aws-integration/CreateNewAWSExternalID.rb +1 -1
  18. data/examples/v1/aws-integration/DeleteAWSAccount.rb +1 -1
  19. data/examples/v1/aws-integration/DeleteAWSEventBridgeSource.rb +11 -0
  20. data/examples/v1/aws-integration/ListAWSEventBridgeSources.rb +5 -0
  21. data/examples/v1/azure-integration/CreateAzureIntegration.rb +1 -0
  22. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +1 -0
  23. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +1 -0
  24. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +1 -0
  25. data/examples/v1/dashboards/CreateDashboard_1213075383.rb +7 -0
  26. data/examples/v1/dashboards/CreateDashboard_1754992756.rb +44 -0
  27. data/examples/v1/dashboards/CreateDashboard_2278756614.rb +91 -0
  28. data/examples/v1/monitors/CreateMonitor_1539578087.rb +35 -0
  29. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  30. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +1 -1
  31. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_397420811.rb +1 -1
  32. data/examples/v1/usage-metering/GetUsageCIApp.rb +4 -1
  33. data/examples/v1/usage-metering/GetUsageCWS.rb +4 -1
  34. data/examples/v1/usage-metering/GetUsageCloudSecurityPostureManagement.rb +1 -1
  35. data/examples/v2/apm-retention-filters/CreateApmRetentionFilter.rb +20 -0
  36. data/examples/v2/apm-retention-filters/DeleteApmRetentionFilter.rb +8 -0
  37. data/examples/v2/apm-retention-filters/GetApmRetentionFilter.rb +8 -0
  38. data/examples/v2/apm-retention-filters/ListApmRetentionFilters.rb +5 -0
  39. data/examples/v2/apm-retention-filters/ReorderApmRetentionFilters.rb +18 -0
  40. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter.rb +24 -0
  41. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -5
  42. data/examples/v2/confluent-cloud/DeleteConfluentAccount.rb +4 -1
  43. data/examples/v2/confluent-cloud/DeleteConfluentResource.rb +5 -0
  44. data/examples/v2/container-images/ListContainerImages.rb +8 -0
  45. data/examples/v2/container-images/ListContainerImages_3088586393.rb +11 -0
  46. data/examples/v2/container-images/ListContainerImages_3974828736.rb +11 -0
  47. data/examples/v2/containers/ListContainers.rb +8 -0
  48. data/examples/v2/containers/ListContainers_2175733917.rb +11 -0
  49. data/examples/v2/containers/ListContainers_931009654.rb +11 -0
  50. data/examples/v2/downtimes/ListMonitorDowntimes.rb +1 -1
  51. data/examples/v2/gcp-integration/CreateGCPSTSAccount_109518525.rb +19 -0
  52. data/examples/v2/key-management/CreateCurrentUserApplicationKey.rb +2 -7
  53. data/examples/v2/key-management/DeleteApplicationKey.rb +4 -1
  54. data/examples/v2/key-management/DeleteCurrentUserApplicationKey.rb +4 -1
  55. data/examples/v2/powerpack/CreatePowerpack.rb +48 -0
  56. data/examples/v2/powerpack/DeletePowerpack.rb +8 -0
  57. data/examples/v2/powerpack/GetPowerpack.rb +8 -0
  58. data/examples/v2/powerpack/ListPowerpacks.rb +8 -0
  59. data/examples/v2/powerpack/ListPowerpacks_1173755071.rb +8 -0
  60. data/examples/v2/powerpack/UpdatePowerpack.rb +51 -0
  61. data/examples/v2/rum/CreateRUMApplication.rb +1 -1
  62. data/examples/v2/security-monitoring/MuteFindings.rb +29 -0
  63. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey.rb +5 -7
  64. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey.rb +7 -1
  65. data/examples/v2/service-accounts/GetServiceAccountApplicationKey.rb +7 -1
  66. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys.rb +4 -1
  67. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey.rb +11 -9
  68. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +23 -12
  69. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions_2621709423.rb +53 -0
  70. data/examples/v2/service-scorecards/CreateScorecardOutcomesBatch.rb +27 -0
  71. data/examples/v2/service-scorecards/CreateScorecardRule.rb +19 -0
  72. data/examples/v2/service-scorecards/DeleteScorecardRule.rb +11 -0
  73. data/examples/v2/service-scorecards/ListScorecardOutcomes.rb +8 -0
  74. data/examples/v2/service-scorecards/ListScorecardOutcomes_2663454275.rb +13 -0
  75. data/examples/v2/service-scorecards/ListScorecardRules.rb +8 -0
  76. data/examples/v2/service-scorecards/ListScorecardRules_4057666343.rb +13 -0
  77. data/examples/v2/synthetics/SetOnDemandConcurrencyCap.rb +3 -1
  78. data/examples/v2/teams/ListTeams_3429963470.rb +12 -0
  79. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring.rb +4 -1
  80. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +4 -1
  81. data/examples/v2/usage-metering/GetUsageObservabilityPipelines.rb +4 -1
  82. data/examples/v2/users/GetUser.rb +5 -2
  83. data/lib/datadog_api_client/api_client.rb +22 -1
  84. data/lib/datadog_api_client/configuration.rb +8 -1
  85. data/lib/datadog_api_client/inflector.rb +156 -9
  86. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +194 -0
  87. data/lib/datadog_api_client/v1/api/monitors_api.rb +6 -21
  88. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -6
  89. data/lib/datadog_api_client/v1/api/webhooks_integration_api.rb +1 -1
  90. data/lib/datadog_api_client/v1/model_base.rb +5 -0
  91. data/lib/datadog_api_client/v1/models/aws_account.rb +2 -1
  92. data/lib/datadog_api_client/v1/models/aws_event_bridge_account_configuration.rb +105 -0
  93. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_request.rb +112 -0
  94. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_response.rb +110 -0
  95. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_status.rb +26 -0
  96. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_request.rb +100 -0
  97. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_response.rb +80 -0
  98. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_status.rb +26 -0
  99. data/lib/datadog_api_client/v1/models/aws_event_bridge_list_response.rb +92 -0
  100. data/lib/datadog_api_client/v1/models/aws_event_bridge_source.rb +90 -0
  101. data/lib/datadog_api_client/v1/models/azure_account.rb +12 -1
  102. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +27 -4
  103. data/lib/datadog_api_client/v1/models/ip_prefixes_global.rb +94 -0
  104. data/lib/datadog_api_client/v1/models/ip_ranges.rb +11 -1
  105. data/lib/datadog_api_client/v1/models/monitor_options.rb +1 -1
  106. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule.rb +82 -0
  107. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule_recurrence.rb +100 -0
  108. data/lib/datadog_api_client/v1/models/monitor_options_scheduling_options.rb +11 -1
  109. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +46 -0
  110. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +465 -5
  111. data/lib/datadog_api_client/v1/models/powerpack_template_variable_contents.rb +131 -0
  112. data/lib/datadog_api_client/v1/models/powerpack_template_variables.rb +94 -0
  113. data/lib/datadog_api_client/v1/models/powerpack_widget_definition.rb +169 -0
  114. data/lib/datadog_api_client/v1/models/powerpack_widget_definition_type.rb +26 -0
  115. data/lib/datadog_api_client/v1/models/split_config.rb +181 -0
  116. data/lib/datadog_api_client/v1/models/split_config_sort_compute.rb +119 -0
  117. data/lib/datadog_api_client/v1/models/split_dimension.rb +98 -0
  118. data/lib/datadog_api_client/v1/models/split_graph_source_widget_definition.rb +70 -0
  119. data/lib/datadog_api_client/v1/models/split_graph_viz_size.rb +29 -0
  120. data/lib/datadog_api_client/v1/models/split_graph_widget_definition.rb +191 -0
  121. data/lib/datadog_api_client/v1/models/split_graph_widget_definition_type.rb +26 -0
  122. data/lib/datadog_api_client/v1/models/split_sort.rb +108 -0
  123. data/lib/datadog_api_client/v1/models/split_vector_entry_item.rb +125 -0
  124. data/lib/datadog_api_client/v1/models/toplist_widget_definition.rb +11 -1
  125. data/lib/datadog_api_client/v1/models/toplist_widget_display.rb +63 -0
  126. data/lib/datadog_api_client/v1/models/toplist_widget_flat.rb +98 -0
  127. data/lib/datadog_api_client/v1/models/toplist_widget_flat_type.rb +26 -0
  128. data/lib/datadog_api_client/v1/models/toplist_widget_legend.rb +28 -0
  129. data/lib/datadog_api_client/v1/models/toplist_widget_scaling.rb +27 -0
  130. data/lib/datadog_api_client/v1/models/toplist_widget_stacked.rb +119 -0
  131. data/lib/datadog_api_client/v1/models/toplist_widget_stacked_type.rb +26 -0
  132. data/lib/datadog_api_client/v1/models/toplist_widget_style.rb +90 -0
  133. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +4 -4
  134. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_hour.rb +8 -8
  135. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_response.rb +2 -2
  136. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +158 -8
  137. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +158 -8
  138. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +158 -8
  139. data/lib/datadog_api_client/v1/models/widget_definition.rb +8 -6
  140. data/lib/datadog_api_client/v2/api/apm_retention_filters_api.rb +423 -0
  141. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +4 -4
  142. data/lib/datadog_api_client/v2/api/ci_visibility_tests_api.rb +3 -3
  143. data/lib/datadog_api_client/v2/api/container_images_api.rb +129 -0
  144. data/lib/datadog_api_client/v2/api/containers_api.rb +129 -0
  145. data/lib/datadog_api_client/v2/api/incidents_api.rb +1 -1
  146. data/lib/datadog_api_client/v2/api/key_management_api.rb +8 -0
  147. data/lib/datadog_api_client/v2/api/metrics_api.rb +6 -3
  148. data/lib/datadog_api_client/v2/api/powerpack_api.rb +383 -0
  149. data/lib/datadog_api_client/v2/api/roles_api.rb +2 -0
  150. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +66 -72
  151. data/lib/datadog_api_client/v2/api/service_definition_api.rb +2 -2
  152. data/lib/datadog_api_client/v2/api/service_scorecards_api.rb +457 -0
  153. data/lib/datadog_api_client/v2/api/teams_api.rb +2 -0
  154. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  155. data/lib/datadog_api_client/v2/model_base.rb +5 -0
  156. data/lib/datadog_api_client/v2/models/apm_retention_filter_type.rb +26 -0
  157. data/lib/datadog_api_client/v2/models/{mute_finding_request.rb → bulk_mute_findings_request.rb} +6 -6
  158. data/lib/datadog_api_client/v2/models/{mute_finding_request_attributes.rb → bulk_mute_findings_request_attributes.rb} +5 -5
  159. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_data.rb +161 -0
  160. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_meta.rb +82 -0
  161. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_meta_findings.rb +80 -0
  162. data/lib/datadog_api_client/v2/models/{mute_finding_request_properties.rb → bulk_mute_findings_request_properties.rb} +6 -6
  163. data/lib/datadog_api_client/v2/models/{mute_finding_response.rb → bulk_mute_findings_response.rb} +5 -5
  164. data/lib/datadog_api_client/v2/models/bulk_mute_findings_response_data.rb +90 -0
  165. data/lib/datadog_api_client/v2/models/{mute_finding_response_data.rb → container.rb} +9 -9
  166. data/lib/datadog_api_client/v2/models/container_attributes.rb +183 -0
  167. data/lib/datadog_api_client/v2/models/container_group.rb +110 -0
  168. data/lib/datadog_api_client/v2/models/container_group_attributes.rb +90 -0
  169. data/lib/datadog_api_client/v2/models/container_group_relationships.rb +80 -0
  170. data/lib/datadog_api_client/v2/models/container_group_relationships_link.rb +92 -0
  171. data/lib/datadog_api_client/v2/models/container_group_relationships_links.rb +80 -0
  172. data/lib/datadog_api_client/v2/models/container_group_type.rb +26 -0
  173. data/lib/datadog_api_client/v2/models/container_image.rb +100 -0
  174. data/lib/datadog_api_client/v2/models/container_image_attributes.rb +261 -0
  175. data/lib/datadog_api_client/v2/models/container_image_flavor.rb +120 -0
  176. data/lib/datadog_api_client/v2/models/container_image_group.rb +110 -0
  177. data/lib/datadog_api_client/v2/models/container_image_group_attributes.rb +100 -0
  178. data/lib/datadog_api_client/v2/models/container_image_group_images_relationships_link.rb +92 -0
  179. data/lib/datadog_api_client/v2/models/container_image_group_relationships.rb +80 -0
  180. data/lib/datadog_api_client/v2/models/container_image_group_relationships_links.rb +80 -0
  181. data/lib/datadog_api_client/v2/models/container_image_group_type.rb +26 -0
  182. data/lib/datadog_api_client/v2/models/container_image_item.rb +63 -0
  183. data/lib/datadog_api_client/v2/models/container_image_meta.rb +80 -0
  184. data/lib/datadog_api_client/v2/models/container_image_meta_page.rb +160 -0
  185. data/lib/datadog_api_client/v2/models/container_image_meta_page_type.rb +26 -0
  186. data/lib/datadog_api_client/v2/models/container_image_type.rb +26 -0
  187. data/lib/datadog_api_client/v2/models/container_image_vulnerabilities.rb +140 -0
  188. data/lib/datadog_api_client/v2/models/container_images_response.rb +102 -0
  189. data/lib/datadog_api_client/v2/models/container_images_response_links.rb +130 -0
  190. data/lib/datadog_api_client/v2/models/container_item.rb +63 -0
  191. data/lib/datadog_api_client/v2/models/container_meta.rb +80 -0
  192. data/lib/datadog_api_client/v2/models/container_meta_page.rb +160 -0
  193. data/lib/datadog_api_client/v2/models/container_meta_page_type.rb +26 -0
  194. data/lib/datadog_api_client/v2/models/container_type.rb +26 -0
  195. data/lib/datadog_api_client/v2/models/containers_response.rb +102 -0
  196. data/lib/datadog_api_client/v2/models/containers_response_links.rb +130 -0
  197. data/lib/datadog_api_client/v2/models/create_rule_request.rb +80 -0
  198. data/lib/datadog_api_client/v2/models/create_rule_request_data.rb +90 -0
  199. data/lib/datadog_api_client/v2/models/create_rule_response.rb +80 -0
  200. data/lib/datadog_api_client/v2/models/create_rule_response_data.rb +110 -0
  201. data/lib/datadog_api_client/v2/models/data_scalar_column.rb +2 -2
  202. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +13 -1
  203. data/lib/datadog_api_client/v2/models/group_scalar_column.rb +2 -2
  204. data/lib/datadog_api_client/v2/models/list_powerpacks_response.rb +114 -0
  205. data/lib/datadog_api_client/v2/models/list_rules_response.rb +92 -0
  206. data/lib/datadog_api_client/v2/models/list_rules_response_data_item.rb +110 -0
  207. data/lib/datadog_api_client/v2/models/list_rules_response_links.rb +80 -0
  208. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_create_attributes.rb +13 -1
  209. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_status_attributes.rb +12 -1
  210. data/lib/datadog_api_client/v2/models/metric_tag_configuration_attributes.rb +13 -1
  211. data/lib/datadog_api_client/v2/models/metric_tag_configuration_create_attributes.rb +13 -1
  212. data/lib/datadog_api_client/v2/models/metric_tag_configuration_update_attributes.rb +13 -1
  213. data/lib/datadog_api_client/v2/models/outcome_type.rb +26 -0
  214. data/lib/datadog_api_client/v2/models/outcomes_batch_attributes.rb +82 -0
  215. data/lib/datadog_api_client/v2/models/outcomes_batch_request.rb +80 -0
  216. data/lib/datadog_api_client/v2/models/outcomes_batch_request_data.rb +90 -0
  217. data/lib/datadog_api_client/v2/models/outcomes_batch_request_item.rb +150 -0
  218. data/lib/datadog_api_client/v2/models/outcomes_batch_response.rb +121 -0
  219. data/lib/datadog_api_client/v2/models/outcomes_batch_response_attributes.rb +120 -0
  220. data/lib/datadog_api_client/v2/models/outcomes_batch_response_meta.rb +90 -0
  221. data/lib/datadog_api_client/v2/models/outcomes_batch_type.rb +26 -0
  222. data/lib/datadog_api_client/v2/models/outcomes_response.rb +104 -0
  223. data/lib/datadog_api_client/v2/models/outcomes_response_data_item.rb +110 -0
  224. data/lib/datadog_api_client/v2/models/outcomes_response_included_item.rb +100 -0
  225. data/lib/datadog_api_client/v2/models/outcomes_response_included_rule_attributes.rb +90 -0
  226. data/lib/datadog_api_client/v2/models/outcomes_response_links.rb +80 -0
  227. data/lib/datadog_api_client/v2/models/powerpack.rb +80 -0
  228. data/lib/datadog_api_client/v2/models/powerpack_attributes.rb +164 -0
  229. data/lib/datadog_api_client/v2/models/powerpack_data.rb +110 -0
  230. data/lib/datadog_api_client/v2/models/powerpack_group_widget.rb +118 -0
  231. data/lib/datadog_api_client/v2/models/powerpack_group_widget_definition.rb +162 -0
  232. data/lib/datadog_api_client/v2/models/powerpack_group_widget_layout.rb +177 -0
  233. data/lib/datadog_api_client/v2/models/powerpack_inner_widget_layout.rb +177 -0
  234. data/lib/datadog_api_client/v2/models/powerpack_inner_widgets.rb +108 -0
  235. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +80 -0
  236. data/lib/datadog_api_client/v2/models/powerpack_response.rb +92 -0
  237. data/lib/datadog_api_client/v2/models/powerpack_response_links.rb +129 -0
  238. data/lib/datadog_api_client/v2/models/powerpack_template_variable.rb +110 -0
  239. data/lib/datadog_api_client/v2/models/powerpacks_response_meta.rb +80 -0
  240. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +150 -0
  241. data/lib/datadog_api_client/v2/models/relationship_to_outcome.rb +80 -0
  242. data/lib/datadog_api_client/v2/models/relationship_to_outcome_data.rb +90 -0
  243. data/lib/datadog_api_client/v2/models/relationship_to_rule.rb +80 -0
  244. data/lib/datadog_api_client/v2/models/relationship_to_rule_data.rb +80 -0
  245. data/lib/datadog_api_client/v2/models/relationship_to_rule_data_object.rb +90 -0
  246. data/lib/datadog_api_client/v2/models/reorder_retention_filters_request.rb +100 -0
  247. data/lib/datadog_api_client/v2/models/restriction_policy_binding.rb +1 -1
  248. data/lib/datadog_api_client/v2/models/{mute_finding_request_data.rb → retention_filter.rb} +9 -9
  249. data/lib/datadog_api_client/v2/models/retention_filter_all.rb +140 -0
  250. data/lib/datadog_api_client/v2/models/retention_filter_all_attributes.rb +181 -0
  251. data/lib/datadog_api_client/v2/models/retention_filter_all_type.rb +28 -0
  252. data/lib/datadog_api_client/v2/models/retention_filter_attributes.rb +181 -0
  253. data/lib/datadog_api_client/v2/models/retention_filter_create_attributes.rb +183 -0
  254. data/lib/datadog_api_client/v2/models/retention_filter_create_data.rb +119 -0
  255. data/lib/datadog_api_client/v2/models/retention_filter_create_request.rb +98 -0
  256. data/lib/datadog_api_client/v2/models/retention_filter_response.rb +80 -0
  257. data/lib/datadog_api_client/v2/models/retention_filter_type.rb +26 -0
  258. data/lib/datadog_api_client/v2/models/retention_filter_update_data.rb +140 -0
  259. data/lib/datadog_api_client/v2/models/retention_filter_update_request.rb +98 -0
  260. data/lib/datadog_api_client/v2/models/retention_filter_without_attributes.rb +119 -0
  261. data/lib/datadog_api_client/v2/models/retention_filters_response.rb +100 -0
  262. data/lib/datadog_api_client/v2/models/rule_attributes.rb +160 -0
  263. data/lib/datadog_api_client/v2/models/rule_outcome_relationships.rb +80 -0
  264. data/lib/datadog_api_client/v2/models/rule_type.rb +26 -0
  265. data/lib/datadog_api_client/v2/models/scalar_column_type_group.rb +26 -0
  266. data/lib/datadog_api_client/v2/models/scalar_column_type_number.rb +26 -0
  267. data/lib/datadog_api_client/v2/models/scalar_meta.rb +8 -0
  268. data/lib/datadog_api_client/v2/models/scorecard_type.rb +26 -0
  269. data/lib/datadog_api_client/v2/models/security_monitoring_signal_attributes.rb +7 -7
  270. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +11 -1
  271. data/lib/datadog_api_client/v2/models/service_definition_schema.rb +2 -1
  272. data/lib/datadog_api_client/v2/models/service_definition_schema_versions.rb +1 -0
  273. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +247 -0
  274. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_contact.rb +129 -0
  275. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_integrations.rb +90 -0
  276. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_link.rb +150 -0
  277. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie.rb +108 -0
  278. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie_region.rb +27 -0
  279. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_pagerduty.rb +80 -0
  280. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_type.rb +32 -0
  281. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_version.rb +26 -0
  282. data/lib/datadog_api_client/v2/models/service_definitions_create_request.rb +1 -0
  283. data/lib/datadog_api_client/v2/models/spans_filter.rb +80 -0
  284. data/lib/datadog_api_client/v2/models/spans_filter_create.rb +98 -0
  285. data/lib/datadog_api_client/v2/models/state.rb +28 -0
  286. data/lib/datadog_api_client/v2/models/teams_field.rb +40 -0
  287. data/lib/datadog_api_client/v2/models/user_team_permission_attributes.rb +1 -1
  288. data/lib/datadog_api_client/v2/models/widget_live_span.rb +40 -0
  289. data/lib/datadog_api_client/version.rb +1 -1
  290. data/run-tests.sh +6 -5
  291. metadata +213 -32
  292. data/examples/v1/usage-metering/GetUsageCIApp_1064440884.rb +0 -8
  293. data/examples/v1/usage-metering/GetUsageCWS_736958514.rb +0 -8
  294. data/examples/v2/confluent-cloud/DeleteConfluentAccount_2919241291.rb +0 -8
  295. data/examples/v2/downtimes/ListMonitorDowntimes_128979780.rb +0 -5
  296. data/examples/v2/key-management/CreateCurrentUserApplicationKey_1999509896.rb +0 -14
  297. data/examples/v2/key-management/DeleteApplicationKey_771691550.rb +0 -8
  298. data/examples/v2/key-management/DeleteCurrentUserApplicationKey_1266687064.rb +0 -8
  299. data/examples/v2/key-management/GetCurrentUserApplicationKey_1060640890.rb +0 -8
  300. data/examples/v2/key-management/ListApplicationKeys_2237010090.rb +0 -5
  301. data/examples/v2/key-management/ListCurrentUserApplicationKeys_1503860964.rb +0 -5
  302. data/examples/v2/security-monitoring/UpdateFinding.rb +0 -23
  303. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey_1761876297.rb +0 -17
  304. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey_992091161.rb +0 -11
  305. data/examples/v2/service-accounts/GetServiceAccountApplicationKey_819075131.rb +0 -11
  306. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys_1268914341.rb +0 -8
  307. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey_768415790.rb +0 -22
  308. data/examples/v2/synthetics/GetOnDemandConcurrencyCap_2633566918.rb +0 -5
  309. data/examples/v2/synthetics/SetOnDemandConcurrencyCap_2850884405.rb +0 -9
  310. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring_3959166796.rb +0 -8
  311. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations_1436752065.rb +0 -8
  312. data/examples/v2/usage-metering/GetUsageObservabilityPipelines_970725512.rb +0 -8
  313. data/examples/v2/users/GetUser_3047557953.rb +0 -8
  314. data/lib/datadog_api_client/v2/models/mute_finding_response_attributes.rb +0 -191
  315. data/lib/datadog_api_client/v2/models/mute_finding_response_properties.rb +0 -114
@@ -262,11 +262,15 @@ def format_data_with_schema(
262
262
  raise TypeError(f"{x} is not supported type {schema}")
263
263
  return "true" if x else "false"
264
264
 
265
+ def format_uuid(x):
266
+ return f'UUIDTools::UUID.parse("{x}")'
267
+
265
268
  formatter = {
266
269
  "number": format_number,
267
270
  "integer": format_number,
268
271
  "boolean": format_boolean,
269
272
  "string": format_string,
273
+ "uuid": format_uuid,
270
274
  None: repr,
271
275
  }[schema.get("type")]
272
276
 
@@ -58,6 +58,8 @@ def type_to_ruby(schema, alternative_name=None):
58
58
  return "Time"
59
59
  elif format_ == "binary":
60
60
  return "File"
61
+ elif format_ == "uuid":
62
+ return "UUID"
61
63
  return "String"
62
64
  elif type_ == "boolean":
63
65
  return "Boolean"
@@ -81,6 +81,7 @@ module {{ module_name }}
81
81
  end
82
82
 
83
83
  if @config.debugging
84
+ @config.logger.debug "HTTP response header\n#{response.headers}\n"
84
85
  @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
85
86
  end
86
87
 
@@ -139,6 +140,18 @@ module {{ module_name }}
139
140
  sleep_time
140
141
  end
141
142
 
143
+ #Redact api and app key in the request header
144
+ def sanitize_request_header(request_header)
145
+ sanitized_headers= request_header.dup
146
+ keys_to_redact = ["DD-API-KEY", "DD-APPLICATION-KEY"]
147
+ keys_to_redact.each do |key_to_redact|
148
+ if sanitized_headers.key?(key_to_redact)
149
+ sanitized_headers[key_to_redact] = "REDACTED"
150
+ end
151
+ end
152
+ return sanitized_headers
153
+ end
154
+
142
155
  # Build the HTTP request
143
156
  #
144
157
  # @param [String] http_method HTTP method/verb (e.g. POST)
@@ -181,11 +194,16 @@ module {{ module_name }}
181
194
  # set custom cert, if provided
182
195
  req_opts[:ssl_ca_file] = File.read(@config.ssl_ca_cert) if @config.ssl_ca_cert
183
196
 
197
+ if @config.debugging
198
+ @config.logger.debug "HTTP request url\n#{url}\n"
199
+ @config.logger.debug "HTTP request header\n#{sanitize_request_header(header_params)}\n"
200
+ end
201
+
184
202
  if ["POST", "PATCH", "PUT", "DELETE"].include?(http_method.const_get(:METHOD))
185
203
  req_body = build_request_body(header_params, form_params, opts[:body])
186
204
  req_opts.update :body => req_body
187
205
  if @config.debugging
188
- @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
206
+ @config.logger.debug "HTTP request body ~BEGIN~\n#{req_body}\n~END~\n"
189
207
  end
190
208
  end
191
209
 
@@ -306,6 +324,9 @@ module {{ module_name }}
306
324
  when 'Object'
307
325
  # generic object (usually a Hash), return directly
308
326
  data
327
+ when 'UUID'
328
+ # parse uuid object
329
+ data.to_s
309
330
  when /\AArray<(.+)>\z/
310
331
  # e.g. Array<Pet>
311
332
  sub_type = $1
@@ -3,7 +3,7 @@ require 'zeitwerk'
3
3
  module {{ module_name }}
4
4
  class {{ module_name }}Inflector < Zeitwerk::Inflector
5
5
  def camelize(basename, abspath)
6
- model_name = "#{abspath.match('v[0-9]')}.#{basename}"
6
+ model_name = "#{abspath.scan(/v[0-9]/).last}.#{basename}"
7
7
  overrides[model_name] || basename.split('_').each(&:capitalize!).join
8
8
  end
9
9
 
@@ -83,6 +83,7 @@ module {{ module_name }}::{{ version|upper }}
83
83
  # @return [Object] Deserialized data
84
84
  # @!visibility private
85
85
  def _deserialize(type, value)
86
+ return nil if value == nil
86
87
  case type.to_sym
87
88
  when :Time
88
89
  Time.parse(value)
@@ -106,6 +107,8 @@ module {{ module_name }}::{{ version|upper }}
106
107
  when :Array
107
108
  # generic array, return directly
108
109
  value
110
+ when :UUID
111
+ value.to_s
109
112
  when /\AArray<(?<inner_type>.+)>\z/
110
113
  inner_type = Regexp.last_match[:inner_type]
111
114
  value.map { |v| _deserialize(inner_type, v) }
@@ -235,6 +238,8 @@ module {{ module_name }}::{{ version|upper }}
235
238
  return data if data.instance_of?(String)
236
239
  when 'Object' # "type: object"
237
240
  return data if data.instance_of?(Hash)
241
+ when 'UUID'
242
+ return UUIDTools::UUID.parse(data)
238
243
  when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
239
244
  if data.instance_of?(Array)
240
245
  sub_type = Regexp.last_match[:sub_type]
data/CHANGELOG.md CHANGED
@@ -1,5 +1,64 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.17.0 / 2023-11-15
4
+
5
+ ### Fixed
6
+ * Remove notify_no_data default by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1595
7
+ * Fix SecurityMonitoringSignalAttribute field name by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1602
8
+ * Fix for inflection when your absolute filepath happens to match `v[0-9]` by @ienders in https://github.com/DataDog/datadog-api-client-ruby/pull/1618
9
+ * Fix typo in service definition field by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1615
10
+ ### Added
11
+ * Update documentation for Cloud SIEM by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1587
12
+ * Add containers API spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1588
13
+ * Add serverless apm to usage attribution api by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1593
14
+ * Document missing parameters by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1552
15
+ * Powerpack Live Span Support by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1600
16
+ * Add Amazon EventBridge endpoints to AWS Integration API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1589
17
+ * Add Container App filters to Azure API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1571
18
+ * Add UUID format support by @HantingZhang2 in https://github.com/DataDog/datadog-api-client-ruby/pull/1606
19
+ * Add new UA products to usage metering docs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1604
20
+ * Add scorecards endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1610
21
+ * Document top list widget style by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1596
22
+ * Add optional group-bys support to security signals by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1611
23
+ ### Changed
24
+ * Add Beta Banner to Send Pipeline Events Endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1601
25
+ * Remove endpoint for mute or unmute a finding and add support for bulk mute findings endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1597
26
+
27
+ ## New Contributors
28
+ * @ienders made their first contribution in https://github.com/DataDog/datadog-api-client-ruby/pull/1618
29
+
30
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.16.0...v2.17.0
31
+
32
+ ## 2.16.0 / 2023-10-16
33
+
34
+ ### Fixed
35
+ * Fix schema for query scalar API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1542
36
+ * Remove the application key from CreateCIAppPipelineEvent endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1551
37
+ * Document 403 on team endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1559
38
+ * Powerpack improve group_widget object by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1572
39
+ * Remove escalation message default by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1585
40
+ ### Added
41
+ * Add split graph widget to dashboard schema by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1529
42
+ * Update public docs for CSM Enterprise and CSPM by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1539
43
+ * Add serverless apps to usage and usage attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1557
44
+ * Add Network Device Monitoring Netflow to usage by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1565
45
+ * Add Powerpacks endpoints to public api spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1540
46
+ * Add account-tags to GCP Service Account Attributes by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1550
47
+ * Add powerpack widget to dashboard schema by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1567
48
+ * Add custom schedule to monitor scheduling options by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1553
49
+ * Service Catalog support service definition schema v2.2 by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1577
50
+ * Powerpack pagination and test fixes by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1581
51
+ * Add support for container images endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1580
52
+ * Add global IP ranges to spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1250
53
+ ### Changed
54
+ * Add APM retention filter api documentation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1528
55
+ * Update request requirements of CI Visibility public pipelines write API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1561
56
+ * Add get APM retention filter endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1563
57
+ * Remove beta label notice on create pipeline API endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1579
58
+
59
+
60
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.15.0...v2.16.0
61
+
3
62
  ## 2.15.0 / 2023-09-14
4
63
 
5
64
  ### Fixed
data/Gemfile CHANGED
@@ -19,6 +19,7 @@ group :development, :test do
19
19
  gem 'webmock'
20
20
  gem 'zstandard'
21
21
  gem 'pry'
22
+ gem 'uuidtools'
22
23
  end
23
24
 
24
25
  group :docs do
data/LICENSE-3rdparty.csv CHANGED
@@ -71,6 +71,7 @@ tomlrb,MIT,Francois Bernier
71
71
  typhoeus,MIT,"David Balatero, Paul Dix, Hans Hasselberg"
72
72
  tzinfo,MIT,Philip Ross
73
73
  unicode-display_width,MIT,Jan Lelis
74
+ uuidtools,Apache-2.0,Bob Aman
74
75
  vcr,"Hippocratic-2.1,MIT","Myron Marston, Kurtis Rainbolt-Greene, Olle Jonsson"
75
76
  webmock,MIT,Bartosz Blimke
76
77
  with_env,MIT,Zach Dennis
@@ -26,6 +26,8 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.add_runtime_dependency "zeitwerk", "~> 2.6", ">= 2.6.0"
28
28
 
29
+ spec.add_runtime_dependency "uuidtools", "~> 2.1.5", ">= 2.1.5"
30
+
29
31
  spec.add_development_dependency "rspec", "~> 3.6", ">= 3.6.0"
30
32
 
31
33
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|cassettes)/}) }
@@ -4,7 +4,7 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AWSAccount.new({
7
- account_id: "1234567",
7
+ account_id: "123456789012",
8
8
  account_specific_namespace_rules: {
9
9
  auto_scaling: false, opswork: false,
10
10
  },
@@ -0,0 +1,12 @@
1
+ # Create an Amazon EventBridge source returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
+
6
+ body = DatadogAPIClient::V1::AWSEventBridgeCreateRequest.new({
7
+ account_id: "123456789012",
8
+ create_event_bus: true,
9
+ event_generator_name: "app-alerts",
10
+ region: "us-east-1",
11
+ })
12
+ p api_instance.create_aws_event_bridge_source(body)
@@ -4,7 +4,7 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AWSTagFilterCreateRequest.new({
7
- account_id: "1234567",
7
+ account_id: "123456789012",
8
8
  namespace: DatadogAPIClient::V1::AWSNamespace::ELB,
9
9
  tag_filter_str: "prod*",
10
10
  })
@@ -4,7 +4,7 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AWSAccount.new({
7
- account_id: "1234567",
7
+ account_id: "123456789012",
8
8
  account_specific_namespace_rules: {
9
9
  auto_scaling: false, opswork: false,
10
10
  },
@@ -4,7 +4,7 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AWSAccountDeleteRequest.new({
7
- account_id: "1234567",
7
+ account_id: "123456789012",
8
8
  role_name: "DatadogAWSIntegrationRole",
9
9
  })
10
10
  p api_instance.delete_aws_account(body)
@@ -0,0 +1,11 @@
1
+ # Delete an Amazon EventBridge source returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
+
6
+ body = DatadogAPIClient::V1::AWSEventBridgeDeleteRequest.new({
7
+ account_id: "123456789012",
8
+ event_generator_name: "app-alerts-zyxw3210",
9
+ region: "us-east-1",
10
+ })
11
+ p api_instance.delete_aws_event_bridge_source(body)
@@ -0,0 +1,5 @@
1
+ # Get all Amazon EventBridge sources returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
+ p api_instance.list_aws_event_bridge_sources()
@@ -8,6 +8,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
8
8
  automute: true,
9
9
  client_id: "testc7f6-1234-5678-9101-3fcbf464test",
10
10
  client_secret: "testingx./Sw*g/Y33t..R1cH+hScMDt",
11
+ container_app_filters: "key:value,filter:example",
11
12
  cspm_enabled: true,
12
13
  custom_metrics_enabled: true,
13
14
  errors: [
@@ -8,6 +8,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
8
8
  automute: true,
9
9
  client_id: "testc7f6-1234-5678-9101-3fcbf464test",
10
10
  client_secret: "testingx./Sw*g/Y33t..R1cH+hScMDt",
11
+ container_app_filters: "key:value,filter:example",
11
12
  cspm_enabled: true,
12
13
  custom_metrics_enabled: true,
13
14
  errors: [
@@ -8,6 +8,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
8
8
  automute: true,
9
9
  client_id: "testc7f6-1234-5678-9101-3fcbf464test",
10
10
  client_secret: "testingx./Sw*g/Y33t..R1cH+hScMDt",
11
+ container_app_filters: "key:value,filter:example",
11
12
  cspm_enabled: true,
12
13
  custom_metrics_enabled: true,
13
14
  errors: [
@@ -8,6 +8,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
8
8
  automute: true,
9
9
  client_id: "testc7f6-1234-5678-9101-3fcbf464test",
10
10
  client_secret: "testingx./Sw*g/Y33t..R1cH+hScMDt",
11
+ container_app_filters: "key:value,filter:example",
11
12
  cspm_enabled: true,
12
13
  custom_metrics_enabled: true,
13
14
  errors: [
@@ -19,6 +19,13 @@ body = DatadogAPIClient::V1::Dashboard.new({
19
19
  title_size: "16",
20
20
  title_align: DatadogAPIClient::V1::WidgetTextAlign::LEFT,
21
21
  time: DatadogAPIClient::V1::WidgetTime.new({}),
22
+ style: DatadogAPIClient::V1::ToplistWidgetStyle.new({
23
+ display: DatadogAPIClient::V1::ToplistWidgetStacked.new({
24
+ type: DatadogAPIClient::V1::ToplistWidgetStackedType::STACKED,
25
+ legend: DatadogAPIClient::V1::ToplistWidgetLegend::INLINE,
26
+ }),
27
+ scaling: DatadogAPIClient::V1::ToplistWidgetScaling::RELATIVE,
28
+ }),
22
29
  type: DatadogAPIClient::V1::ToplistWidgetDefinitionType::TOPLIST,
23
30
  requests: [
24
31
  DatadogAPIClient::V1::ToplistWidgetRequest.new({
@@ -0,0 +1,44 @@
1
+ # Create a new dashboard with powerpack widget
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ # there is a valid "powerpack" in the system
7
+ POWERPACK_DATA_ID = ENV["POWERPACK_DATA_ID"]
8
+
9
+ body = DatadogAPIClient::V1::Dashboard.new({
10
+ title: "Example-Dashboard with powerpack widget",
11
+ layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
12
+ widgets: [
13
+ DatadogAPIClient::V1::Widget.new({
14
+ definition: DatadogAPIClient::V1::PowerpackWidgetDefinition.new({
15
+ type: DatadogAPIClient::V1::PowerpackWidgetDefinitionType::POWERPACK,
16
+ powerpack_id: POWERPACK_DATA_ID,
17
+ template_variables: DatadogAPIClient::V1::PowerpackTemplateVariables.new({
18
+ controlled_externally: [],
19
+ controlled_by_powerpack: [
20
+ DatadogAPIClient::V1::PowerpackTemplateVariableContents.new({
21
+ name: "foo",
22
+ prefix: "bar",
23
+ values: [
24
+ "baz",
25
+ "qux",
26
+ "quuz",
27
+ ],
28
+ }),
29
+ ],
30
+ }),
31
+ }),
32
+ layout: DatadogAPIClient::V1::WidgetLayout.new({
33
+ x: 1,
34
+ y: 1,
35
+ width: 2,
36
+ height: 2,
37
+ is_column_break: false,
38
+ }),
39
+ }),
40
+ ],
41
+ description: "description",
42
+ is_read_only: false,
43
+ })
44
+ p api_instance.create_dashboard(body)
@@ -0,0 +1,91 @@
1
+ # Create a new dashboard with split graph widget
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ body = DatadogAPIClient::V1::Dashboard.new({
7
+ title: "Example-Dashboard",
8
+ description: "",
9
+ widgets: [
10
+ DatadogAPIClient::V1::Widget.new({
11
+ layout: DatadogAPIClient::V1::WidgetLayout.new({
12
+ x: 0,
13
+ y: 0,
14
+ width: 12,
15
+ height: 8,
16
+ }),
17
+ definition: DatadogAPIClient::V1::SplitGraphWidgetDefinition.new({
18
+ title: "",
19
+ type: DatadogAPIClient::V1::SplitGraphWidgetDefinitionType::SPLIT_GROUP,
20
+ source_widget_definition: DatadogAPIClient::V1::TimeseriesWidgetDefinition.new({
21
+ title: "",
22
+ title_size: "16",
23
+ title_align: DatadogAPIClient::V1::WidgetTextAlign::LEFT,
24
+ type: DatadogAPIClient::V1::TimeseriesWidgetDefinitionType::TIMESERIES,
25
+ requests: [
26
+ DatadogAPIClient::V1::TimeseriesWidgetRequest.new({
27
+ response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES,
28
+ queries: [
29
+ DatadogAPIClient::V1::FormulaAndFunctionMetricQueryDefinition.new({
30
+ name: "query1",
31
+ data_source: DatadogAPIClient::V1::FormulaAndFunctionMetricDataSource::METRICS,
32
+ query: "avg:system.cpu.user{*}",
33
+ }),
34
+ ],
35
+ style: DatadogAPIClient::V1::WidgetRequestStyle.new({
36
+ palette: "dog_classic",
37
+ line_type: DatadogAPIClient::V1::WidgetLineType::SOLID,
38
+ line_width: DatadogAPIClient::V1::WidgetLineWidth::NORMAL,
39
+ }),
40
+ display_type: DatadogAPIClient::V1::WidgetDisplayType::LINE,
41
+ }),
42
+ ],
43
+ }),
44
+ split_config: DatadogAPIClient::V1::SplitConfig.new({
45
+ split_dimensions: [
46
+ DatadogAPIClient::V1::SplitDimension.new({
47
+ one_graph_per: "service",
48
+ }),
49
+ ],
50
+ limit: 24,
51
+ sort: DatadogAPIClient::V1::SplitSort.new({
52
+ compute: DatadogAPIClient::V1::SplitConfigSortCompute.new({
53
+ aggregation: "sum",
54
+ metric: "system.cpu.user",
55
+ }),
56
+ order: DatadogAPIClient::V1::WidgetSort::DESCENDING,
57
+ }),
58
+ static_splits: [
59
+ [
60
+ DatadogAPIClient::V1::SplitVectorEntryItem.new({
61
+ tag_key: "service",
62
+ tag_values: [
63
+ "cassandra",
64
+ ],
65
+ }),
66
+ DatadogAPIClient::V1::SplitVectorEntryItem.new({
67
+ tag_key: "datacenter",
68
+ tag_values: [],
69
+ }),
70
+ ],
71
+ [
72
+ DatadogAPIClient::V1::SplitVectorEntryItem.new({
73
+ tag_key: "demo",
74
+ tag_values: [
75
+ "env",
76
+ ],
77
+ }),
78
+ ],
79
+ ],
80
+ }),
81
+ size: DatadogAPIClient::V1::SplitGraphVizSize::MD,
82
+ has_uniform_y_axes: true,
83
+ }),
84
+ }),
85
+ ],
86
+ template_variables: [],
87
+ layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
88
+ is_read_only: false,
89
+ notify_list: [],
90
+ })
91
+ p api_instance.create_dashboard(body)
@@ -0,0 +1,35 @@
1
+ # Create a metric monitor with a custom schedule returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::MonitorsAPI.new
5
+
6
+ body = DatadogAPIClient::V1::Monitor.new({
7
+ message: "some message Notify: @hipchat-channel",
8
+ name: "Example-Monitor",
9
+ query: "avg(current_1mo):avg:system.load.5{*} > 0.5",
10
+ tags: [],
11
+ options: DatadogAPIClient::V1::MonitorOptions.new({
12
+ thresholds: DatadogAPIClient::V1::MonitorThresholds.new({
13
+ critical: 0.5,
14
+ }),
15
+ notify_audit: false,
16
+ include_tags: false,
17
+ scheduling_options: DatadogAPIClient::V1::MonitorOptionsSchedulingOptions.new({
18
+ evaluation_window: DatadogAPIClient::V1::MonitorOptionsSchedulingOptionsEvaluationWindow.new({
19
+ day_starts: "04:00",
20
+ month_starts: 1,
21
+ }),
22
+ custom_schedule: DatadogAPIClient::V1::MonitorOptionsCustomSchedule.new({
23
+ recurrences: [
24
+ DatadogAPIClient::V1::MonitorOptionsCustomScheduleRecurrence.new({
25
+ rrule: "FREQ=DAILY;INTERVAL=1",
26
+ timezone: "America/Los_Angeles",
27
+ start: "2024-10-26T09:13:00",
28
+ }),
29
+ ],
30
+ }),
31
+ }),
32
+ }),
33
+ type: DatadogAPIClient::V1::MonitorType::QUERY_ALERT,
34
+ })
35
+ p api_instance.create_monitor(body)
@@ -47,7 +47,7 @@ body = DatadogAPIClient::V1::SyntheticsBrowserTest.new({
47
47
  min_location_failed: 1,
48
48
  no_screenshot: true,
49
49
  _retry: DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({
50
- count: 3,
50
+ count: 2,
51
51
  interval: 10,
52
52
  }),
53
53
  tick_every: 300,
@@ -40,7 +40,7 @@ body = DatadogAPIClient::V1::SyntheticsBrowserTest.new({
40
40
  min_location_failed: 1,
41
41
  no_screenshot: true,
42
42
  _retry: DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({
43
- count: 3,
43
+ count: 2,
44
44
  interval: 10,
45
45
  }),
46
46
  rum_settings: DatadogAPIClient::V1::SyntheticsBrowserTestRumSettings.new({
@@ -37,7 +37,7 @@ body = DatadogAPIClient::V1::SyntheticsBrowserTest.new({
37
37
  min_location_failed: 1,
38
38
  no_screenshot: true,
39
39
  _retry: DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({
40
- count: 3,
40
+ count: 2,
41
41
  interval: 10,
42
42
  }),
43
43
  tick_every: 300,
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::UsageMeteringAPI.new
5
- p api_instance.get_usage_ci_app("2021-11-11T11:11:11.111+00:00")
5
+ opts = {
6
+ end_hr: (Time.now + -3 * 86400),
7
+ }
8
+ p api_instance.get_usage_ci_app((Time.now + -5 * 86400), opts)
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::UsageMeteringAPI.new
5
- p api_instance.get_usage_cws("2021-11-11T11:11:11.111+00:00")
5
+ opts = {
6
+ end_hr: (Time.now + -3 * 86400),
7
+ }
8
+ p api_instance.get_usage_cws((Time.now + -5 * 86400), opts)
@@ -1,4 +1,4 @@
1
- # Get hourly usage for CSPM returns "OK" response
1
+ # Get hourly usage for CSM Pro returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::UsageMeteringAPI.new
@@ -0,0 +1,20 @@
1
+ # Create a retention filter returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
5
+
6
+ body = DatadogAPIClient::V2::RetentionFilterCreateRequest.new({
7
+ data: DatadogAPIClient::V2::RetentionFilterCreateData.new({
8
+ attributes: DatadogAPIClient::V2::RetentionFilterCreateAttributes.new({
9
+ enabled: true,
10
+ filter: DatadogAPIClient::V2::SpansFilterCreate.new({
11
+ query: "@http.status_code:200 service:my-service",
12
+ }),
13
+ filter_type: DatadogAPIClient::V2::RetentionFilterType::SPANS_SAMPLING_PROCESSOR,
14
+ name: "my retention filter",
15
+ rate: 1.0,
16
+ }),
17
+ type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
18
+ }),
19
+ })
20
+ p api_instance.create_apm_retention_filter(body)
@@ -0,0 +1,8 @@
1
+ # Delete a retention filter returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
5
+
6
+ # there is a valid "retention_filter" in the system
7
+ RETENTION_FILTER_DATA_ID = ENV["RETENTION_FILTER_DATA_ID"]
8
+ p api_instance.delete_apm_retention_filter(RETENTION_FILTER_DATA_ID)
@@ -0,0 +1,8 @@
1
+ # Get a given APM retention filter returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
5
+
6
+ # there is a valid "retention_filter" in the system
7
+ RETENTION_FILTER_DATA_ID = ENV["RETENTION_FILTER_DATA_ID"]
8
+ p api_instance.get_apm_retention_filter(RETENTION_FILTER_DATA_ID)
@@ -0,0 +1,5 @@
1
+ # List all APM retention filters returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
5
+ p api_instance.list_apm_retention_filters()
@@ -0,0 +1,18 @@
1
+ # Re-order retention filters returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
5
+
6
+ body = DatadogAPIClient::V2::ReorderRetentionFiltersRequest.new({
7
+ data: [
8
+ DatadogAPIClient::V2::RetentionFilterWithoutAttributes.new({
9
+ id: "jdZrilSJQLqzb6Cu7aub9Q",
10
+ type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
11
+ }),
12
+ DatadogAPIClient::V2::RetentionFilterWithoutAttributes.new({
13
+ id: "7RBOb7dLSYWI01yc3pIH8w",
14
+ type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
15
+ }),
16
+ ],
17
+ })
18
+ p api_instance.reorder_apm_retention_filters(body)