datadog_api_client 2.16.0 → 2.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +799 -16
  4. data/.generator/schemas/v2/openapi.yaml +2732 -409
  5. data/.generator/src/generator/cli.py +5 -0
  6. data/.generator/src/generator/formatter.py +4 -0
  7. data/.generator/src/generator/openapi.py +2 -0
  8. data/.generator/src/generator/templates/api_client.j2 +3 -0
  9. data/.generator/src/generator/templates/datadog_api_client.j2 +19 -0
  10. data/.generator/src/generator/templates/inflector.j2 +1 -1
  11. data/.generator/src/generator/templates/model_base.j2 +4 -0
  12. data/.pre-commit-config.yaml +1 -1
  13. data/CHANGELOG.md +54 -0
  14. data/Gemfile +1 -0
  15. data/LICENSE-3rdparty.csv +1 -0
  16. data/datadog_api_client.gemspec +2 -0
  17. data/examples/v1/aws-integration/CreateAWSAccount.rb +2 -2
  18. data/examples/v1/aws-integration/CreateAWSEventBridgeSource.rb +12 -0
  19. data/examples/v1/aws-integration/CreateAWSTagFilter.rb +1 -1
  20. data/examples/v1/aws-integration/CreateNewAWSExternalID.rb +1 -1
  21. data/examples/v1/aws-integration/DeleteAWSAccount.rb +1 -1
  22. data/examples/v1/aws-integration/DeleteAWSEventBridgeSource.rb +11 -0
  23. data/examples/v1/aws-integration/ListAWSEventBridgeSources.rb +5 -0
  24. data/examples/v1/aws-integration/UpdateAWSAccount.rb +6 -6
  25. data/examples/v1/azure-integration/CreateAzureIntegration.rb +2 -0
  26. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -0
  27. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +2 -0
  28. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +2 -0
  29. data/examples/v1/dashboards/CreateDashboard_1213075383.rb +7 -0
  30. data/examples/v1/dashboards/CreateDashboard_1284514532.rb +3 -0
  31. data/examples/v1/monitors/CreateMonitor_1539578087.rb +0 -1
  32. data/examples/v1/synthetics/PatchTest.rb +22 -0
  33. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +3 -0
  34. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +3 -0
  35. data/examples/v2/confluent-cloud/DeleteConfluentAccount.rb +4 -1
  36. data/examples/v2/confluent-cloud/DeleteConfluentResource.rb +5 -0
  37. data/examples/v2/container-images/ListContainerImages.rb +0 -3
  38. data/examples/v2/container-images/ListContainerImages_3088586393.rb +0 -3
  39. data/examples/v2/container-images/ListContainerImages_3974828736.rb +0 -3
  40. data/examples/v2/containers/ListContainers.rb +5 -0
  41. data/examples/v2/containers/ListContainers_2175733917.rb +8 -0
  42. data/examples/v2/containers/ListContainers_931009654.rb +8 -0
  43. data/examples/v2/dora-metrics/CreateDORADeployment.rb +23 -0
  44. data/examples/v2/dora-metrics/CreateDORAIncident.rb +25 -0
  45. data/examples/v2/downtimes/ListMonitorDowntimes.rb +1 -1
  46. data/examples/v2/events/ListEvents.rb +0 -3
  47. data/examples/v2/events/ListEvents_1527584014.rb +0 -3
  48. data/examples/v2/events/ListEvents_2663715109.rb +0 -3
  49. data/examples/v2/events/SearchEvents.rb +0 -3
  50. data/examples/v2/events/SearchEvents_3856995058.rb +0 -3
  51. data/examples/v2/key-management/CreateCurrentUserApplicationKey.rb +2 -7
  52. data/examples/v2/key-management/DeleteApplicationKey.rb +4 -1
  53. data/examples/v2/key-management/DeleteCurrentUserApplicationKey.rb +4 -1
  54. data/examples/v2/okta-integration/CreateOktaAccount.rb +19 -0
  55. data/examples/v2/okta-integration/DeleteOktaAccount.rb +5 -0
  56. data/examples/v2/okta-integration/GetOktaAccount.rb +8 -0
  57. data/examples/v2/okta-integration/ListOktaAccounts.rb +5 -0
  58. data/examples/v2/okta-integration/UpdateOktaAccount.rb +20 -0
  59. data/examples/v2/powerpack/CreatePowerpack.rb +1 -0
  60. data/examples/v2/powerpack/UpdatePowerpack.rb +1 -0
  61. data/examples/v2/security-monitoring/MuteFindings.rb +29 -0
  62. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +1 -1
  63. data/examples/v2/service-scorecards/CreateScorecardOutcomesBatch.rb +27 -0
  64. data/examples/v2/service-scorecards/CreateScorecardRule.rb +19 -0
  65. data/examples/v2/service-scorecards/DeleteScorecardRule.rb +11 -0
  66. data/examples/v2/service-scorecards/ListScorecardOutcomes.rb +8 -0
  67. data/examples/v2/service-scorecards/ListScorecardOutcomes_2663454275.rb +13 -0
  68. data/examples/v2/service-scorecards/ListScorecardRules.rb +8 -0
  69. data/examples/v2/service-scorecards/ListScorecardRules_4057666343.rb +13 -0
  70. data/examples/v2/synthetics/SetOnDemandConcurrencyCap.rb +3 -1
  71. data/examples/v2/teams/ListTeams_3429963470.rb +12 -0
  72. data/examples/v2/usage-metering/GetActiveBillingDimensions.rb +8 -0
  73. data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +8 -0
  74. data/examples/v2/usage-metering/GetProjectedCost.rb +8 -0
  75. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring.rb +4 -1
  76. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +4 -1
  77. data/examples/v2/usage-metering/GetUsageObservabilityPipelines.rb +4 -1
  78. data/examples/v2/users/GetUser.rb +5 -2
  79. data/lib/datadog_api_client/api_client.rb +3 -0
  80. data/lib/datadog_api_client/configuration.rb +11 -4
  81. data/lib/datadog_api_client/inflector.rb +137 -9
  82. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +194 -0
  83. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -1
  84. data/lib/datadog_api_client/v1/api/monitors_api.rb +5 -1
  85. data/lib/datadog_api_client/v1/api/synthetics_api.rb +73 -1
  86. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +3 -3
  87. data/lib/datadog_api_client/v1/model_base.rb +4 -0
  88. data/lib/datadog_api_client/v1/models/aws_account.rb +2 -1
  89. data/lib/datadog_api_client/v1/models/aws_event_bridge_account_configuration.rb +105 -0
  90. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_request.rb +112 -0
  91. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_response.rb +110 -0
  92. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_status.rb +26 -0
  93. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_request.rb +100 -0
  94. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_response.rb +80 -0
  95. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_status.rb +26 -0
  96. data/lib/datadog_api_client/v1/models/aws_event_bridge_list_response.rb +92 -0
  97. data/lib/datadog_api_client/v1/models/aws_event_bridge_source.rb +90 -0
  98. data/lib/datadog_api_client/v1/models/azure_account.rb +24 -2
  99. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +21 -0
  100. data/lib/datadog_api_client/v1/models/monitor_options.rb +1 -1
  101. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +42 -0
  102. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +421 -1
  103. data/lib/datadog_api_client/v1/models/synthetics_patch_test_body.rb +82 -0
  104. data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation.rb +100 -0
  105. data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation_name.rb +31 -0
  106. data/lib/datadog_api_client/v1/models/toplist_widget_definition.rb +11 -1
  107. data/lib/datadog_api_client/v1/models/toplist_widget_display.rb +63 -0
  108. data/lib/datadog_api_client/v1/models/toplist_widget_flat.rb +98 -0
  109. data/lib/datadog_api_client/v1/models/toplist_widget_flat_type.rb +26 -0
  110. data/lib/datadog_api_client/v1/models/toplist_widget_legend.rb +28 -0
  111. data/lib/datadog_api_client/v1/models/toplist_widget_scaling.rb +27 -0
  112. data/lib/datadog_api_client/v1/models/toplist_widget_stacked.rb +119 -0
  113. data/lib/datadog_api_client/v1/models/toplist_widget_stacked_type.rb +26 -0
  114. data/lib/datadog_api_client/v1/models/toplist_widget_style.rb +90 -0
  115. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  116. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +31 -1
  117. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +31 -1
  118. data/lib/datadog_api_client/v1/models/widget_live_span.rb +2 -0
  119. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +6 -0
  120. data/lib/datadog_api_client/v2/api/container_images_api.rb +0 -6
  121. data/lib/datadog_api_client/v2/api/containers_api.rb +123 -0
  122. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +181 -0
  123. data/lib/datadog_api_client/v2/api/events_api.rb +0 -12
  124. data/lib/datadog_api_client/v2/api/key_management_api.rb +8 -0
  125. data/lib/datadog_api_client/v2/api/metrics_api.rb +6 -3
  126. data/lib/datadog_api_client/v2/api/okta_integration_api.rb +355 -0
  127. data/lib/datadog_api_client/v2/api/roles_api.rb +2 -0
  128. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +66 -72
  129. data/lib/datadog_api_client/v2/api/service_scorecards_api.rb +457 -0
  130. data/lib/datadog_api_client/v2/api/teams_api.rb +2 -0
  131. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +241 -0
  132. data/lib/datadog_api_client/v2/model_base.rb +4 -0
  133. data/lib/datadog_api_client/v2/models/active_billing_dimensions_attributes.rb +92 -0
  134. data/lib/datadog_api_client/v2/models/active_billing_dimensions_body.rb +100 -0
  135. data/lib/datadog_api_client/v2/models/active_billing_dimensions_response.rb +80 -0
  136. data/lib/datadog_api_client/v2/models/active_billing_dimensions_type.rb +26 -0
  137. data/lib/datadog_api_client/v2/models/api_keys_response.rb +14 -4
  138. data/lib/datadog_api_client/v2/models/api_keys_response_meta.rb +90 -0
  139. data/lib/datadog_api_client/v2/models/api_keys_response_meta_page.rb +80 -0
  140. data/lib/datadog_api_client/v2/models/application_key_response_meta.rb +90 -0
  141. data/lib/datadog_api_client/v2/models/application_key_response_meta_page.rb +80 -0
  142. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request.rb +98 -0
  143. data/lib/datadog_api_client/v2/models/{mute_finding_request_attributes.rb → bulk_mute_findings_request_attributes.rb} +5 -5
  144. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_data.rb +161 -0
  145. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_meta.rb +82 -0
  146. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_meta_findings.rb +80 -0
  147. data/lib/datadog_api_client/v2/models/{mute_finding_request_properties.rb → bulk_mute_findings_request_properties.rb} +6 -6
  148. data/lib/datadog_api_client/v2/models/bulk_mute_findings_response.rb +98 -0
  149. data/lib/datadog_api_client/v2/models/bulk_mute_findings_response_data.rb +90 -0
  150. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +13 -1
  151. data/lib/datadog_api_client/v2/models/{mute_finding_response_data.rb → container.rb} +9 -9
  152. data/lib/datadog_api_client/v2/models/container_attributes.rb +183 -0
  153. data/lib/datadog_api_client/v2/models/container_group.rb +110 -0
  154. data/lib/datadog_api_client/v2/models/container_group_attributes.rb +90 -0
  155. data/lib/datadog_api_client/v2/models/container_group_relationships.rb +80 -0
  156. data/lib/datadog_api_client/v2/models/container_group_relationships_link.rb +92 -0
  157. data/lib/datadog_api_client/v2/models/container_group_relationships_links.rb +80 -0
  158. data/lib/datadog_api_client/v2/models/container_group_type.rb +26 -0
  159. data/lib/datadog_api_client/v2/models/container_item.rb +63 -0
  160. data/lib/datadog_api_client/v2/models/container_meta.rb +80 -0
  161. data/lib/datadog_api_client/v2/models/container_meta_page.rb +160 -0
  162. data/lib/datadog_api_client/v2/models/container_meta_page_type.rb +26 -0
  163. data/lib/datadog_api_client/v2/models/container_type.rb +26 -0
  164. data/lib/datadog_api_client/v2/models/containers_response.rb +102 -0
  165. data/lib/datadog_api_client/v2/models/containers_response_links.rb +130 -0
  166. data/lib/datadog_api_client/v2/models/cost_attribution_aggregates_body.rb +100 -0
  167. data/lib/datadog_api_client/v2/models/cost_attribution_type.rb +26 -0
  168. data/lib/datadog_api_client/v2/models/create_rule_request.rb +80 -0
  169. data/lib/datadog_api_client/v2/models/create_rule_request_data.rb +90 -0
  170. data/lib/datadog_api_client/v2/models/create_rule_response.rb +80 -0
  171. data/lib/datadog_api_client/v2/models/create_rule_response_data.rb +110 -0
  172. data/lib/datadog_api_client/v2/models/dora_deployment_request.rb +98 -0
  173. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +170 -0
  174. data/lib/datadog_api_client/v2/models/dora_deployment_request_data.rb +98 -0
  175. data/lib/datadog_api_client/v2/models/dora_deployment_response.rb +98 -0
  176. data/lib/datadog_api_client/v2/models/dora_deployment_response_data.rb +108 -0
  177. data/lib/datadog_api_client/v2/models/dora_deployment_type.rb +26 -0
  178. data/lib/datadog_api_client/v2/models/dora_git_info.rb +125 -0
  179. data/lib/datadog_api_client/v2/models/{mute_finding_response.rb → dora_incident_request.rb} +6 -6
  180. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +179 -0
  181. data/lib/datadog_api_client/v2/models/dora_incident_request_data.rb +98 -0
  182. data/lib/datadog_api_client/v2/models/dora_incident_response.rb +98 -0
  183. data/lib/datadog_api_client/v2/models/dora_incident_response_data.rb +108 -0
  184. data/lib/datadog_api_client/v2/models/dora_incident_type.rb +26 -0
  185. data/lib/datadog_api_client/v2/models/full_api_key_attributes.rb +24 -4
  186. data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes.rb +14 -4
  187. data/lib/datadog_api_client/v2/models/incident_create_relationships.rb +9 -19
  188. data/lib/datadog_api_client/v2/models/incident_impacts_type.rb +26 -0
  189. data/lib/datadog_api_client/v2/models/incident_integration_metadata_attributes.rb +21 -1
  190. data/lib/datadog_api_client/v2/models/incident_integration_metadata_response_data.rb +11 -1
  191. data/lib/datadog_api_client/v2/models/incident_integration_relationships.rb +90 -0
  192. data/lib/datadog_api_client/v2/models/incident_non_datadog_creator.rb +90 -0
  193. data/lib/datadog_api_client/v2/models/incident_responders_type.rb +26 -0
  194. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +69 -4
  195. data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +42 -4
  196. data/lib/datadog_api_client/v2/models/incident_severity.rb +31 -0
  197. data/lib/datadog_api_client/v2/models/incident_todo_attributes.rb +24 -4
  198. data/lib/datadog_api_client/v2/models/incident_todo_relationships.rb +90 -0
  199. data/lib/datadog_api_client/v2/models/incident_todo_response_data.rb +11 -1
  200. data/lib/datadog_api_client/v2/models/incident_update_relationships.rb +8 -0
  201. data/lib/datadog_api_client/v2/models/incident_user_defined_field_type.rb +26 -0
  202. data/lib/datadog_api_client/v2/models/list_application_keys_response.rb +14 -4
  203. data/lib/datadog_api_client/v2/models/list_rules_response.rb +92 -0
  204. data/lib/datadog_api_client/v2/models/list_rules_response_data_item.rb +110 -0
  205. data/lib/datadog_api_client/v2/models/list_rules_response_links.rb +80 -0
  206. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_create_attributes.rb +13 -1
  207. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_status_attributes.rb +12 -1
  208. data/lib/datadog_api_client/v2/models/metric_tag_configuration_attributes.rb +13 -1
  209. data/lib/datadog_api_client/v2/models/metric_tag_configuration_create_attributes.rb +13 -1
  210. data/lib/datadog_api_client/v2/models/metric_tag_configuration_update_attributes.rb +13 -1
  211. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_attributes.rb +151 -0
  212. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_body.rb +100 -0
  213. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_meta.rb +92 -0
  214. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_pagination.rb +88 -0
  215. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_response.rb +92 -0
  216. data/lib/datadog_api_client/v2/models/okta_account.rb +129 -0
  217. data/lib/datadog_api_client/v2/models/okta_account_attributes.rb +170 -0
  218. data/lib/datadog_api_client/v2/models/{mute_finding_request.rb → okta_account_request.rb} +6 -6
  219. data/lib/datadog_api_client/v2/models/okta_account_response.rb +80 -0
  220. data/lib/datadog_api_client/v2/models/{mute_finding_request_data.rb → okta_account_response_data.rb} +9 -9
  221. data/lib/datadog_api_client/v2/models/okta_account_type.rb +26 -0
  222. data/lib/datadog_api_client/v2/models/okta_account_update_request.rb +98 -0
  223. data/lib/datadog_api_client/v2/models/okta_account_update_request_attributes.rb +149 -0
  224. data/lib/datadog_api_client/v2/models/okta_account_update_request_data.rb +90 -0
  225. data/lib/datadog_api_client/v2/models/okta_accounts_response.rb +82 -0
  226. data/lib/datadog_api_client/v2/models/outcome_type.rb +26 -0
  227. data/lib/datadog_api_client/v2/models/outcomes_batch_attributes.rb +82 -0
  228. data/lib/datadog_api_client/v2/models/outcomes_batch_request.rb +80 -0
  229. data/lib/datadog_api_client/v2/models/outcomes_batch_request_data.rb +90 -0
  230. data/lib/datadog_api_client/v2/models/outcomes_batch_request_item.rb +150 -0
  231. data/lib/datadog_api_client/v2/models/outcomes_batch_response.rb +121 -0
  232. data/lib/datadog_api_client/v2/models/outcomes_batch_response_attributes.rb +120 -0
  233. data/lib/datadog_api_client/v2/models/outcomes_batch_response_meta.rb +90 -0
  234. data/lib/datadog_api_client/v2/models/outcomes_batch_type.rb +26 -0
  235. data/lib/datadog_api_client/v2/models/outcomes_response.rb +104 -0
  236. data/lib/datadog_api_client/v2/models/outcomes_response_data_item.rb +110 -0
  237. data/lib/datadog_api_client/v2/models/outcomes_response_included_item.rb +100 -0
  238. data/lib/datadog_api_client/v2/models/outcomes_response_included_rule_attributes.rb +90 -0
  239. data/lib/datadog_api_client/v2/models/outcomes_response_links.rb +80 -0
  240. data/lib/datadog_api_client/v2/models/partial_api_key_attributes.rb +24 -4
  241. data/lib/datadog_api_client/v2/models/powerpack_group_widget.rb +14 -4
  242. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +2 -2
  243. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +8 -0
  244. data/lib/datadog_api_client/v2/models/projected_cost.rb +100 -0
  245. data/lib/datadog_api_client/v2/models/projected_cost_attributes.rb +132 -0
  246. data/lib/datadog_api_client/v2/models/projected_cost_response.rb +82 -0
  247. data/lib/datadog_api_client/v2/models/projected_cost_type.rb +26 -0
  248. data/lib/datadog_api_client/v2/models/relationship_to_incident_impact_data.rb +119 -0
  249. data/lib/datadog_api_client/v2/models/relationship_to_incident_impacts.rb +100 -0
  250. data/lib/datadog_api_client/v2/models/relationship_to_incident_responder_data.rb +119 -0
  251. data/lib/datadog_api_client/v2/models/relationship_to_incident_responders.rb +100 -0
  252. data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_field_data.rb +119 -0
  253. data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_fields.rb +100 -0
  254. data/lib/datadog_api_client/v2/models/relationship_to_outcome.rb +80 -0
  255. data/lib/datadog_api_client/v2/models/relationship_to_outcome_data.rb +90 -0
  256. data/lib/datadog_api_client/v2/models/relationship_to_rule.rb +80 -0
  257. data/lib/datadog_api_client/v2/models/relationship_to_rule_data.rb +80 -0
  258. data/lib/datadog_api_client/v2/models/relationship_to_rule_data_object.rb +90 -0
  259. data/lib/datadog_api_client/v2/models/rule_attributes.rb +160 -0
  260. data/lib/datadog_api_client/v2/models/rule_outcome_relationships.rb +80 -0
  261. data/lib/datadog_api_client/v2/models/rule_type.rb +26 -0
  262. data/lib/datadog_api_client/v2/models/scorecard_type.rb +26 -0
  263. data/lib/datadog_api_client/v2/models/security_monitoring_rule_type_create.rb +1 -0
  264. data/lib/datadog_api_client/v2/models/security_monitoring_signal_attributes.rb +7 -7
  265. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +11 -1
  266. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +13 -1
  267. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +8 -8
  268. data/lib/datadog_api_client/v2/models/sort_direction.rb +27 -0
  269. data/lib/datadog_api_client/v2/models/state.rb +28 -0
  270. data/lib/datadog_api_client/v2/models/teams_field.rb +40 -0
  271. data/lib/datadog_api_client/v2/models/user_team_permission_attributes.rb +1 -1
  272. data/lib/datadog_api_client/v2/models/widget_live_span.rb +40 -0
  273. data/lib/datadog_api_client/version.rb +1 -1
  274. data/lib/datadog_api_client.rb +16 -1
  275. metadata +186 -25
  276. data/examples/v2/confluent-cloud/DeleteConfluentAccount_2919241291.rb +0 -8
  277. data/examples/v2/downtimes/ListMonitorDowntimes_128979780.rb +0 -5
  278. data/examples/v2/key-management/CreateCurrentUserApplicationKey_1999509896.rb +0 -14
  279. data/examples/v2/key-management/DeleteApplicationKey_771691550.rb +0 -8
  280. data/examples/v2/key-management/DeleteCurrentUserApplicationKey_1266687064.rb +0 -8
  281. data/examples/v2/key-management/GetCurrentUserApplicationKey_1060640890.rb +0 -8
  282. data/examples/v2/key-management/ListApplicationKeys_2237010090.rb +0 -5
  283. data/examples/v2/key-management/ListCurrentUserApplicationKeys_1503860964.rb +0 -5
  284. data/examples/v2/security-monitoring/UpdateFinding.rb +0 -23
  285. data/examples/v2/synthetics/GetOnDemandConcurrencyCap_2633566918.rb +0 -5
  286. data/examples/v2/synthetics/SetOnDemandConcurrencyCap_2850884405.rb +0 -9
  287. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring_3959166796.rb +0 -8
  288. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations_1436752065.rb +0 -8
  289. data/examples/v2/usage-metering/GetUsageObservabilityPipelines_970725512.rb +0 -8
  290. data/examples/v2/users/GetUser_3047557953.rb +0 -8
  291. data/lib/datadog_api_client/v2/models/mute_finding_response_attributes.rb +0 -191
  292. data/lib/datadog_api_client/v2/models/mute_finding_response_properties.rb +0 -114
