datadog_api_client 2.16.0 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +654 -11
  4. data/.generator/schemas/v2/openapi.yaml +1268 -206
  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 +3 -0
  8. data/.generator/src/generator/templates/inflector.j2 +1 -1
  9. data/.generator/src/generator/templates/model_base.j2 +4 -0
  10. data/CHANGELOG.md +29 -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/monitors/CreateMonitor_1539578087.rb +0 -1
  27. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +3 -0
  28. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +3 -0
  29. data/examples/v2/confluent-cloud/DeleteConfluentAccount.rb +4 -1
  30. data/examples/v2/confluent-cloud/DeleteConfluentResource.rb +5 -0
  31. data/examples/v2/containers/ListContainers.rb +8 -0
  32. data/examples/v2/containers/ListContainers_2175733917.rb +11 -0
  33. data/examples/v2/containers/ListContainers_931009654.rb +11 -0
  34. data/examples/v2/downtimes/ListMonitorDowntimes.rb +1 -1
  35. data/examples/v2/key-management/CreateCurrentUserApplicationKey.rb +2 -7
  36. data/examples/v2/key-management/DeleteApplicationKey.rb +4 -1
  37. data/examples/v2/key-management/DeleteCurrentUserApplicationKey.rb +4 -1
  38. data/examples/v2/powerpack/CreatePowerpack.rb +1 -0
  39. data/examples/v2/powerpack/UpdatePowerpack.rb +1 -0
  40. data/examples/v2/security-monitoring/MuteFindings.rb +29 -0
  41. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +1 -1
  42. data/examples/v2/service-scorecards/CreateScorecardOutcomesBatch.rb +27 -0
  43. data/examples/v2/service-scorecards/CreateScorecardRule.rb +19 -0
  44. data/examples/v2/service-scorecards/DeleteScorecardRule.rb +11 -0
  45. data/examples/v2/service-scorecards/ListScorecardOutcomes.rb +8 -0
  46. data/examples/v2/service-scorecards/ListScorecardOutcomes_2663454275.rb +13 -0
  47. data/examples/v2/service-scorecards/ListScorecardRules.rb +8 -0
  48. data/examples/v2/service-scorecards/ListScorecardRules_4057666343.rb +13 -0
  49. data/examples/v2/synthetics/SetOnDemandConcurrencyCap.rb +3 -1
  50. data/examples/v2/teams/ListTeams_3429963470.rb +12 -0
  51. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring.rb +4 -1
  52. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +4 -1
  53. data/examples/v2/usage-metering/GetUsageObservabilityPipelines.rb +4 -1
  54. data/examples/v2/users/GetUser.rb +5 -2
  55. data/lib/datadog_api_client/api_client.rb +3 -0
  56. data/lib/datadog_api_client/configuration.rb +8 -1
  57. data/lib/datadog_api_client/inflector.rb +76 -9
  58. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +194 -0
  59. data/lib/datadog_api_client/v1/api/monitors_api.rb +5 -1
  60. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +3 -3
  61. data/lib/datadog_api_client/v1/model_base.rb +4 -0
  62. data/lib/datadog_api_client/v1/models/aws_account.rb +2 -1
  63. data/lib/datadog_api_client/v1/models/aws_event_bridge_account_configuration.rb +105 -0
  64. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_request.rb +112 -0
  65. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_response.rb +110 -0
  66. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_status.rb +26 -0
  67. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_request.rb +100 -0
  68. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_response.rb +80 -0
  69. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_status.rb +26 -0
  70. data/lib/datadog_api_client/v1/models/aws_event_bridge_list_response.rb +92 -0
  71. data/lib/datadog_api_client/v1/models/aws_event_bridge_source.rb +90 -0
  72. data/lib/datadog_api_client/v1/models/azure_account.rb +12 -1
  73. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +21 -0
  74. data/lib/datadog_api_client/v1/models/monitor_options.rb +1 -1
  75. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +42 -0
  76. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +421 -1
  77. data/lib/datadog_api_client/v1/models/toplist_widget_definition.rb +11 -1
  78. data/lib/datadog_api_client/v1/models/toplist_widget_display.rb +63 -0
  79. data/lib/datadog_api_client/v1/models/toplist_widget_flat.rb +98 -0
  80. data/lib/datadog_api_client/v1/models/toplist_widget_flat_type.rb +26 -0
  81. data/lib/datadog_api_client/v1/models/toplist_widget_legend.rb +28 -0
  82. data/lib/datadog_api_client/v1/models/toplist_widget_scaling.rb +27 -0
  83. data/lib/datadog_api_client/v1/models/toplist_widget_stacked.rb +119 -0
  84. data/lib/datadog_api_client/v1/models/toplist_widget_stacked_type.rb +26 -0
  85. data/lib/datadog_api_client/v1/models/toplist_widget_style.rb +90 -0
  86. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  87. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
  88. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
  89. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +6 -0
  90. data/lib/datadog_api_client/v2/api/containers_api.rb +129 -0
  91. data/lib/datadog_api_client/v2/api/key_management_api.rb +8 -0
  92. data/lib/datadog_api_client/v2/api/metrics_api.rb +6 -3
  93. data/lib/datadog_api_client/v2/api/roles_api.rb +2 -0
  94. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +66 -72
  95. data/lib/datadog_api_client/v2/api/service_scorecards_api.rb +457 -0
  96. data/lib/datadog_api_client/v2/api/teams_api.rb +2 -0
  97. data/lib/datadog_api_client/v2/model_base.rb +4 -0
  98. data/lib/datadog_api_client/v2/models/{mute_finding_request.rb → bulk_mute_findings_request.rb} +6 -6
  99. data/lib/datadog_api_client/v2/models/{mute_finding_request_attributes.rb → bulk_mute_findings_request_attributes.rb} +5 -5
  100. data/lib/datadog_api_client/v2/models/{mute_finding_request_data.rb → bulk_mute_findings_request_data.rb} +28 -7
  101. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_meta.rb +82 -0
  102. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_meta_findings.rb +80 -0
  103. data/lib/datadog_api_client/v2/models/{mute_finding_request_properties.rb → bulk_mute_findings_request_properties.rb} +6 -6
  104. data/lib/datadog_api_client/v2/models/{mute_finding_response.rb → bulk_mute_findings_response.rb} +5 -5
  105. data/lib/datadog_api_client/v2/models/bulk_mute_findings_response_data.rb +90 -0
  106. data/lib/datadog_api_client/v2/models/{mute_finding_response_data.rb → container.rb} +9 -9
  107. data/lib/datadog_api_client/v2/models/container_attributes.rb +183 -0
  108. data/lib/datadog_api_client/v2/models/container_group.rb +110 -0
  109. data/lib/datadog_api_client/v2/models/container_group_attributes.rb +90 -0
  110. data/lib/datadog_api_client/v2/models/container_group_relationships.rb +80 -0
  111. data/lib/datadog_api_client/v2/models/container_group_relationships_link.rb +92 -0
  112. data/lib/datadog_api_client/v2/models/container_group_relationships_links.rb +80 -0
  113. data/lib/datadog_api_client/v2/models/container_group_type.rb +26 -0
  114. data/lib/datadog_api_client/v2/models/container_item.rb +63 -0
  115. data/lib/datadog_api_client/v2/models/container_meta.rb +80 -0
  116. data/lib/datadog_api_client/v2/models/container_meta_page.rb +160 -0
  117. data/lib/datadog_api_client/v2/models/container_meta_page_type.rb +26 -0
  118. data/lib/datadog_api_client/v2/models/container_type.rb +26 -0
  119. data/lib/datadog_api_client/v2/models/containers_response.rb +102 -0
  120. data/lib/datadog_api_client/v2/models/containers_response_links.rb +130 -0
  121. data/lib/datadog_api_client/v2/models/create_rule_request.rb +80 -0
  122. data/lib/datadog_api_client/v2/models/create_rule_request_data.rb +90 -0
  123. data/lib/datadog_api_client/v2/models/create_rule_response.rb +80 -0
  124. data/lib/datadog_api_client/v2/models/create_rule_response_data.rb +110 -0
  125. data/lib/datadog_api_client/v2/models/list_rules_response.rb +92 -0
  126. data/lib/datadog_api_client/v2/models/list_rules_response_data_item.rb +110 -0
  127. data/lib/datadog_api_client/v2/models/list_rules_response_links.rb +80 -0
  128. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_create_attributes.rb +13 -1
  129. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_status_attributes.rb +12 -1
  130. data/lib/datadog_api_client/v2/models/metric_tag_configuration_attributes.rb +13 -1
  131. data/lib/datadog_api_client/v2/models/metric_tag_configuration_create_attributes.rb +13 -1
  132. data/lib/datadog_api_client/v2/models/metric_tag_configuration_update_attributes.rb +13 -1
  133. data/lib/datadog_api_client/v2/models/outcome_type.rb +26 -0
  134. data/lib/datadog_api_client/v2/models/outcomes_batch_attributes.rb +82 -0
  135. data/lib/datadog_api_client/v2/models/outcomes_batch_request.rb +80 -0
  136. data/lib/datadog_api_client/v2/models/outcomes_batch_request_data.rb +90 -0
  137. data/lib/datadog_api_client/v2/models/outcomes_batch_request_item.rb +150 -0
  138. data/lib/datadog_api_client/v2/models/outcomes_batch_response.rb +121 -0
  139. data/lib/datadog_api_client/v2/models/outcomes_batch_response_attributes.rb +120 -0
  140. data/lib/datadog_api_client/v2/models/outcomes_batch_response_meta.rb +90 -0
  141. data/lib/datadog_api_client/v2/models/outcomes_batch_type.rb +26 -0
  142. data/lib/datadog_api_client/v2/models/outcomes_response.rb +104 -0
  143. data/lib/datadog_api_client/v2/models/outcomes_response_data_item.rb +110 -0
  144. data/lib/datadog_api_client/v2/models/outcomes_response_included_item.rb +100 -0
  145. data/lib/datadog_api_client/v2/models/outcomes_response_included_rule_attributes.rb +90 -0
  146. data/lib/datadog_api_client/v2/models/outcomes_response_links.rb +80 -0
  147. data/lib/datadog_api_client/v2/models/powerpack_group_widget.rb +14 -4
  148. data/lib/datadog_api_client/v2/models/relationship_to_outcome.rb +80 -0
  149. data/lib/datadog_api_client/v2/models/relationship_to_outcome_data.rb +90 -0
  150. data/lib/datadog_api_client/v2/models/relationship_to_rule.rb +80 -0
  151. data/lib/datadog_api_client/v2/models/relationship_to_rule_data.rb +80 -0
  152. data/lib/datadog_api_client/v2/models/relationship_to_rule_data_object.rb +90 -0
  153. data/lib/datadog_api_client/v2/models/rule_attributes.rb +160 -0
  154. data/lib/datadog_api_client/v2/models/rule_outcome_relationships.rb +80 -0
  155. data/lib/datadog_api_client/v2/models/rule_type.rb +26 -0
  156. data/lib/datadog_api_client/v2/models/scorecard_type.rb +26 -0
  157. data/lib/datadog_api_client/v2/models/security_monitoring_signal_attributes.rb +7 -7
  158. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +11 -1
  159. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +8 -8
  160. data/lib/datadog_api_client/v2/models/state.rb +28 -0
  161. data/lib/datadog_api_client/v2/models/teams_field.rb +40 -0
  162. data/lib/datadog_api_client/v2/models/user_team_permission_attributes.rb +1 -1
  163. data/lib/datadog_api_client/v2/models/widget_live_span.rb +40 -0
  164. data/lib/datadog_api_client/version.rb +1 -1
  165. metadata +113 -25
  166. data/examples/v2/confluent-cloud/DeleteConfluentAccount_2919241291.rb +0 -8
  167. data/examples/v2/downtimes/ListMonitorDowntimes_128979780.rb +0 -5
  168. data/examples/v2/key-management/CreateCurrentUserApplicationKey_1999509896.rb +0 -14
  169. data/examples/v2/key-management/DeleteApplicationKey_771691550.rb +0 -8
  170. data/examples/v2/key-management/DeleteCurrentUserApplicationKey_1266687064.rb +0 -8
  171. data/examples/v2/key-management/GetCurrentUserApplicationKey_1060640890.rb +0 -8
  172. data/examples/v2/key-management/ListApplicationKeys_2237010090.rb +0 -5
  173. data/examples/v2/key-management/ListCurrentUserApplicationKeys_1503860964.rb +0 -5
  174. data/examples/v2/security-monitoring/UpdateFinding.rb +0 -23
  175. data/examples/v2/synthetics/GetOnDemandConcurrencyCap_2633566918.rb +0 -5
  176. data/examples/v2/synthetics/SetOnDemandConcurrencyCap_2850884405.rb +0 -9
  177. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring_3959166796.rb +0 -8
  178. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations_1436752065.rb +0 -8
  179. data/examples/v2/usage-metering/GetUsageObservabilityPipelines_970725512.rb +0 -8
  180. data/examples/v2/users/GetUser_3047557953.rb +0 -8
  181. data/lib/datadog_api_client/v2/models/mute_finding_response_attributes.rb +0 -191
  182. 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"
