datadog_api_client 2.14.0 → 2.16.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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +6 -6
  3. data/.generator/schemas/v1/openapi.yaml +808 -143
  4. data/.generator/schemas/v2/openapi.yaml +1808 -166
  5. data/.generator/src/generator/openapi.py +3 -1
  6. data/.generator/src/generator/templates/api.j2 +8 -2
  7. data/.generator/src/generator/templates/api_client.j2 +19 -1
  8. data/.generator/src/generator/templates/model_base.j2 +1 -0
  9. data/CHANGELOG.md +56 -0
  10. data/examples/v1/dashboards/CreateDashboard_1754992756.rb +44 -0
  11. data/examples/v1/dashboards/CreateDashboard_2278756614.rb +91 -0
  12. data/examples/v1/dashboards/CreateDashboard_2618036642.rb +36 -0
  13. data/examples/v1/dashboards/CreateDashboard_2705593938.rb +3 -0
  14. data/examples/v1/dashboards/CreateDashboard_3777304439.rb +50 -0
  15. data/examples/v1/dashboards/ListDashboards_1062671515.rb +8 -0
  16. data/examples/v1/monitors/CreateMonitor_1539578087.rb +36 -0
  17. data/examples/v1/monitors/ListMonitors_2966492814.rb +8 -0
  18. data/examples/v1/notebooks/ListNotebooks_788665428.rb +8 -0
  19. data/examples/v1/service-level-objective-corrections/ListSLOCorrection_2647266873.rb +8 -0
  20. data/examples/v1/service-level-objectives/ListSLOs_3036942817.rb +8 -0
  21. data/examples/v1/synthetics/CreateSyntheticsAPITest_1487281163.rb +1 -0
  22. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  23. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +1 -1
  24. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_397420811.rb +1 -1
  25. data/examples/v1/synthetics/ListTests_1938827783.rb +8 -0
  26. data/examples/v1/usage-metering/GetUsageCIApp.rb +4 -1
  27. data/examples/v1/usage-metering/GetUsageCWS.rb +4 -1
  28. data/examples/v1/usage-metering/GetUsageCloudSecurityPostureManagement.rb +1 -1
  29. data/examples/v2/apm-retention-filters/CreateApmRetentionFilter.rb +20 -0
  30. data/examples/v2/apm-retention-filters/DeleteApmRetentionFilter.rb +8 -0
  31. data/examples/v2/apm-retention-filters/GetApmRetentionFilter.rb +8 -0
  32. data/examples/v2/apm-retention-filters/ListApmRetentionFilters.rb +5 -0
  33. data/examples/v2/apm-retention-filters/ReorderApmRetentionFilters.rb +18 -0
  34. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter.rb +24 -0
  35. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  36. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -8
  37. data/examples/v2/container-images/ListContainerImages.rb +8 -0
  38. data/examples/v2/container-images/ListContainerImages_3088586393.rb +11 -0
  39. data/examples/v2/container-images/ListContainerImages_3974828736.rb +11 -0
  40. data/examples/v2/downtimes/CancelDowntime.rb +0 -3
  41. data/examples/v2/downtimes/CreateDowntime.rb +0 -3
  42. data/examples/v2/downtimes/GetDowntime.rb +0 -3
  43. data/examples/v2/downtimes/ListDowntimes.rb +0 -3
  44. data/examples/v2/downtimes/ListDowntimes_805770330.rb +8 -0
  45. data/examples/v2/downtimes/ListMonitorDowntimes.rb +0 -3
  46. data/examples/v2/downtimes/ListMonitorDowntimes_128979780.rb +0 -3
  47. data/examples/v2/downtimes/UpdateDowntime.rb +0 -3
  48. data/examples/v2/gcp-integration/CreateGCPSTSAccount_109518525.rb +19 -0
  49. data/examples/v2/powerpack/CreatePowerpack.rb +47 -0
  50. data/examples/v2/powerpack/DeletePowerpack.rb +8 -0
  51. data/examples/v2/powerpack/GetPowerpack.rb +8 -0
  52. data/examples/v2/powerpack/ListPowerpacks.rb +8 -0
  53. data/examples/v2/powerpack/ListPowerpacks_1173755071.rb +8 -0
  54. data/examples/v2/powerpack/UpdatePowerpack.rb +50 -0
  55. data/examples/v2/rum/CreateRUMApplication.rb +1 -1
  56. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_1092490364.rb +1 -1
  57. data/examples/v2/security-monitoring/UpdateSecurityMonitoringRule_428087276.rb +1 -1
  58. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey.rb +5 -7
  59. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey.rb +7 -1
  60. data/examples/v2/service-accounts/GetServiceAccountApplicationKey.rb +7 -1
  61. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys.rb +4 -1
  62. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey.rb +11 -9
  63. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +23 -12
  64. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions_2621709423.rb +53 -0
  65. data/examples/v2/teams/ListTeams_3592098458.rb +8 -0
  66. data/examples/v2/users/ListUsers_4075885358.rb +8 -0
  67. data/lib/datadog_api_client/api_client.rb +19 -1
  68. data/lib/datadog_api_client/configuration.rb +1 -7
  69. data/lib/datadog_api_client/inflector.rb +81 -0
  70. data/lib/datadog_api_client/v1/api/dashboards_api.rb +25 -0
  71. data/lib/datadog_api_client/v1/api/monitors_api.rb +23 -20
  72. data/lib/datadog_api_client/v1/api/notebooks_api.rb +21 -0
  73. data/lib/datadog_api_client/v1/api/service_level_objective_corrections_api.rb +21 -0
  74. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +21 -0
  75. data/lib/datadog_api_client/v1/api/synthetics_api.rb +25 -3
  76. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -6
  77. data/lib/datadog_api_client/v1/api/webhooks_integration_api.rb +1 -1
  78. data/lib/datadog_api_client/v1/model_base.rb +1 -0
  79. data/lib/datadog_api_client/v1/models/heat_map_widget_request.rb +35 -1
  80. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +7 -4
  81. data/lib/datadog_api_client/v1/models/ip_prefixes_global.rb +94 -0
  82. data/lib/datadog_api_client/v1/models/ip_ranges.rb +11 -1
  83. data/lib/datadog_api_client/v1/models/list_stream_source.rb +1 -0
  84. data/lib/datadog_api_client/v1/models/monitor.rb +1 -1
  85. data/lib/datadog_api_client/v1/models/monitor_options.rb +1 -1
  86. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule.rb +82 -0
  87. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule_recurrence.rb +100 -0
  88. data/lib/datadog_api_client/v1/models/monitor_options_scheduling_options.rb +11 -1
  89. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +6 -0
  90. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +65 -5
  91. data/lib/datadog_api_client/v1/models/powerpack_template_variable_contents.rb +131 -0
  92. data/lib/datadog_api_client/v1/models/powerpack_template_variables.rb +94 -0
  93. data/lib/datadog_api_client/v1/models/powerpack_widget_definition.rb +169 -0
  94. data/lib/datadog_api_client/v1/models/powerpack_widget_definition_type.rb +26 -0
  95. data/lib/datadog_api_client/v1/models/split_config.rb +181 -0
  96. data/lib/datadog_api_client/v1/models/split_config_sort_compute.rb +119 -0
  97. data/lib/datadog_api_client/v1/models/split_dimension.rb +98 -0
  98. data/lib/datadog_api_client/v1/models/split_graph_source_widget_definition.rb +70 -0
  99. data/lib/datadog_api_client/v1/models/split_graph_viz_size.rb +29 -0
  100. data/lib/datadog_api_client/v1/models/split_graph_widget_definition.rb +191 -0
  101. data/lib/datadog_api_client/v1/models/split_graph_widget_definition_type.rb +26 -0
  102. data/lib/datadog_api_client/v1/models/split_sort.rb +108 -0
  103. data/lib/datadog_api_client/v1/models/split_vector_entry_item.rb +125 -0
  104. data/lib/datadog_api_client/v1/models/sunburst_widget_request.rb +14 -4
  105. data/lib/datadog_api_client/v1/models/synthetics_assertion_target.rb +11 -1
  106. data/lib/datadog_api_client/v1/models/synthetics_assertion_timings_scope.rb +27 -0
  107. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +4 -4
  108. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_hour.rb +8 -8
  109. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_response.rb +2 -2
  110. data/lib/datadog_api_client/v1/models/usage_profiling_hour.rb +12 -1
  111. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +168 -8
  112. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +168 -8
  113. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +168 -8
  114. data/lib/datadog_api_client/v1/models/widget_definition.rb +8 -6
  115. data/lib/datadog_api_client/v2/api/apm_retention_filters_api.rb +423 -0
  116. data/lib/datadog_api_client/v2/api/audit_api.rb +1 -1
  117. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +5 -11
  118. data/lib/datadog_api_client/v2/api/ci_visibility_tests_api.rb +4 -4
  119. data/lib/datadog_api_client/v2/api/container_images_api.rb +129 -0
  120. data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -36
  121. data/lib/datadog_api_client/v2/api/events_api.rb +1 -1
  122. data/lib/datadog_api_client/v2/api/incidents_api.rb +1 -1
  123. data/lib/datadog_api_client/v2/api/logs_api.rb +1 -1
  124. data/lib/datadog_api_client/v2/api/powerpack_api.rb +383 -0
  125. data/lib/datadog_api_client/v2/api/processes_api.rb +1 -1
  126. data/lib/datadog_api_client/v2/api/rum_api.rb +1 -1
  127. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +3 -3
  128. data/lib/datadog_api_client/v2/api/service_definition_api.rb +4 -4
  129. data/lib/datadog_api_client/v2/api/spans_api.rb +1 -1
  130. data/lib/datadog_api_client/v2/api/teams_api.rb +22 -0
  131. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  132. data/lib/datadog_api_client/v2/api/users_api.rb +22 -0
  133. data/lib/datadog_api_client/v2/model_base.rb +1 -0
  134. data/lib/datadog_api_client/v2/models/apm_retention_filter_type.rb +26 -0
  135. data/lib/datadog_api_client/v2/models/container_image.rb +100 -0
  136. data/lib/datadog_api_client/v2/models/container_image_attributes.rb +261 -0
  137. data/lib/datadog_api_client/v2/models/container_image_flavor.rb +120 -0
  138. data/lib/datadog_api_client/v2/models/container_image_group.rb +110 -0
  139. data/lib/datadog_api_client/v2/models/container_image_group_attributes.rb +100 -0
  140. data/lib/datadog_api_client/v2/models/container_image_group_images_relationships_link.rb +92 -0
  141. data/lib/datadog_api_client/v2/models/container_image_group_relationships.rb +80 -0
  142. data/lib/datadog_api_client/v2/models/container_image_group_relationships_links.rb +80 -0
  143. data/lib/datadog_api_client/v2/models/container_image_group_type.rb +26 -0
  144. data/lib/datadog_api_client/v2/models/container_image_item.rb +63 -0
  145. data/lib/datadog_api_client/v2/models/container_image_meta.rb +80 -0
  146. data/lib/datadog_api_client/v2/models/container_image_meta_page.rb +160 -0
  147. data/lib/datadog_api_client/v2/models/container_image_meta_page_type.rb +26 -0
  148. data/lib/datadog_api_client/v2/models/container_image_type.rb +26 -0
  149. data/lib/datadog_api_client/v2/models/container_image_vulnerabilities.rb +140 -0
  150. data/lib/datadog_api_client/v2/models/container_images_response.rb +102 -0
  151. data/lib/datadog_api_client/v2/models/container_images_response_links.rb +130 -0
  152. data/lib/datadog_api_client/v2/models/data_scalar_column.rb +2 -2
  153. data/lib/datadog_api_client/v2/models/downtime_relationships_monitor_data.rb +1 -1
  154. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +13 -1
  155. data/lib/datadog_api_client/v2/models/group_scalar_column.rb +2 -2
  156. data/lib/datadog_api_client/v2/models/list_powerpacks_response.rb +114 -0
  157. data/lib/datadog_api_client/v2/models/powerpack.rb +80 -0
  158. data/lib/datadog_api_client/v2/models/powerpack_attributes.rb +164 -0
  159. data/lib/datadog_api_client/v2/models/powerpack_data.rb +110 -0
  160. data/lib/datadog_api_client/v2/models/powerpack_group_widget.rb +108 -0
  161. data/lib/datadog_api_client/v2/models/powerpack_group_widget_definition.rb +162 -0
  162. data/lib/datadog_api_client/v2/models/powerpack_group_widget_layout.rb +177 -0
  163. data/lib/datadog_api_client/v2/models/powerpack_inner_widget_layout.rb +177 -0
  164. data/lib/datadog_api_client/v2/models/powerpack_inner_widgets.rb +108 -0
  165. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +80 -0
  166. data/lib/datadog_api_client/v2/models/powerpack_response.rb +92 -0
  167. data/lib/datadog_api_client/v2/models/powerpack_response_links.rb +129 -0
  168. data/lib/datadog_api_client/v2/models/powerpack_template_variable.rb +110 -0
  169. data/lib/datadog_api_client/v2/models/powerpacks_response_meta.rb +80 -0
  170. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +150 -0
  171. data/lib/datadog_api_client/v2/models/reorder_retention_filters_request.rb +100 -0
  172. data/lib/datadog_api_client/v2/models/restriction_policy_binding.rb +1 -1
  173. data/lib/datadog_api_client/v2/models/retention_filter.rb +140 -0
  174. data/lib/datadog_api_client/v2/models/retention_filter_all.rb +140 -0
  175. data/lib/datadog_api_client/v2/models/retention_filter_all_attributes.rb +181 -0
  176. data/lib/datadog_api_client/v2/models/retention_filter_all_type.rb +28 -0
  177. data/lib/datadog_api_client/v2/models/retention_filter_attributes.rb +181 -0
  178. data/lib/datadog_api_client/v2/models/retention_filter_create_attributes.rb +183 -0
  179. data/lib/datadog_api_client/v2/models/retention_filter_create_data.rb +119 -0
  180. data/lib/datadog_api_client/v2/models/retention_filter_create_request.rb +98 -0
  181. data/lib/datadog_api_client/v2/models/retention_filter_response.rb +80 -0
  182. data/lib/datadog_api_client/v2/models/retention_filter_type.rb +26 -0
  183. data/lib/datadog_api_client/v2/models/retention_filter_update_data.rb +140 -0
  184. data/lib/datadog_api_client/v2/models/retention_filter_update_request.rb +98 -0
  185. data/lib/datadog_api_client/v2/models/retention_filter_without_attributes.rb +119 -0
  186. data/lib/datadog_api_client/v2/models/retention_filters_response.rb +100 -0
  187. data/lib/datadog_api_client/v2/models/scalar_column_type_group.rb +26 -0
  188. data/lib/datadog_api_client/v2/models/scalar_column_type_number.rb +26 -0
  189. data/lib/datadog_api_client/v2/models/scalar_meta.rb +8 -0
  190. data/lib/datadog_api_client/v2/models/service_definition_schema.rb +2 -1
  191. data/lib/datadog_api_client/v2/models/service_definition_schema_versions.rb +1 -0
  192. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +247 -0
  193. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_contact.rb +129 -0
  194. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_integrations.rb +90 -0
  195. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_link.rb +150 -0
  196. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie.rb +108 -0
  197. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie_region.rb +27 -0
  198. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_pagerduty.rb +80 -0
  199. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_type.rb +32 -0
  200. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_version.rb +26 -0
  201. data/lib/datadog_api_client/v2/models/service_definitions_create_request.rb +1 -0
  202. data/lib/datadog_api_client/v2/models/spans_filter.rb +80 -0
  203. data/lib/datadog_api_client/v2/models/spans_filter_create.rb +98 -0
  204. data/lib/datadog_api_client/version.rb +1 -1
  205. data/run-tests.sh +6 -5
  206. metadata +114 -9
  207. data/examples/v1/usage-metering/GetUsageCIApp_1064440884.rb +0 -8
  208. data/examples/v1/usage-metering/GetUsageCWS_736958514.rb +0 -8
  209. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey_1761876297.rb +0 -17
  210. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey_992091161.rb +0 -11
  211. data/examples/v2/service-accounts/GetServiceAccountApplicationKey_819075131.rb +0 -11
  212. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys_1268914341.rb +0 -8
  213. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey_768415790.rb +0 -22