@@ -1164,30 +1164,38 @@ module DatadogAPIClient::V2
1164
1164
  end
1165
1165
  end
1166
1166
 
1167
- # Get a list of security signals.
1167
+ # Mute or unmute a batch of findings.
1168
1168
  #
1169
- # @see #search_security_monitoring_signals_with_http_info
1170
- def search_security_monitoring_signals(opts = {})
1171
- data, _status_code, _headers = search_security_monitoring_signals_with_http_info(opts)
1169
+ # @see #mute_findings_with_http_info
1170
+ def mute_findings(body, opts = {})
1171
+ data, _status_code, _headers = mute_findings_with_http_info(body, opts)
1172
1172
  data
1173
1173
  end
1174
1174
 
1175
- # Get a list of security signals.
1175
+ # Mute or unmute a batch of findings.
1176
1176
  #
1177
- # Returns security signals that match a search query.
1178
- # Both this endpoint and the GET endpoint can be used interchangeably for listing
1179
- # security signals.
1177
+ # Mute or unmute findings.
1180
1178
  #
1179
+ # @param body [BulkMuteFindingsRequest] ### Attributes All findings are updated with the same attributes. The request body must include at least two attributes: `muted` and `reason`. The allowed reasons depend on whether the finding is being muted or unmuted: - To mute a finding: `PENDING_FIX`, `FALSE_POSITIVE`, `ACCEPTED_RISK`, `OTHER`. - To unmute a finding : `NO_PENDING_FIX`, `HUMAN_ERROR`, `NO_LONGER_ACCEPTED_RISK`, `OTHER`. ### Meta The request body must include a list of the finding IDs to be updated.
1181
1180
  # @param opts [Hash] the optional parameters
