datadog_api_client 2.16.0 → 2.17.0

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