datadog_api_client 2.15.0 → 2.17.0

Sign up to get free protection for your applications and to get access to all the features.
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)