1182
- # @option opts [SecurityMonitoringSignalListRequest] :body
1183
- # @return [Array<(SecurityMonitoringSignalsListResponse, Integer, Hash)>] SecurityMonitoringSignalsListResponse data, response status code and response headers
1184
- def search_security_monitoring_signals_with_http_info(opts = {})
1181
+ # @return [Array<(BulkMuteFindingsResponse, Integer, Hash)>] BulkMuteFindingsResponse data, response status code and response headers
1182
+ def mute_findings_with_http_info(body, opts = {})
1183
+ unstable_enabled = @api_client.config.unstable_operations["v2.mute_findings".to_sym]
1184
+ if unstable_enabled
1185
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.mute_findings")
1186
+ else
1187
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.mute_findings"))
1188
+ end
1185
1189
 
1186
1190
  if @api_client.config.debugging
1187
- @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.search_security_monitoring_signals ...'
1191
+ @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.mute_findings ...'
1192
+ end
1193
+ # verify the required parameter 'body' is set
1194
+ if @api_client.config.client_side_validation && body.nil?
1195
+ fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.mute_findings"
1188
1196
  end
1189
1197
  # resource path
1190
- local_var_path = '/api/v2/security_monitoring/signals/search'
1198
+ local_var_path = '/api/v2/posture_management/findings'
1191
1199
 