@@ -324,6 +324,9 @@ module {{ module_name }}
324
324
  when 'Object'
325
325
  # generic object (usually a Hash), return directly
326
326
  data
327
+ when 'UUID'
328
+ # parse uuid object
329
+ data.to_s
327
330
  when /\AArray<(.+)>\z/
328
331
  # e.g. Array<Pet>
329
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
 
@@ -107,6 +107,8 @@ module {{ module_name }}::{{ version|upper }}
107
107
  when :Array
108
108
  # generic array, return directly
109
109
  value
110
+ when :UUID
111
+ value.to_s
110
112
  when /\AArray<(?<inner_type>.+)>\z/
111
113
  inner_type = Regexp.last_match[:inner_type]
112
114
  value.map { |v| _deserialize(inner_type, v) }
@@ -236,6 +238,8 @@ module {{ module_name }}::{{ version|upper }}
236
238
  return data if data.instance_of?(String)
237
239
  when 'Object' # "type: object"
238
240
  return data if data.instance_of?(Hash)
241
+ when 'UUID'
242
+ return UUIDTools::UUID.parse(data)
239
243
  when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
240
244
  if data.instance_of?(Array)
241
245
  sub_type = Regexp.last_match[:sub_type]
data/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
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
+
3
32
  ## 2.16.0 / 2023-10-16