@@ -477,7 +477,7 @@ def get_container(operation, attribute_path, with_type=False):
477
477
  ".".join(formatter.attribute_name(a) for a in attribute_path.split(".")[1:]),
478
478
  get_type(parameter, attribute_path.split(".")[1]),
479
479
  )
480
- return f'opts, "{formatter.attribute_path(attribute_path)}"{get_type(parameter)}'
480
+ return f'opts, "{formatter.attribute_path(attribute_path)}"{get_type(parameter)}'
481
481
 
482
482
 
483
483
  def get_type_at_path(operation, attribute_path):
@@ -491,6 +491,8 @@ def get_type_at_path(operation, attribute_path):
491
491
  if content is None:
492
492
  raise RuntimeError("Default response not found")
493
493
  content = content["schema"]
494
+ if not attribute_path:
495
+ return get_name(content.get("items"))
494
496
  for attr in attribute_path.split("."):
495
497
  content = content["properties"][attr]
496
498
  return get_name(content.get("items"))
@@ -228,10 +228,13 @@ module {{ module_name }}::{{ version|upper }}
228
228
  api_version = "{{ version|upper }}"
229
229
  page_size = @api_client.get_attribute_from_path({{ get_container(operation, pagination.limitParam) }}, {{ get_default(operation, pagination.limitParam) }})