1192
1200
  # query parameters
1193
1201
  query_params = opts[:query_params] || {}
@@ -1203,16 +1211,16 @@ module DatadogAPIClient::V2
1203
1211
  form_params = opts[:form_params] || {}
1204
1212
 
1205
1213
  # http body (model)
1206
- post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body'])
1214
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
1207
1215
 
1208
1216
  # return_type
1209
- return_type = opts[:debug_return_type] || 'SecurityMonitoringSignalsListResponse'
1217
+ return_type = opts[:debug_return_type] || 'BulkMuteFindingsResponse'
1210
1218
 
1211
1219
  # auth_names
1212
- auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1220
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
1213
1221
 
1214
1222
  new_options = opts.merge(
1215
- :operation => :search_security_monitoring_signals,
1223
+ :operation => :mute_findings,
1216
1224
  :header_params => header_params,
1217
1225
  :query_params => query_params,
1218
1226
  :form_params => form_params,
@@ -1222,72 +1230,37 @@ module DatadogAPIClient::V2
1222
1230
  :api_version => "V2"
1223
1231
  )
1224
1232
 
1225
- data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
1233
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Patch, local_var_path, new_options)
1226
1234
  if @api_client.config.debugging
1227
- @api_client.config.logger.debug "API called: SecurityMonitoringAPI#search_security_monitoring_signals\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1235
+ @api_client.config.logger.debug "API called: SecurityMonitoringAPI#mute_findings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1228
1236
  end