4
33
 
5
34
  ### 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({
@@ -13,7 +13,6 @@ body = DatadogAPIClient::V1::Monitor.new({
13
13
  critical: 0.5,
14
14
  }),
15
15
  notify_audit: false,
16
- on_missing_data: DatadogAPIClient::V1::OnMissingDataOption::DEFAULT,
17
16
  include_tags: false,
18
17
  scheduling_options: DatadogAPIClient::V1::MonitorOptionsSchedulingOptions.new({
19
18
  evaluation_window: DatadogAPIClient::V1::MonitorOptionsSchedulingOptionsEvaluationWindow.new({
@@ -1,6 +1,9 @@
1
1
  # Send pipeline event returns "Request accepted for processing" response
2
2
 
3
3
  require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_ci_app_pipeline_event".to_sym] = true
6
+ end
4
7
  api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new
5
8
 
6
9
  body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
@@ -1,6 +1,9 @@
1
1
  # Send pipeline job event returns "Request accepted for processing" response
2
2
 
3
3
  require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_ci_app_pipeline_event".to_sym] = true
6
+ end
4
7
  api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new
5
8
 
6
9
  body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::ConfluentCloudAPI.new
5
- api_instance.delete_confluent_account("account_id")
5
+
6
+ # there is a valid "confluent_account" in the system
7
+ CONFLUENT_ACCOUNT_DATA_ID = ENV["CONFLUENT_ACCOUNT_DATA_ID"]
8
+ api_instance.delete_confluent_account(CONFLUENT_ACCOUNT_DATA_ID)
@@ -0,0 +1,5 @@
1
+ # Delete resource from Confluent account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::ConfluentCloudAPI.new
5
+ api_instance.delete_confluent_resource("account_id", "resource_id")
@@ -0,0 +1,8 @@
1
+ # Get All Containers returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_containers".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ContainersAPI.new
8
+ p api_instance.list_containers()
@@ -0,0 +1,11 @@
1
+ # Get All Container groups returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_containers".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ContainersAPI.new
8
+ opts = {
9
+ group_by: "short_image",
10
+ }
11
+ p api_instance.list_containers(opts)
@@ -0,0 +1,11 @@
1
+ # Get All Containers returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_containers".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ContainersAPI.new
8
+ opts = {
9
+ page_size: 2,
10
+ }
11
+ api_instance.list_containers_with_pagination(opts) { |item| puts item }
@@ -2,4 +2,4 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::DowntimesAPI.new
5
- p api_instance.list_monitor_downtimes(9223372036854775807)
5
+ p api_instance.list_monitor_downtimes(35534610)
@@ -5,15 +5,10 @@ api_instance = DatadogAPIClient::V2::KeyManagementAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V2::ApplicationKeyCreateRequest.new({
7
7
  data: DatadogAPIClient::V2::ApplicationKeyCreateData.new({
8
+ type: DatadogAPIClient::V2::ApplicationKeysType::APPLICATION_KEYS,
8
9
  attributes: DatadogAPIClient::V2::ApplicationKeyCreateAttributes.new({
9
- name: "Application Key for managing dashboards",
10
- scopes: [
11
- "dashboards_read",
12
- "dashboards_write",
13
- "dashboards_public_share",
14
- ],
10
+ name: "Example-Key-Management",
15
11
  }),
16
- type: DatadogAPIClient::V2::ApplicationKeysType::APPLICATION_KEYS,
17
12
  }),
18
13
  })
19
14
  p api_instance.create_current_user_application_key(body)
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::KeyManagementAPI.new
5
- api_instance.delete_application_key("app_key_id")
5
+
6
+ # there is a valid "application_key" in the system
7
+ APPLICATION_KEY_DATA_ID = ENV["APPLICATION_KEY_DATA_ID"]
8
+ api_instance.delete_application_key(APPLICATION_KEY_DATA_ID)
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::KeyManagementAPI.new
5
- api_instance.delete_current_user_application_key("app_key_id")
5
+
6
+ # there is a valid "application_key" in the system
7
+ APPLICATION_KEY_DATA_ID = ENV["APPLICATION_KEY_DATA_ID"]
8
+ api_instance.delete_current_user_application_key(APPLICATION_KEY_DATA_ID)
@@ -27,6 +27,7 @@ body = DatadogAPIClient::V2::Powerpack.new({
27
27
  x: 0,
28
28
  y: 0,
29
29
  }),
30
+ live_span: DatadogAPIClient::V2::WidgetLiveSpan::PAST_ONE_HOUR,
30
31
  }),
31
32
  name: "Example-Powerpack",
32
33
  tags: [
@@ -30,6 +30,7 @@ body = DatadogAPIClient::V2::Powerpack.new({
30
30
  x: 0,
31
31
  y: 0,
32
32
  }),
33
+ live_span: DatadogAPIClient::V2::WidgetLiveSpan::PAST_ONE_HOUR,
33
34
  }),
34
35
  name: "Example-Powerpack",
35
36
  tags: [
@@ -0,0 +1,29 @@
1
+ # Mute or unmute a batch of findings returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.mute_findings".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
8
+
9
+ body = DatadogAPIClient::V2::BulkMuteFindingsRequest.new({
10
+ data: DatadogAPIClient::V2::BulkMuteFindingsRequestData.new({
11
+ attributes: DatadogAPIClient::V2::BulkMuteFindingsRequestAttributes.new({
12
+ mute: DatadogAPIClient::V2::BulkMuteFindingsRequestProperties.new({
13
+ expiration_date: 1778721573794,
14
+ muted: true,
15
+ reason: DatadogAPIClient::V2::FindingMuteReason::ACCEPTED_RISK,
16
+ }),
17
+ }),
18
+ id: "dbe5f567-192b-4404-b908-29b70e1c9f76",
19
+ meta: DatadogAPIClient::V2::BulkMuteFindingsRequestMeta.new({
20
+ findings: [
21
+ DatadogAPIClient::V2::BulkMuteFindingsRequestMetaFindings.new({
22
+ finding_id: "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==",
23
+ }),
24
+ ],
25
+ }),
26
+ type: DatadogAPIClient::V2::FindingType::FINDING,
27
+ }),
28
+ })
29
+ p api_instance.mute_findings(body)
@@ -26,7 +26,7 @@ body = DatadogAPIClient::V2::ServiceDefinitionV2Dot2.new({
26
26
  service_url: "https://my-org.pagerduty.com/service-directory/PMyService",
27
27
  }),
28
28
  }),