230
230
  @api_client.set_attribute_from_path(api_version, {{ get_container(operation, pagination.limitParam, True) }}, page_size)
231
+ {%- if pagination.pageParam %}
232
+ @api_client.set_attribute_from_path(api_version, {{ get_container(operation, pagination.pageParam, True) }}, 0)
233
+ {%- endif %}
231
234
  while true do
232
235
  response = {{ operation.operationId|snake_case }}({% for name, parameter in operation|parameters if parameter.required %}{{ name|attribute_name }}, {% endfor %}opts)
233
- @api_client.get_attribute_from_path(response, "{{ pagination.resultsPath|attribute_path }}").each { |item| yield(item) }
234
- if @api_client.get_attribute_from_path(response, "{{ pagination.resultsPath|attribute_path }}").length < page_size
236
+ @api_client.get_attribute_from_path(response, "{{ pagination.resultsPath|default('')|attribute_path }}").each { |item| yield(item) }
237
+ if @api_client.get_attribute_from_path(response, "{{ pagination.resultsPath|default('')|attribute_path }}").length < page_size
235
238
  break
236
239
  end
237
240
  {%- if pagination.pageOffsetParam %}
@@ -240,6 +243,9 @@ module {{ module_name }}::{{ version|upper }}
240
243
  {%- if pagination.cursorParam %}