1229
1237
  return data, status_code, headers
1230
1238
  end
1231
1239
 
1232
1240
  # Get a list of security signals.
1233
1241
  #
1234
- # Provide a paginated version of {#search_security_monitoring_signals}, returning all items.
1235
- #
1236
- # To use it you need to use a block: search_security_monitoring_signals_with_pagination { |item| p item }
1237
- #
1238
- # @yield [SecurityMonitoringSignal] Paginated items
1239
- def search_security_monitoring_signals_with_pagination(opts = {})
1240
- api_version = "V2"
1241
- page_size = @api_client.get_attribute_from_path(opts, "body.page.limit", 10)
1242
- @api_client.set_attribute_from_path(api_version, opts, "body.page.limit", SecurityMonitoringSignalListRequest, page_size)
1243
- while true do
1244
- response = search_security_monitoring_signals(opts)
1245
- @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) }
1246
- if @api_client.get_attribute_from_path(response, "data").length < page_size
1247
- break
1248
- end
1249
- @api_client.set_attribute_from_path(api_version, opts, "body.page.cursor", SecurityMonitoringSignalListRequest, @api_client.get_attribute_from_path(response, "meta.page.after"))
1250
- end
1251
- end
1252
-
1253
- # Mute or unmute a finding.
1254
- #
1255
- # @see #update_finding_with_http_info
1256
- def update_finding(finding_id, body, opts = {})
1257
- data, _status_code, _headers = update_finding_with_http_info(finding_id, body, opts)
1242
+ # @see #search_security_monitoring_signals_with_http_info
1243
+ def search_security_monitoring_signals(opts = {})
1244
+ data, _status_code, _headers = search_security_monitoring_signals_with_http_info(opts)
1258
1245
  data
1259
1246
  end
1260
1247
 
1261
- # Mute or unmute a finding.
1248
+ # Get a list of security signals.
1262
1249
  #
1263
- # Mute or unmute a specific finding.
1264
- # The API returns the updated finding object when the request is successful.
1250
+ # Returns security signals that match a search query.
1251
+ # Both this endpoint and the GET endpoint can be used interchangeably for listing
1252
+ # security signals.
1265
1253
  #
1266
- # @param finding_id [String] The ID of the finding.
1267
- # @param body [MuteFindingRequest] To mute or unmute a finding, the request body should include at least two attributes: `muted` and `reason`. The allowed reasons depend on whether the finding is being muted or unmuted: - To mute a finding: `PENDING_FIX`, `FALSE_POSITIVE`, `ACCEPTED_RISK`, `OTHER`. - To unmute a finding : `NO_PENDING_FIX`, `HUMAN_ERROR`, `NO_LONGER_ACCEPTED_RISK`, `OTHER`.
1268
1254
  # @param opts [Hash] the optional parameters
1269
- # @return [Array<(MuteFindingResponse, Integer, Hash)>] MuteFindingResponse data, response status code and response headers
1270
- def update_finding_with_http_info(finding_id, body, opts = {})
1271
- unstable_enabled = @api_client.config.unstable_operations["v2.update_finding".to_sym]
1272
- if unstable_enabled
1273
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.update_finding")
1274
- else
1275
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.update_finding"))
1276
- end
1255
+ # @option opts [SecurityMonitoringSignalListRequest] :body
1256
+ # @return [Array<(SecurityMonitoringSignalsListResponse, Integer, Hash)>] SecurityMonitoringSignalsListResponse data, response status code and response headers
1257
+ def search_security_monitoring_signals_with_http_info(opts = {})
1277
1258
 
1278
1259
  if @api_client.config.debugging
1279
- @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.update_finding ...'
1280
- end
1281
- # verify the required parameter 'finding_id' is set
1282
- if @api_client.config.client_side_validation && finding_id.nil?
1283
- fail ArgumentError, "Missing the required parameter 'finding_id' when calling SecurityMonitoringAPI.update_finding"
1284
- end
1285
- # verify the required parameter 'body' is set
1286
- if @api_client.config.client_side_validation && body.nil?
1287
- fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.update_finding"
1260
+ @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.search_security_monitoring_signals ...'
1288
1261
  end
1289
1262
  # resource path
1290
- local_var_path = '/api/v2/posture_management/findings/{finding_id}'.sub('{finding_id}', CGI.escape(finding_id.to_s).gsub('%2F', '/'))
1263
+ local_var_path = '/api/v2/security_monitoring/signals/search'
1291
1264
 
1292
1265
  # query parameters
1293
1266
  query_params = opts[:query_params] || {}
@@ -1303,16 +1276,16 @@ module DatadogAPIClient::V2
1303
1276
  form_params = opts[:form_params] || {}
1304
1277
 
1305
1278
  # http body (model)
1306
- post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
1279
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body'])
1307
1280
 
1308
1281
  # return_type
1309
- return_type = opts[:debug_return_type] || 'MuteFindingResponse'
1282
+ return_type = opts[:debug_return_type] || 'SecurityMonitoringSignalsListResponse'
1310
1283
 
1311
1284
  # auth_names
1312
- auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
1285
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1313
1286
 
1314
1287
  new_options = opts.merge(
1315
- :operation => :update_finding,
1288
+ :operation => :search_security_monitoring_signals,
1316
1289
  :header_params => header_params,
1317
1290
  :query_params => query_params,
1318
1291
  :form_params => form_params,
@@ -1322,13 +1295,34 @@ module DatadogAPIClient::V2
1322
1295
  :api_version => "V2"
1323
1296
  )
1324
1297
 
1325
- data, status_code, headers = @api_client.call_api(Net::HTTP::Patch, local_var_path, new_options)
1298
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
1326
1299
  if @api_client.config.debugging
1327
- @api_client.config.logger.debug "API called: SecurityMonitoringAPI#update_finding\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1300
+ @api_client.config.logger.debug "API called: SecurityMonitoringAPI#search_security_monitoring_signals\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1328
1301
  end
1329
1302
  return data, status_code, headers
1330
1303
  end
1331
1304
 