29
- langauges: [
29
+ languages: [
30
30
  "dotnet",
31
31
  "go",
32
32
  "java",
@@ -0,0 +1,27 @@
1
+ # Create outcomes batch returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_scorecard_outcomes_batch".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ServiceScorecardsAPI.new
8
+
9
+ # there is a valid "create_scorecard_rule" in the system
10
+ CREATE_SCORECARD_RULE_DATA_ID = ENV["CREATE_SCORECARD_RULE_DATA_ID"]
11
+
12
+ body = DatadogAPIClient::V2::OutcomesBatchRequest.new({
13
+ data: DatadogAPIClient::V2::OutcomesBatchRequestData.new({
14
+ attributes: DatadogAPIClient::V2::OutcomesBatchAttributes.new({
15
+ results: [
16
+ DatadogAPIClient::V2::OutcomesBatchRequestItem.new({
17
+ remarks: 'See: <a href="https://app.datadoghq.com/services">Services</a>',
18
+ rule_id: CREATE_SCORECARD_RULE_DATA_ID,
19
+ service_name: "my-service",
20
+ state: DatadogAPIClient::V2::State::PASS,
21
+ }),
22
+ ],
23
+ }),
24
+ type: DatadogAPIClient::V2::OutcomesBatchType::BATCHED_OUTCOME,
25
+ }),
26
+ })
27
+ p api_instance.create_scorecard_outcomes_batch(body)
@@ -0,0 +1,19 @@
1
+ # Create a new rule returns "Created" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_scorecard_rule".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ServiceScorecardsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::CreateRuleRequest.new({
10
+ data: DatadogAPIClient::V2::CreateRuleRequestData.new({
11
+ attributes: DatadogAPIClient::V2::RuleAttributes.new({
12
+ enabled: true,
13
+ name: "Example-Service-Scorecard",
14
+ scorecard_name: "Observability Best Practices",
15
+ }),
16
+ type: DatadogAPIClient::V2::RuleType::RULE,
17
+ }),
18
+ })
19
+ p api_instance.create_scorecard_rule(body)
@@ -0,0 +1,11 @@
1
+ # Delete a rule returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.delete_scorecard_rule".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ServiceScorecardsAPI.new
8
+
9
+ # there is a valid "create_scorecard_rule" in the system
10
+ CREATE_SCORECARD_RULE_DATA_ID = ENV["CREATE_SCORECARD_RULE_DATA_ID"]
11
+ api_instance.delete_scorecard_rule(CREATE_SCORECARD_RULE_DATA_ID)
@@ -0,0 +1,8 @@
1
+ # List all rule outcomes returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_scorecard_outcomes".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ServiceScorecardsAPI.new
8
+ p api_instance.list_scorecard_outcomes()
@@ -0,0 +1,13 @@
1
+ # List all rule outcomes returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_scorecard_outcomes".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ServiceScorecardsAPI.new
8
+ opts = {
9
+ page_size: 2,
10
+ fields_outcome: "state",
11
+ filter_outcome_service_name: "my-service",
12
+ }
13
+ api_instance.list_scorecard_outcomes_with_pagination(opts) { |item| puts item }
@@ -0,0 +1,8 @@
1
+ # List all rules returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_scorecard_rules".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ServiceScorecardsAPI.new
8
+ p api_instance.list_scorecard_rules()
@@ -0,0 +1,13 @@
1
+ # List all rules returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_scorecard_rules".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ServiceScorecardsAPI.new
8
+ opts = {
9
+ page_size: 2,
10
+ fields_rule: "name",
11
+ filter_rule_custom: true,
12
+ }
13
+ api_instance.list_scorecard_rules_with_pagination(opts) { |item| puts item }
@@ -3,5 +3,7 @@
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::SyntheticsAPI.new
5
5
 