241
244
  @api_client.set_attribute_from_path(api_version, {{ get_container(operation, pagination.cursorParam, True) }}, @api_client.get_attribute_from_path(response, "{{ pagination.cursorPath }}"))
242
245
  {%- endif %}
246
+ {%- if pagination.pageParam %}
247
+ @api_client.set_attribute_from_path(api_version, {{ get_container(operation, pagination.pageParam, True) }}, @api_client.get_attribute_from_path({{ get_container(operation, pagination.pageParam) }}, 0) + 1)
248
+ {%- endif %}
243
249
  end
244
250
  end
245
251
  {%- endif %}
@@ -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
 
@@ -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)
data/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.16.0 / 2023-10-16
4
+
5
+ ### Fixed
6
+ * Fix schema for query scalar API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1542
7
+ * Remove the application key from CreateCIAppPipelineEvent endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1551
8
+ * Document 403 on team endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1559
9
+ * Powerpack improve group_widget object by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1572
10
+ * Remove escalation message default by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1585
11
+ ### Added
12
+ * Add split graph widget to dashboard schema by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1529
13
+ * Update public docs for CSM Enterprise and CSPM by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1539
14
+ * Add serverless apps to usage and usage attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1557
15
+ * Add Network Device Monitoring Netflow to usage by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1565
16
+ * Add Powerpacks endpoints to public api spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1540
17
+ * Add account-tags to GCP Service Account Attributes by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1550
18
+ * Add powerpack widget to dashboard schema by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1567
19
+ * Add custom schedule to monitor scheduling options by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1553
20
+ * Service Catalog support service definition schema v2.2 by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1577
21
+ * Powerpack pagination and test fixes by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1581
22
+ * Add support for container images endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1580
23
+ * Add global IP ranges to spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1250
24
+ ### Changed
25
+ * Add APM retention filter api documentation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1528
26
+ * 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
27
+ * Add get APM retention filter endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1563
28
+ * 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
29
+
30
+
31
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.15.0...v2.16.0
32
+
33
+ ## 2.15.0 / 2023-09-14
34
+
35
+ ### Fixed
36
+ * Fix downtimes monitor relationship id schema type by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1524
37
+ ### Added
38
+ * Add trace_stream to dashboard ListStreamSource by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1499
39
+ * Add pagination extension to SLO corrections by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1509
40
+ * Adding aas count to the documentation for summary and hourly usage endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1511
41
+ * Add pagination extension to SLOs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1510
42
+ * Add pagination extension to monitors by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1512
43
+ * Add pagination extension to synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1516
44
+ * Add 'style' to sunburst requests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1515
45
+ * Add pagination extension to notebook by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1517
46
+ * Add support for dashboard listing pagination parameters by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1521
47
+ * Add pagination parameters to downtimes listing by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1523
48
+ * Add pagination extension to user list by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1522
49
+ * Add pagination extension to team listing by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1525
50
+ * Remove private beta for Downtimes v2 by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1519
51
+ * Update v1 monitor api docs to exclude downtimes v2 by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1534
52
+ * Add timing scope for response time assertions by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1526
53
+ * Add Formula and Function query support to heatmap widgets by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1535
54
+ * Add synthetics mobile application testing to usage metering API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1531
55
+
56
+
57
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.14.0...v2.15.0
58
+
3
59
  ## 2.14.0 / 2023-08-23