1305
+ # Get a list of security signals.
1306
+ #
1307
+ # Provide a paginated version of {#search_security_monitoring_signals}, returning all items.
1308
+ #
1309
+ # To use it you need to use a block: search_security_monitoring_signals_with_pagination { |item| p item }
1310
+ #
1311
+ # @yield [SecurityMonitoringSignal] Paginated items
1312
+ def search_security_monitoring_signals_with_pagination(opts = {})
1313
+ api_version = "V2"
1314
+ page_size = @api_client.get_attribute_from_path(opts, "body.page.limit", 10)
1315
+ @api_client.set_attribute_from_path(api_version, opts, "body.page.limit", SecurityMonitoringSignalListRequest, page_size)
1316
+ while true do
1317
+ response = search_security_monitoring_signals(opts)
1318
+ @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) }
1319
+ if @api_client.get_attribute_from_path(response, "data").length < page_size
1320
+ break
1321
+ end
1322
+ @api_client.set_attribute_from_path(api_version, opts, "body.page.cursor", SecurityMonitoringSignalListRequest, @api_client.get_attribute_from_path(response, "meta.page.after"))
1323
+ end
1324
+ end
1325
+
1332
1326
  # Update a security filter.
1333
1327
  #
1334
1328
  # @see #update_security_filter_with_http_info