6
- body = DatadogAPIClient::V2::OnDemandConcurrencyCapAttributes.new({})
6
+ body = DatadogAPIClient::V2::OnDemandConcurrencyCapAttributes.new({
7
+ on_demand_concurrency_cap: 20,
8
+ })
7
9
  p api_instance.set_on_demand_concurrency_cap(body)
@@ -0,0 +1,12 @@
1
+ # Get all teams with fields_team parameter returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::TeamsAPI.new
5
+ opts = {
6
+ fields_team: [
7
+ TeamsField::ID,
8
+ TeamsField::NAME,
9
+ TeamsField::HANDLE,
10
+ ],
11
+ }
12
+ p api_instance.list_teams(opts)
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
- p api_instance.get_usage_application_security_monitoring("2021-11-11T11:11:11.111+00:00")
5
+ opts = {
6
+ end_hr: (Time.now + -3 * 86400),
7
+ }
8
+ p api_instance.get_usage_application_security_monitoring((Time.now + -5 * 86400), opts)
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
- p api_instance.get_usage_lambda_traced_invocations("2021-11-11T11:11:11.111+00:00")
5
+ opts = {
6
+ end_hr: (Time.now + -3 * 86400),
7
+ }
8
+ p api_instance.get_usage_lambda_traced_invocations((Time.now + -5 * 86400), opts)
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
- p api_instance.get_usage_observability_pipelines("2021-11-11T11:11:11.111+00:00")
5
+ opts = {
6
+ end_hr: (Time.now + -3 * 86400),
7
+ }
8
+ p api_instance.get_usage_observability_pipelines((Time.now + -5 * 86400), opts)
@@ -1,5 +1,8 @@
1
- # Get user details returns "OK for get user" response
1
+ # Get user details returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::UsersAPI.new
5
- p api_instance.get_user("00000000-0000-9999-0000-000000000000")
5
+
6
+ # there is a valid "user" in the system
7
+ USER_DATA_ID = ENV["USER_DATA_ID"]
8
+ p api_instance.get_user(USER_DATA_ID)
@@ -335,6 +335,9 @@ module DatadogAPIClient
335
335
  when 'Object'
336
336
  # generic object (usually a Hash), return directly
337
337
  data
338
+ when 'UUID'
339
+ # parse uuid object
340
+ data.to_s
338
341
  when /\AArray<(.+)>\z/
339
342
  # e.g. Array<Pet>
340
343
  sub_type = $1