4
60
 
5
61
  ### Fixed
@@ -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,36 @@
1
+ # Create a new dashboard with trace_stream widget
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ body = DatadogAPIClient::V1::Dashboard.new({
7
+ layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
8
+ title: "Example-Dashboard with list_stream widget",
9
+ widgets: [
10
+ DatadogAPIClient::V1::Widget.new({
11
+ definition: DatadogAPIClient::V1::ListStreamWidgetDefinition.new({
12
+ type: DatadogAPIClient::V1::ListStreamWidgetDefinitionType::LIST_STREAM,
13
+ requests: [
14
+ DatadogAPIClient::V1::ListStreamWidgetRequest.new({
15
+ columns: [
16
+ DatadogAPIClient::V1::ListStreamColumn.new({
17
+ width: DatadogAPIClient::V1::ListStreamColumnWidth::AUTO,
18
+ field: "timestamp",
19
+ }),
20
+ DatadogAPIClient::V1::ListStreamColumn.new({
21
+ width: DatadogAPIClient::V1::ListStreamColumnWidth::AUTO,
22
+ field: "service",
23
+ }),
24
+ ],
25
+ query: DatadogAPIClient::V1::ListStreamQuery.new({
26
+ data_source: DatadogAPIClient::V1::ListStreamSource::TRACE_STREAM,
27
+ query_string: "",
28
+ }),
29
+ response_format: DatadogAPIClient::V1::ListStreamResponseFormat::EVENT_LIST,
30
+ }),
31
+ ],
32
+ }),
33
+ }),
34
+ ],
35
+ })
36
+ p api_instance.create_dashboard(body)
@@ -28,6 +28,9 @@ body = DatadogAPIClient::V1::Dashboard.new({
28
28
  aggregator: DatadogAPIClient::V1::FormulaAndFunctionMetricAggregation::SUM,
29
29
  }),