@@ -0,0 +1,457 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'cgi'
17
+
18
+ module DatadogAPIClient::V2
19
+ class ServiceScorecardsAPI
20
+ attr_accessor :api_client
21
+
22
+ def initialize(api_client = DatadogAPIClient::APIClient.default)
23
+ @api_client = api_client
24
+ end
25
+
26
+ # Create outcomes batch.
27
+ #
28
+ # @see #create_scorecard_outcomes_batch_with_http_info
29
+ def create_scorecard_outcomes_batch(body, opts = {})
30
+ data, _status_code, _headers = create_scorecard_outcomes_batch_with_http_info(body, opts)
31
+ data
32
+ end
33
+
34
+ # Create outcomes batch.
35
+ #
36
+ # Sets multiple service-rule outcomes in a single batched request.
37
+ #
38
+ # @param body [OutcomesBatchRequest] Set of scorecard outcomes.
39
+ # @param opts [Hash] the optional parameters
40
+ # @return [Array<(OutcomesBatchResponse, Integer, Hash)>] OutcomesBatchResponse data, response status code and response headers
41
+ def create_scorecard_outcomes_batch_with_http_info(body, opts = {})
42
+ unstable_enabled = @api_client.config.unstable_operations["v2.create_scorecard_outcomes_batch".to_sym]
43
+ if unstable_enabled
44
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.create_scorecard_outcomes_batch")
45
+ else
46
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.create_scorecard_outcomes_batch"))
47
+ end
48
+
49
+ if @api_client.config.debugging
50
+ @api_client.config.logger.debug 'Calling API: ServiceScorecardsAPI.create_scorecard_outcomes_batch ...'
51
+ end
52
+ # verify the required parameter 'body' is set
53
+ if @api_client.config.client_side_validation && body.nil?
54
+ fail ArgumentError, "Missing the required parameter 'body' when calling ServiceScorecardsAPI.create_scorecard_outcomes_batch"
55
+ end
56
+ # resource path
57
+ local_var_path = '/api/v2/scorecard/outcomes/batch'
58
+
59
+ # query parameters
60
+ query_params = opts[:query_params] || {}
61
+
62
+ # header parameters
63
+ header_params = opts[:header_params] || {}
64
+ # HTTP header 'Accept' (if needed)
65
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
66
+ # HTTP header 'Content-Type'
67
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
68
+
69
+ # form parameters
70
+ form_params = opts[:form_params] || {}
71
+
72
+ # http body (model)
73
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
74
+
75
+ # return_type
76
+ return_type = opts[:debug_return_type] || 'OutcomesBatchResponse'
77
+
78
+ # auth_names
79
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
80
+
81
+ new_options = opts.merge(
82
+ :operation => :create_scorecard_outcomes_batch,
83
+ :header_params => header_params,
84
+ :query_params => query_params,
85
+ :form_params => form_params,
86
+ :body => post_body,
87
+ :auth_names => auth_names,
88
+ :return_type => return_type,
89
+ :api_version => "V2"
90
+ )
91
+
92
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug "API called: ServiceScorecardsAPI#create_scorecard_outcomes_batch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
95
+ end
96
+ return data, status_code, headers
97
+ end
98
+
99
+ # Create a new rule.
100
+ #
101
+ # @see #create_scorecard_rule_with_http_info
102
+ def create_scorecard_rule(body, opts = {})
103
+ data, _status_code, _headers = create_scorecard_rule_with_http_info(body, opts)
104
+ data
105
+ end
106
+
107
+ # Create a new rule.
108
+ #
109
+ # Creates a new rule.
110
+ #
111
+ # @param body [CreateRuleRequest] Rule attributes.
112
+ # @param opts [Hash] the optional parameters
113
+ # @return [Array<(CreateRuleResponse, Integer, Hash)>] CreateRuleResponse data, response status code and response headers
114
+ def create_scorecard_rule_with_http_info(body, opts = {})
115
+ unstable_enabled = @api_client.config.unstable_operations["v2.create_scorecard_rule".to_sym]
116
+ if unstable_enabled
117
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.create_scorecard_rule")
118
+ else
119
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.create_scorecard_rule"))
120
+ end
121
+
122
+ if @api_client.config.debugging
123
+ @api_client.config.logger.debug 'Calling API: ServiceScorecardsAPI.create_scorecard_rule ...'
124
+ end
125
+ # verify the required parameter 'body' is set
126
+ if @api_client.config.client_side_validation && body.nil?
127
+ fail ArgumentError, "Missing the required parameter 'body' when calling ServiceScorecardsAPI.create_scorecard_rule"
128
+ end
129
+ # resource path
130
+ local_var_path = '/api/v2/scorecard/rules'
131
+
132
+ # query parameters
133
+ query_params = opts[:query_params] || {}
134
+
135
+ # header parameters
136
+ header_params = opts[:header_params] || {}
137
+ # HTTP header 'Accept' (if needed)
138
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
139
+ # HTTP header 'Content-Type'
140
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
141
+
142
+ # form parameters
143
+ form_params = opts[:form_params] || {}
144
+
145
+ # http body (model)
146
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
147
+
148
+ # return_type
149
+ return_type = opts[:debug_return_type] || 'CreateRuleResponse'
150
+
151
+ # auth_names
152
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
153
+
154
+ new_options = opts.merge(
155
+ :operation => :create_scorecard_rule,
156
+ :header_params => header_params,
157
+ :query_params => query_params,
158
+ :form_params => form_params,
159
+ :body => post_body,
160
+ :auth_names => auth_names,
161
+ :return_type => return_type,
162
+ :api_version => "V2"
163
+ )
164
+
165
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
166
+ if @api_client.config.debugging
167
+ @api_client.config.logger.debug "API called: ServiceScorecardsAPI#create_scorecard_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
168
+ end
169
+ return data, status_code, headers
170
+ end
171
+
172
+ # Delete a rule.
173
+ #
174
+ # @see #delete_scorecard_rule_with_http_info
175
+ def delete_scorecard_rule(rule_id, opts = {})
176
+ delete_scorecard_rule_with_http_info(rule_id, opts)
177
+ nil
178
+ end
179
+
180
+ # Delete a rule.
181
+ #
182
+ # Deletes a single rule.
183
+ #
184
+ # @param rule_id [String] The ID of the rule/scorecard.
185
+ # @param opts [Hash] the optional parameters
186
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
187
+ def delete_scorecard_rule_with_http_info(rule_id, opts = {})
188
+ unstable_enabled = @api_client.config.unstable_operations["v2.delete_scorecard_rule".to_sym]
189
+ if unstable_enabled
190
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.delete_scorecard_rule")
191
+ else
192
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.delete_scorecard_rule"))
193
+ end
194
+
195
+ if @api_client.config.debugging
196
+ @api_client.config.logger.debug 'Calling API: ServiceScorecardsAPI.delete_scorecard_rule ...'
197
+ end
198
+ # verify the required parameter 'rule_id' is set
199
+ if @api_client.config.client_side_validation && rule_id.nil?
200
+ fail ArgumentError, "Missing the required parameter 'rule_id' when calling ServiceScorecardsAPI.delete_scorecard_rule"
201
+ end
202
+ # resource path
203
+ local_var_path = '/api/v2/scorecard/rules/{rule_id}'.sub('{rule_id}', CGI.escape(rule_id.to_s).gsub('%2F', '/'))
204
+
205
+ # query parameters
206
+ query_params = opts[:query_params] || {}
207
+
208
+ # header parameters
209
+ header_params = opts[:header_params] || {}
210
+ # HTTP header 'Accept' (if needed)
211
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
212
+
213
+ # form parameters
214
+ form_params = opts[:form_params] || {}
215
+
216
+ # http body (model)
217
+ post_body = opts[:debug_body]
218
+
219
+ # return_type
220
+ return_type = opts[:debug_return_type]
221
+
222
+ # auth_names
223
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
224
+
225
+ new_options = opts.merge(
226
+ :operation => :delete_scorecard_rule,
227
+ :header_params => header_params,
228
+ :query_params => query_params,
229
+ :form_params => form_params,
230
+ :body => post_body,
231
+ :auth_names => auth_names,
232
+ :return_type => return_type,
233
+ :api_version => "V2"
234
+ )
235
+
236
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Delete, local_var_path, new_options)
237
+ if @api_client.config.debugging
238
+ @api_client.config.logger.debug "API called: ServiceScorecardsAPI#delete_scorecard_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
239
+ end
240
+ return data, status_code, headers
241
+ end
242
+
243
+ # List all rule outcomes.
244
+ #
245
+ # @see #list_scorecard_outcomes_with_http_info
246
+ def list_scorecard_outcomes(opts = {})
247
+ data, _status_code, _headers = list_scorecard_outcomes_with_http_info(opts)
248
+ data
249
+ end
250
+
251
+ # List all rule outcomes.
252
+ #
253
+ # Fetches all rule outcomes.
254
+ #
255
+ # @param opts [Hash] the optional parameters
256
+ # @option opts [Integer] :page_size Size for a given page. The maximum allowed value is 100.
257
+ # @option opts [Integer] :page_offset Specific offset to use as the beginning of the returned page.
258
+ # @option opts [String] :include Include related rule details in the response.
259
+ # @option opts [String] :fields_outcome Return only specified values in the outcome attributes.
260
+ # @option opts [String] :fields_rule Return only specified values in the included rule details.
261
+ # @option opts [String] :filter_outcome_service_name Filter the outcomes on a specific service name.
262
+ # @option opts [String] :filter_outcome_state Filter the outcomes by a specific state.
263
+ # @option opts [Boolean] :filter_rule_enabled Filter outcomes on whether a rule is enabled/disabled.
264
+ # @option opts [String] :filter_rule_id Filter outcomes based on rule ID.
265
+ # @option opts [String] :filter_rule_name Filter outcomes based on rule name.
266
+ # @return [Array<(OutcomesResponse, Integer, Hash)>] OutcomesResponse data, response status code and response headers
267
+ def list_scorecard_outcomes_with_http_info(opts = {})
268
+ unstable_enabled = @api_client.config.unstable_operations["v2.list_scorecard_outcomes".to_sym]
269
+ if unstable_enabled
270
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.list_scorecard_outcomes")
271
+ else
272
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.list_scorecard_outcomes"))
273
+ end
274
+
275
+ if @api_client.config.debugging
276
+ @api_client.config.logger.debug 'Calling API: ServiceScorecardsAPI.list_scorecard_outcomes ...'
277
+ end
278
+ # resource path
279
+ local_var_path = '/api/v2/scorecard/outcomes'
280
+
281
+ # query parameters
282
+ query_params = opts[:query_params] || {}
283
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
284
+ query_params[:'page[offset]'] = opts[:'page_offset'] if !opts[:'page_offset'].nil?
285
+ query_params[:'include'] = opts[:'include'] if !opts[:'include'].nil?
286
+ query_params[:'fields[outcome]'] = opts[:'fields_outcome'] if !opts[:'fields_outcome'].nil?
287
+ query_params[:'fields[rule]'] = opts[:'fields_rule'] if !opts[:'fields_rule'].nil?
288
+ query_params[:'filter[outcome][service_name]'] = opts[:'filter_outcome_service_name'] if !opts[:'filter_outcome_service_name'].nil?
289
+ query_params[:'filter[outcome][state]'] = opts[:'filter_outcome_state'] if !opts[:'filter_outcome_state'].nil?
290
+ query_params[:'filter[rule][enabled]'] = opts[:'filter_rule_enabled'] if !opts[:'filter_rule_enabled'].nil?
291
+ query_params[:'filter[rule][id]'] = opts[:'filter_rule_id'] if !opts[:'filter_rule_id'].nil?
292
+ query_params[:'filter[rule][name]'] = opts[:'filter_rule_name'] if !opts[:'filter_rule_name'].nil?
293
+
294
+ # header parameters
295
+ header_params = opts[:header_params] || {}
296
+ # HTTP header 'Accept' (if needed)
297
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
298
+
299
+ # form parameters
300
+ form_params = opts[:form_params] || {}
301
+
302
+ # http body (model)
303
+ post_body = opts[:debug_body]
304
+
305
+ # return_type
306
+ return_type = opts[:debug_return_type] || 'OutcomesResponse'
307
+
308
+ # auth_names
309
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
310
+
311
+ new_options = opts.merge(
312
+ :operation => :list_scorecard_outcomes,
313
+ :header_params => header_params,
314
+ :query_params => query_params,
315
+ :form_params => form_params,
316
+ :body => post_body,
317
+ :auth_names => auth_names,
318
+ :return_type => return_type,
319
+ :api_version => "V2"
320
+ )
321
+
322
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
323
+ if @api_client.config.debugging
324
+ @api_client.config.logger.debug "API called: ServiceScorecardsAPI#list_scorecard_outcomes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
325
+ end
326
+ return data, status_code, headers
327
+ end
328
+
329
+ # List all rule outcomes.
330
+ #
331
+ # Provide a paginated version of {#list_scorecard_outcomes}, returning all items.
332
+ #
333
+ # To use it you need to use a block: list_scorecard_outcomes_with_pagination { |item| p item }
334
+ #
335
+ # @yield [OutcomesResponseDataItem] Paginated items
336
+ def list_scorecard_outcomes_with_pagination(opts = {})
337
+ api_version = "V2"
338
+ page_size = @api_client.get_attribute_from_path(opts, "page_size", 10)
339
+ @api_client.set_attribute_from_path(api_version, opts, "page_size", Integer, page_size)
340
+ while true do
341
+ response = list_scorecard_outcomes(opts)
342
+ @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) }
343
+ if @api_client.get_attribute_from_path(response, "data").length < page_size
344
+ break
345
+ end
346
+ @api_client.set_attribute_from_path(api_version, opts, "page_offset", Integer, @api_client.get_attribute_from_path(opts, "page_offset", 0) + page_size)
347
+ end
348
+ end
349
+
350
+ # List all rules.
351
+ #
352
+ # @see #list_scorecard_rules_with_http_info
353
+ def list_scorecard_rules(opts = {})
354
+ data, _status_code, _headers = list_scorecard_rules_with_http_info(opts)
355
+ data
356
+ end
357
+
358
+ # List all rules.
359
+ #
360
+ # Fetch all rules.
361
+ #
362
+ # @param opts [Hash] the optional parameters
363
+ # @option opts [Integer] :page_size Size for a given page. The maximum allowed value is 100.
364
+ # @option opts [Integer] :page_offset Specific offset to use as the beginning of the returned page.
365
+ # @option opts [String] :include Include related scorecard details in the response.
366
+ # @option opts [String] :filter_rule_id Filter the rules on a rule ID.
367
+ # @option opts [Boolean] :filter_rule_enabled Filter for enabled rules only.
368
+ # @option opts [Boolean] :filter_rule_custom Filter for custom rules only.
369
+ # @option opts [String] :filter_rule_name Filter rules on the rule name.
370
+ # @option opts [String] :filter_rule_description Filter rules on the rule description.
371
+ # @option opts [String] :fields_rule Return only specific fields in the response for rule attributes.
372
+ # @option opts [String] :fields_scorecard Return only specific fields in the included response for scorecard attributes.
373
+ # @return [Array<(ListRulesResponse, Integer, Hash)>] ListRulesResponse data, response status code and response headers
374
+ def list_scorecard_rules_with_http_info(opts = {})
375
+ unstable_enabled = @api_client.config.unstable_operations["v2.list_scorecard_rules".to_sym]
376
+ if unstable_enabled
377
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.list_scorecard_rules")
378
+ else
379
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.list_scorecard_rules"))
380
+ end
381
+
382
+ if @api_client.config.debugging
383
+ @api_client.config.logger.debug 'Calling API: ServiceScorecardsAPI.list_scorecard_rules ...'
384
+ end
385
+ # resource path
386
+ local_var_path = '/api/v2/scorecard/rules'
387
+
388
+ # query parameters
389
+ query_params = opts[:query_params] || {}
390
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
391
+ query_params[:'page[offset]'] = opts[:'page_offset'] if !opts[:'page_offset'].nil?
392
+ query_params[:'include'] = opts[:'include'] if !opts[:'include'].nil?
393
+ query_params[:'filter[rule][id]'] = opts[:'filter_rule_id'] if !opts[:'filter_rule_id'].nil?
394
+ query_params[:'filter[rule][enabled]'] = opts[:'filter_rule_enabled'] if !opts[:'filter_rule_enabled'].nil?
395
+ query_params[:'filter[rule][custom]'] = opts[:'filter_rule_custom'] if !opts[:'filter_rule_custom'].nil?
396
+ query_params[:'filter[rule][name]'] = opts[:'filter_rule_name'] if !opts[:'filter_rule_name'].nil?
397
+ query_params[:'filter[rule][description]'] = opts[:'filter_rule_description'] if !opts[:'filter_rule_description'].nil?
398
+ query_params[:'fields[rule]'] = opts[:'fields_rule'] if !opts[:'fields_rule'].nil?
399
+ query_params[:'fields[scorecard]'] = opts[:'fields_scorecard'] if !opts[:'fields_scorecard'].nil?
400
+
401
+ # header parameters
402
+ header_params = opts[:header_params] || {}
403
+ # HTTP header 'Accept' (if needed)
404
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
405
+
406
+ # form parameters
407
+ form_params = opts[:form_params] || {}
408
+
409
+ # http body (model)
410
+ post_body = opts[:debug_body]
411
+
412
+ # return_type
413
+ return_type = opts[:debug_return_type] || 'ListRulesResponse'
414
+
415
+ # auth_names
416
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
417
+
418
+ new_options = opts.merge(
419
+ :operation => :list_scorecard_rules,
420
+ :header_params => header_params,
421
+ :query_params => query_params,
422
+ :form_params => form_params,
423
+ :body => post_body,
424
+ :auth_names => auth_names,
425
+ :return_type => return_type,
426
+ :api_version => "V2"
427
+ )
428
+
429
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
430
+ if @api_client.config.debugging
431
+ @api_client.config.logger.debug "API called: ServiceScorecardsAPI#list_scorecard_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
432
+ end
433
+ return data, status_code, headers
434
+ end
435
+
436
+ # List all rules.
437
+ #
438
+ # Provide a paginated version of {#list_scorecard_rules}, returning all items.
439
+ #
440
+ # To use it you need to use a block: list_scorecard_rules_with_pagination { |item| p item }
441
+ #
442
+ # @yield [ListRulesResponseDataItem] Paginated items
443
+ def list_scorecard_rules_with_pagination(opts = {})
444
+ api_version = "V2"
445
+ page_size = @api_client.get_attribute_from_path(opts, "page_size", 10)
446
+ @api_client.set_attribute_from_path(api_version, opts, "page_size", Integer, page_size)
447
+ while true do
448
+ response = list_scorecard_rules(opts)
449
+ @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) }
450
+ if @api_client.get_attribute_from_path(response, "data").length < page_size
451
+ break
452
+ end
453
+ @api_client.set_attribute_from_path(api_version, opts, "page_offset", Integer, @api_client.get_attribute_from_path(opts, "page_offset", 0) + page_size)
454
+ end
455
+ end
456
+ end
457
+ end