datadog_api_client 2.14.0 → 2.16.0

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