30
30
  ],
31
+ style: DatadogAPIClient::V1::WidgetStyle.new({
32
+ palette: "dog_classic",
33
+ }),
31
34
  }),
32
35
  ],
33
36
  }),
@@ -0,0 +1,50 @@
1
+ # Create a new dashboard with formula and function heatmap 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
+ widgets: [
9
+ DatadogAPIClient::V1::Widget.new({
10
+ layout: DatadogAPIClient::V1::WidgetLayout.new({
11
+ x: 0,
12
+ y: 0,
13
+ width: 47,
14
+ height: 15,
15
+ }),
16
+ definition: DatadogAPIClient::V1::HeatMapWidgetDefinition.new({
17
+ title: "",
18
+ title_size: "16",
19
+ title_align: DatadogAPIClient::V1::WidgetTextAlign::LEFT,
20
+ time: DatadogAPIClient::V1::WidgetTime.new({}),
21
+ type: DatadogAPIClient::V1::HeatMapWidgetDefinitionType::HEATMAP,
22
+ requests: [
23
+ DatadogAPIClient::V1::HeatMapWidgetRequest.new({
24
+ response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES,
25
+ queries: [
26
+ DatadogAPIClient::V1::FormulaAndFunctionMetricQueryDefinition.new({
27
+ data_source: DatadogAPIClient::V1::FormulaAndFunctionMetricDataSource::METRICS,
28
+ name: "query1",
29
+ query: "avg:system.cpu.user{*}",
30
+ }),
31
+ ],
32
+ formulas: [
33
+ DatadogAPIClient::V1::WidgetFormula.new({
34
+ formula: "query1",
35
+ }),
36
+ ],
37
+ style: DatadogAPIClient::V1::WidgetStyle.new({
38
+ palette: "dog_classic",
39
+ }),
40
+ }),
41
+ ],
42
+ }),
43
+ }),
44
+ ],
45
+ template_variables: [],
46
+ layout_type: DatadogAPIClient::V1::DashboardLayoutType::FREE,
47
+ is_read_only: false,
48
+ notify_list: [],
49
+ })
50
+ p api_instance.create_dashboard(body)
@@ -0,0 +1,8 @@
1
+ # Get all dashboards returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+ opts = {
6
+ count: 2,
7
+ }
8
+ api_instance.list_dashboards_with_pagination(opts) { |item| puts item }
@@ -0,0 +1,36 @@
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
+ on_missing_data: DatadogAPIClient::V1::OnMissingDataOption::DEFAULT,
17
+ include_tags: false,
18
+ scheduling_options: DatadogAPIClient::V1::MonitorOptionsSchedulingOptions.new({
19
+ evaluation_window: DatadogAPIClient::V1::MonitorOptionsSchedulingOptionsEvaluationWindow.new({
20
+ day_starts: "04:00",
21
+ month_starts: 1,
22
+ }),
23
+ custom_schedule: DatadogAPIClient::V1::MonitorOptionsCustomSchedule.new({
24
+ recurrences: [
25
+ DatadogAPIClient::V1::MonitorOptionsCustomScheduleRecurrence.new({
26
+ rrule: "FREQ=DAILY;INTERVAL=1",
27
+ timezone: "America/Los_Angeles",
28
+ start: "2024-10-26T09:13:00",
29
+ }),
30
+ ],
31
+ }),
32
+ }),
33
+ }),
34
+ type: DatadogAPIClient::V1::MonitorType::QUERY_ALERT,
35
+ })
36
+ p api_instance.create_monitor(body)
@@ -0,0 +1,8 @@
1
+ # Get all monitor details returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::MonitorsAPI.new
5
+ opts = {
6
+ page_size: 2,
7
+ }
8
+ api_instance.list_monitors_with_pagination(opts) { |item| puts item }
@@ -0,0 +1,8 @@
1
+ # Get all notebooks returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::NotebooksAPI.new
5
+ opts = {
6
+ count: 2,
7
+ }
8
+ api_instance.list_notebooks_with_pagination(opts) { |item| puts item }
@@ -0,0 +1,8 @@
1
+ # Get all SLO corrections returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::ServiceLevelObjectiveCorrectionsAPI.new
5
+ opts = {
6
+ limit: 2,
7
+ }
8
+ api_instance.list_slo_correction_with_pagination(opts) { |item| puts item }
@@ -0,0 +1,8 @@
1
+ # Get all SLOs returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::ServiceLevelObjectivesAPI.new
5
+ opts = {
6
+ limit: 2,
7
+ }
8
+ api_instance.list_slos_with_pagination(opts) { |item| puts item }
@@ -16,6 +16,7 @@ body = DatadogAPIClient::V1::SyntheticsAPITest.new({
16
16
  operator: DatadogAPIClient::V1::SyntheticsAssertionOperator::LESS_THAN,
17
17
  target: 2000,
18
18
  type: DatadogAPIClient::V1::SyntheticsAssertionType::RESPONSE_TIME,
19
+ timings_scope: DatadogAPIClient::V1::SyntheticsAssertionTimingsScope::WITHOUT_DNS,
19
20
  }),
20
21
  DatadogAPIClient::V1::SyntheticsAssertionJSONPathTarget.new({
21
22
  operator: DatadogAPIClient::V1::SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
@@ -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,
@@ -0,0 +1,8 @@
1
+ # Get the list of all Synthetic tests returns "OK - Returns the list of all Synthetic tests." response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::SyntheticsAPI.new
5
+ opts = {
6
+ page_size: 2,
7
+ }
8
+ api_instance.list_tests_with_pagination(opts) { |item| puts item }
@@ -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)