datadog_api_client 2.12.0 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +6 -6
  3. data/.generator/conftest.py +7 -0
  4. data/.generator/poetry.lock +45 -75
  5. data/.generator/pyproject.toml +7 -7
  6. data/.generator/schemas/v1/openapi.yaml +257 -19
  7. data/.generator/schemas/v2/openapi.yaml +3020 -911
  8. data/.generator/src/generator/formatter.py +43 -32
  9. data/.generator/src/generator/openapi.py +4 -2
  10. data/.generator/src/generator/templates/api_client.j2 +81 -53
  11. data/.generator/src/generator/templates/configuration.j2 +21 -0
  12. data/.github/workflows/test_integration.yml +7 -1
  13. data/.pre-commit-config.yaml +4 -4
  14. data/CHANGELOG.md +62 -0
  15. data/README.md +23 -0
  16. data/examples/v1/azure-integration/CreateAzureIntegration.rb +3 -0
  17. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +3 -0
  18. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +3 -0
  19. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +3 -0
  20. data/examples/v1/dashboards/CreateDashboard_1284514532.rb +43 -0
  21. data/examples/v1/dashboards/CreateDashboard_2261785072.rb +47 -0
  22. data/examples/v1/dashboards/CreateDashboard_252716965.rb +6 -0
  23. data/examples/v1/dashboards/CreateDashboard_3513586382.rb +74 -0
  24. data/examples/v1/dashboards/CreateDashboard_3562282606.rb +1 -0
  25. data/examples/v1/dashboards/DeletePublicDashboardInvitation.rb +3 -3
  26. data/examples/v1/organizations/UpdateOrg.rb +1 -1
  27. data/examples/v1/synthetics/CreateSyntheticsAPITest_1487281163.rb +1 -0
  28. data/examples/v1/users/CreateUser.rb +1 -1
  29. data/examples/v1/users/CreateUser_266604071.rb +13 -0
  30. data/examples/v1/users/UpdateUser.rb +1 -1
  31. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +3 -0
  32. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +3 -0
  33. data/examples/v2/confluent-cloud/CreateConfluentAccount.rb +1 -0
  34. data/examples/v2/confluent-cloud/CreateConfluentResource.rb +1 -0
  35. data/examples/v2/confluent-cloud/UpdateConfluentResource.rb +1 -0
  36. data/examples/v2/downtimes/CancelDowntime.rb +11 -0
  37. data/examples/v2/downtimes/CreateDowntime.rb +26 -0
  38. data/examples/v2/downtimes/GetDowntime.rb +11 -0
  39. data/examples/v2/downtimes/ListDowntimes.rb +8 -0
  40. data/examples/v2/downtimes/ListMonitorDowntimes.rb +8 -0
  41. data/examples/v2/downtimes/ListMonitorDowntimes_128979780.rb +8 -0
  42. data/examples/v2/downtimes/UpdateDowntime.rb +21 -0
  43. data/examples/v2/logs/AggregateLogs_2955613758.rb +1 -1
  44. data/examples/v2/logs/ListLogsGet_2034110533.rb +3 -1
  45. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_1092490364.rb +10 -0
  46. data/examples/v2/spans/AggregateSpans.rb +25 -0
  47. data/examples/v2/spans/ListSpans.rb +25 -0
  48. data/examples/v2/spans/ListSpansGet.rb +5 -0
  49. data/examples/v2/spans/ListSpansGet_1130763422.rb +8 -0
  50. data/examples/v2/spans/ListSpans_3495563906.rb +25 -0
  51. data/examples/v2/teams/CreateTeam.rb +2 -2
  52. data/examples/v2/teams/CreateTeam_252121814.rb +24 -0
  53. data/examples/v2/teams/GetUserMemberships.rb +8 -0
  54. data/examples/v2/teams/UpdateTeam.rb +9 -0
  55. data/lib/datadog_api_client/api_client.rb +81 -53
  56. data/lib/datadog_api_client/configuration.rb +28 -0
  57. data/lib/datadog_api_client/inflector.rb +97 -1
  58. data/lib/datadog_api_client/v1/api/service_level_objective_corrections_api.rb +2 -2
  59. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +10 -10
  60. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +3 -3
  61. data/lib/datadog_api_client/v1/models/azure_account.rb +32 -1
  62. data/lib/datadog_api_client/v1/models/change_widget_request.rb +1 -1
  63. data/lib/datadog_api_client/v1/models/distribution_widget_definition.rb +13 -1
  64. data/lib/datadog_api_client/v1/models/formula_and_function_cloud_cost_data_source.rb +26 -0
  65. data/lib/datadog_api_client/v1/models/formula_and_function_cloud_cost_query_definition.rb +150 -0
  66. data/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb +2 -1
  67. data/lib/datadog_api_client/v1/models/formula_and_function_response_format.rb +2 -1
  68. data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_definition.rb +11 -1
  69. data/lib/datadog_api_client/v1/models/geomap_widget_request.rb +24 -2
  70. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +3 -0
  71. data/lib/datadog_api_client/v1/models/ip_prefixes_remote_configuration.rb +94 -0
  72. data/lib/datadog_api_client/v1/models/ip_ranges.rb +11 -1
  73. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +6 -0
  74. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +61 -1
  75. data/lib/datadog_api_client/v1/models/organization_settings.rb +8 -0
  76. data/lib/datadog_api_client/v1/models/query_value_widget_request.rb +1 -1
  77. data/lib/datadog_api_client/v1/models/scatterplot_table_request.rb +1 -1
  78. data/lib/datadog_api_client/v1/models/sunburst_widget_request.rb +1 -1
  79. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +11 -1
  80. data/lib/datadog_api_client/v1/models/table_widget_request.rb +1 -1
  81. data/lib/datadog_api_client/v1/models/timeseries_widget_request.rb +1 -1
  82. data/lib/datadog_api_client/v1/models/toplist_widget_request.rb +1 -1
  83. data/lib/datadog_api_client/v1/models/tree_map_widget_request.rb +1 -1
  84. data/lib/datadog_api_client/v1/models/usage_ci_visibility_hour.rb +12 -1
  85. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +24 -4
  86. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +24 -4
  87. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +24 -4
  88. data/lib/datadog_api_client/v1/models/user.rb +8 -0
  89. data/lib/datadog_api_client/v1/models/widget_comparator.rb +1 -0
  90. data/lib/datadog_api_client/v1/models/widget_display_type.rb +1 -0
  91. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +11 -5
  92. data/lib/datadog_api_client/v2/api/downtimes_api.rb +462 -0
  93. data/lib/datadog_api_client/v2/api/ip_allowlist_api.rb +2 -2
  94. data/lib/datadog_api_client/v2/api/logs_api.rb +2 -2
  95. data/lib/datadog_api_client/v2/api/metrics_api.rb +2 -2
  96. data/lib/datadog_api_client/v2/api/rum_api.rb +2 -2
  97. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +3 -3
  98. data/lib/datadog_api_client/v2/api/spans_api.rb +294 -0
  99. data/lib/datadog_api_client/v2/api/spans_metrics_api.rb +2 -2
  100. data/lib/datadog_api_client/v2/api/teams_api.rb +65 -0
  101. data/lib/datadog_api_client/v2/models/application_key_create_attributes.rb +1 -1
  102. data/lib/datadog_api_client/v2/models/application_key_update_attributes.rb +1 -1
  103. data/lib/datadog_api_client/v2/models/audit_logs_event_attributes.rb +11 -1
  104. data/lib/datadog_api_client/v2/models/ci_app_event_attributes.rb +9 -21
  105. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event.rb +1 -1
  106. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_attributes.rb +102 -0
  107. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_pipeline.rb +1 -1
  108. data/lib/datadog_api_client/v2/models/ci_app_pipeline_level.rb +30 -0
  109. data/lib/datadog_api_client/v2/models/ci_app_pipelines_query_filter.rb +1 -1
  110. data/lib/datadog_api_client/v2/models/ci_app_test_level.rb +29 -0
  111. data/lib/datadog_api_client/v2/models/ci_app_tests_analytics_aggregate_response.rb +1 -1
  112. data/lib/datadog_api_client/v2/models/ci_app_tests_query_filter.rb +1 -1
  113. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_compliance_signal_options.rb +25 -1
  114. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_create_payload.rb +13 -1
  115. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +41 -1
  116. data/lib/datadog_api_client/v2/models/confluent_account_resource_attributes.rb +11 -1
  117. data/lib/datadog_api_client/v2/models/confluent_resource_request_attributes.rb +11 -1
  118. data/lib/datadog_api_client/v2/models/confluent_resource_response_attributes.rb +21 -1
  119. data/lib/datadog_api_client/v2/models/dashboard_list_item.rb +36 -1
  120. data/lib/datadog_api_client/v2/models/downtime_create_request.rb +98 -0
  121. data/lib/datadog_api_client/v2/models/downtime_create_request_attributes.rb +194 -0
  122. data/lib/datadog_api_client/v2/models/downtime_create_request_data.rb +119 -0
  123. data/lib/datadog_api_client/v2/models/downtime_included_monitor_type.rb +26 -0
  124. data/lib/datadog_api_client/v2/models/downtime_meta.rb +80 -0
  125. data/lib/datadog_api_client/v2/models/downtime_meta_page.rb +80 -0
  126. data/lib/datadog_api_client/v2/models/downtime_monitor_identifier.rb +63 -0
  127. data/lib/datadog_api_client/v2/models/downtime_monitor_identifier_id.rb +98 -0
  128. data/lib/datadog_api_client/v2/models/downtime_monitor_identifier_tags.rb +107 -0
  129. data/lib/datadog_api_client/v2/models/downtime_monitor_included_attributes.rb +80 -0
  130. data/lib/datadog_api_client/v2/models/downtime_monitor_included_item.rb +100 -0
  131. data/lib/datadog_api_client/v2/models/downtime_notify_end_state_actions.rb +27 -0
  132. data/lib/datadog_api_client/v2/models/downtime_notify_end_state_types.rb +28 -0
  133. data/lib/datadog_api_client/v2/models/downtime_relationships.rb +90 -0
  134. data/lib/datadog_api_client/v2/models/downtime_relationships_created_by.rb +88 -0
  135. data/lib/datadog_api_client/v2/models/downtime_relationships_created_by_data.rb +90 -0
  136. data/lib/datadog_api_client/v2/models/downtime_relationships_monitor.rb +88 -0
  137. data/lib/datadog_api_client/v2/models/downtime_relationships_monitor_data.rb +90 -0
  138. data/lib/datadog_api_client/v2/models/downtime_resource_type.rb +26 -0
  139. data/lib/datadog_api_client/v2/models/downtime_response.rb +95 -0
  140. data/lib/datadog_api_client/v2/models/downtime_response_attributes.rb +208 -0
  141. data/lib/datadog_api_client/v2/models/downtime_response_data.rb +110 -0
  142. data/lib/datadog_api_client/v2/models/downtime_response_included_item.rb +63 -0
  143. data/lib/datadog_api_client/v2/models/downtime_schedule_create_request.rb +63 -0
  144. data/lib/datadog_api_client/v2/models/downtime_schedule_current_downtime_response.rb +100 -0
  145. data/lib/datadog_api_client/v2/models/downtime_schedule_one_time_create_update_request.rb +101 -0
  146. data/lib/datadog_api_client/v2/models/downtime_schedule_one_time_response.rb +116 -0
  147. data/lib/datadog_api_client/v2/models/downtime_schedule_recurrence_create_update_request.rb +143 -0
  148. data/lib/datadog_api_client/v2/models/downtime_schedule_recurrence_response.rb +106 -0
  149. data/lib/datadog_api_client/v2/models/downtime_schedule_recurrences_create_request.rb +110 -0
  150. data/lib/datadog_api_client/v2/models/downtime_schedule_recurrences_response.rb +131 -0
  151. data/lib/datadog_api_client/v2/models/downtime_schedule_recurrences_update_request.rb +92 -0
  152. data/lib/datadog_api_client/v2/models/downtime_schedule_response.rb +65 -0
  153. data/lib/datadog_api_client/v2/models/downtime_schedule_update_request.rb +63 -0
  154. data/lib/datadog_api_client/v2/models/downtime_status.rb +29 -0
  155. data/lib/datadog_api_client/v2/models/downtime_update_request.rb +98 -0
  156. data/lib/datadog_api_client/v2/models/downtime_update_request_attributes.rb +165 -0
  157. data/lib/datadog_api_client/v2/models/{team_data.rb → downtime_update_request_data.rb} +9 -9
  158. data/lib/datadog_api_client/v2/models/event_response_attributes.rb +11 -1
  159. data/lib/datadog_api_client/v2/models/events_group_by_sort.rb +1 -1
  160. data/lib/datadog_api_client/v2/models/events_response_metadata.rb +11 -1
  161. data/lib/datadog_api_client/v2/models/formula_limit.rb +1 -0
  162. data/lib/datadog_api_client/v2/models/full_application_key_attributes.rb +1 -1
  163. data/lib/datadog_api_client/v2/models/list_downtimes_response.rb +104 -0
  164. data/lib/datadog_api_client/v2/models/logs_aggregate_request.rb +1 -1
  165. data/lib/datadog_api_client/v2/models/logs_aggregate_request_page.rb +1 -1
  166. data/lib/datadog_api_client/v2/models/logs_group_by.rb +3 -2
  167. data/lib/datadog_api_client/v2/models/logs_group_by_histogram.rb +1 -1
  168. data/lib/datadog_api_client/v2/models/logs_list_request.rb +1 -1
  169. data/lib/datadog_api_client/v2/models/logs_query_options.rb +1 -1
  170. data/lib/datadog_api_client/v2/models/logs_response_metadata_page.rb +1 -1
  171. data/lib/datadog_api_client/v2/models/metrics_aggregator.rb +1 -1
  172. data/lib/datadog_api_client/v2/models/metrics_scalar_query.rb +1 -1
  173. data/lib/datadog_api_client/v2/models/monitor_downtime_match_resource_type.rb +26 -0
  174. data/lib/datadog_api_client/v2/models/monitor_downtime_match_response.rb +92 -0
  175. data/lib/datadog_api_client/v2/models/monitor_downtime_match_response_attributes.rb +120 -0
  176. data/lib/datadog_api_client/v2/models/monitor_downtime_match_response_data.rb +108 -0
  177. data/lib/datadog_api_client/v2/models/on_demand_concurrency_cap.rb +14 -4
  178. data/lib/datadog_api_client/v2/models/on_demand_concurrency_cap_type.rb +26 -0
  179. data/lib/datadog_api_client/v2/models/partial_application_key_attributes.rb +1 -1
  180. data/lib/datadog_api_client/v2/models/query_formula.rb +1 -0
  181. data/lib/datadog_api_client/v2/models/relationship_to_team_links.rb +14 -4
  182. data/lib/datadog_api_client/v2/models/relationship_to_user_team_permission.rb +14 -4
  183. data/lib/datadog_api_client/v2/models/restriction_policy_binding.rb +2 -1
  184. data/lib/datadog_api_client/v2/models/rum_application_list.rb +11 -1
  185. data/lib/datadog_api_client/v2/models/security_monitoring_signal_metadata_type.rb +26 -0
  186. data/lib/datadog_api_client/v2/models/security_monitoring_signal_response.rb +80 -0
  187. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_response_query.rb +26 -2
  188. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_data.rb +24 -4
  189. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_update_data.rb +24 -4
  190. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +1 -19
  191. data/lib/datadog_api_client/v2/models/security_monitoring_triage_user.rb +11 -1
  192. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_get_config_response_data.rb +11 -1
  193. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_meta.rb +11 -1
  194. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +11 -1
  195. data/lib/datadog_api_client/v2/models/service_definition_data.rb +11 -1
  196. data/lib/datadog_api_client/v2/models/service_definition_meta.rb +36 -4
  197. data/lib/datadog_api_client/v2/models/service_definition_meta_warnings.rb +100 -0
  198. data/lib/datadog_api_client/v2/models/span.rb +100 -0
  199. data/lib/datadog_api_client/v2/models/spans_aggregate_bucket.rb +100 -0
  200. data/lib/datadog_api_client/v2/models/spans_aggregate_bucket_attributes.rb +100 -0
  201. data/lib/datadog_api_client/v2/models/spans_aggregate_bucket_type.rb +26 -0
  202. data/lib/datadog_api_client/v2/models/spans_aggregate_bucket_value.rb +64 -0
  203. data/lib/datadog_api_client/v2/models/spans_aggregate_bucket_value_timeseries_point.rb +90 -0
  204. data/lib/datadog_api_client/v2/models/spans_aggregate_data.rb +90 -0
  205. data/lib/datadog_api_client/v2/models/spans_aggregate_request.rb +80 -0
  206. data/lib/datadog_api_client/v2/models/spans_aggregate_request_attributes.rb +115 -0
  207. data/lib/datadog_api_client/v2/models/spans_aggregate_request_type.rb +26 -0
  208. data/lib/datadog_api_client/v2/models/spans_aggregate_response.rb +92 -0
  209. data/lib/datadog_api_client/v2/models/spans_aggregate_response_metadata.rb +113 -0
  210. data/lib/datadog_api_client/v2/models/spans_aggregate_response_status.rb +27 -0
  211. data/lib/datadog_api_client/v2/models/spans_aggregate_sort.rb +110 -0
  212. data/lib/datadog_api_client/v2/models/spans_aggregate_sort_type.rb +27 -0
  213. data/lib/datadog_api_client/v2/models/spans_aggregation_function.rb +37 -0
  214. data/lib/datadog_api_client/v2/models/spans_attributes.rb +244 -0
  215. data/lib/datadog_api_client/v2/models/spans_compute.rb +129 -0
  216. data/lib/datadog_api_client/v2/models/spans_compute_type.rb +27 -0
  217. data/lib/datadog_api_client/v2/models/spans_group_by.rb +149 -0
  218. data/lib/datadog_api_client/v2/models/spans_group_by_histogram.rb +143 -0
  219. data/lib/datadog_api_client/v2/models/spans_group_by_missing.rb +63 -0
  220. data/lib/datadog_api_client/v2/models/spans_group_by_total.rb +64 -0
  221. data/lib/datadog_api_client/v2/models/spans_list_request.rb +80 -0
  222. data/lib/datadog_api_client/v2/models/spans_list_request_attributes.rb +111 -0
  223. data/lib/datadog_api_client/v2/models/spans_list_request_data.rb +90 -0
  224. data/lib/datadog_api_client/v2/models/spans_list_request_page.rb +108 -0
  225. data/lib/datadog_api_client/v2/models/spans_list_request_type.rb +26 -0
  226. data/lib/datadog_api_client/v2/models/spans_list_response.rb +102 -0
  227. data/lib/datadog_api_client/v2/models/spans_list_response_links.rb +81 -0
  228. data/lib/datadog_api_client/v2/models/spans_list_response_metadata.rb +123 -0
  229. data/lib/datadog_api_client/v2/models/spans_query_filter.rb +100 -0
  230. data/lib/datadog_api_client/v2/models/spans_query_options.rb +91 -0
  231. data/lib/datadog_api_client/v2/models/spans_response_metadata_page.rb +81 -0
  232. data/lib/datadog_api_client/v2/models/spans_sort.rb +27 -0
  233. data/lib/datadog_api_client/v2/models/spans_sort_order.rb +27 -0
  234. data/lib/datadog_api_client/v2/models/spans_type.rb +26 -0
  235. data/lib/datadog_api_client/v2/models/spans_warning.rb +100 -0
  236. data/lib/datadog_api_client/v2/models/team_attributes.rb +50 -4
  237. data/lib/datadog_api_client/v2/models/team_create_attributes.rb +57 -4
  238. data/lib/datadog_api_client/v2/models/team_relationships_links.rb +80 -0
  239. data/lib/datadog_api_client/v2/models/team_response.rb +1 -1
  240. data/lib/datadog_api_client/v2/models/team_update_attributes.rb +57 -4
  241. data/lib/datadog_api_client/v2/models/teams_response.rb +24 -4
  242. data/lib/datadog_api_client/v2/models/teams_response_links.rb +129 -0
  243. data/lib/datadog_api_client/v2/models/teams_response_meta.rb +80 -0
  244. data/lib/datadog_api_client/v2/models/teams_response_meta_pagination.rb +150 -0
  245. data/lib/datadog_api_client/v2/models/usage_attributes_object.rb +11 -1
  246. data/lib/datadog_api_client/v2/models/user_invitation_response_data.rb +11 -1
  247. data/lib/datadog_api_client/v2/models/user_teams_response.rb +24 -4
  248. data/lib/datadog_api_client/version.rb +1 -1
  249. data/spec/configuration_spec.rb +17 -0
  250. data/spec/retry_spec.rb +44 -0
  251. metadata +119 -3
@@ -0,0 +1,80 @@
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 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Teams response metadata.
21
+ class TeamsResponseMeta
22
+ include BaseGenericModel
23
+
24
+ # Teams response metadata.
25
+ attr_accessor :pagination
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'pagination' => :'pagination'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'pagination' => :'TeamsResponseMetaPagination'
40
+ }
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param attributes [Hash] Model attributes in the form of hash
45
+ # @!visibility private
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TeamsResponseMeta` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::TeamsResponseMeta`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'pagination')
60
+ self.pagination = attributes[:'pagination']
61
+ end
62
+ end
63
+
64
+ # Checks equality by comparing each attribute.
65
+ # @param o [Object] Object to be compared
66
+ # @!visibility private
67
+ def ==(o)
68
+ return true if self.equal?(o)
69
+ self.class == o.class &&
70
+ pagination == o.pagination
71
+ end
72
+
73
+ # Calculates hash code according to all attributes.
74
+ # @return [Integer] Hash code
75
+ # @!visibility private
76
+ def hash
77
+ [pagination].hash
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,150 @@
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 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Teams response metadata.
21
+ class TeamsResponseMetaPagination
22
+ include BaseGenericModel
23
+
24
+ # The first offset.
25
+ attr_accessor :first_offset
26
+
27
+ # The last offset.
28
+ attr_accessor :last_offset
29
+
30
+ # Pagination limit.
31
+ attr_accessor :limit
32
+
33
+ # The next offset.
34
+ attr_accessor :next_offset
35
+
36
+ # The offset.
37
+ attr_accessor :offset
38
+
39
+ # The previous offset.
40
+ attr_accessor :prev_offset
41
+
42
+ # Total results.
43
+ attr_accessor :total
44
+
45
+ # Offset type.
46
+ attr_accessor :type
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ # @!visibility private
50
+ def self.attribute_map
51
+ {
52
+ :'first_offset' => :'first_offset',
53
+ :'last_offset' => :'last_offset',
54
+ :'limit' => :'limit',
55
+ :'next_offset' => :'next_offset',
56
+ :'offset' => :'offset',
57
+ :'prev_offset' => :'prev_offset',
58
+ :'total' => :'total',
59
+ :'type' => :'type'
60
+ }
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ # @!visibility private
65
+ def self.openapi_types
66
+ {
67
+ :'first_offset' => :'Integer',
68
+ :'last_offset' => :'Integer',
69
+ :'limit' => :'Integer',
70
+ :'next_offset' => :'Integer',
71
+ :'offset' => :'Integer',
72
+ :'prev_offset' => :'Integer',
73
+ :'total' => :'Integer',
74
+ :'type' => :'String'
75
+ }
76
+ end
77
+
78
+ # Initializes the object
79
+ # @param attributes [Hash] Model attributes in the form of hash
80
+ # @!visibility private
81
+ def initialize(attributes = {})
82
+ if (!attributes.is_a?(Hash))
83
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TeamsResponseMetaPagination` initialize method"
84
+ end
85
+
86
+ # check to see if the attribute exists and convert string to symbol for hash key
87
+ attributes = attributes.each_with_object({}) { |(k, v), h|
88
+ if (!self.class.attribute_map.key?(k.to_sym))
89
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::TeamsResponseMetaPagination`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
90
+ end
91
+ h[k.to_sym] = v
92
+ }
93
+
94
+ if attributes.key?(:'first_offset')
95
+ self.first_offset = attributes[:'first_offset']
96
+ end
97
+
98
+ if attributes.key?(:'last_offset')
99
+ self.last_offset = attributes[:'last_offset']
100
+ end
101
+
102
+ if attributes.key?(:'limit')
103
+ self.limit = attributes[:'limit']
104
+ end
105
+
106
+ if attributes.key?(:'next_offset')
107
+ self.next_offset = attributes[:'next_offset']
108
+ end
109
+
110
+ if attributes.key?(:'offset')
111
+ self.offset = attributes[:'offset']
112
+ end
113
+
114
+ if attributes.key?(:'prev_offset')
115
+ self.prev_offset = attributes[:'prev_offset']
116
+ end
117
+
118
+ if attributes.key?(:'total')
119
+ self.total = attributes[:'total']
120
+ end
121
+
122
+ if attributes.key?(:'type')
123
+ self.type = attributes[:'type']
124
+ end
125
+ end
126
+
127
+ # Checks equality by comparing each attribute.
128
+ # @param o [Object] Object to be compared
129
+ # @!visibility private
130
+ def ==(o)
131
+ return true if self.equal?(o)
132
+ self.class == o.class &&
133
+ first_offset == o.first_offset &&
134
+ last_offset == o.last_offset &&
135
+ limit == o.limit &&
136
+ next_offset == o.next_offset &&
137
+ offset == o.offset &&
138
+ prev_offset == o.prev_offset &&
139
+ total == o.total &&
140
+ type == o.type
141
+ end
142
+
143
+ # Calculates hash code according to all attributes.
144
+ # @return [Integer] Hash code
145
+ # @!visibility private
146
+ def hash
147
+ [first_offset, last_offset, limit, next_offset, offset, prev_offset, total, type].hash
148
+ end
149
+ end
150
+ end
@@ -30,6 +30,9 @@ module DatadogAPIClient::V2
30
30
  # The organization public ID.
31
31
  attr_accessor :public_id
32
32
 
33
+ # The region of the Datadog instance that the organization belongs to.
34
+ attr_accessor :region
35
+
33
36
  # List of usage data reported for each requested hour.
34
37
  attr_accessor :timeseries
35
38
 
@@ -43,6 +46,7 @@ module DatadogAPIClient::V2
43
46
  :'org_name' => :'org_name',
44
47
  :'product_family' => :'product_family',
45
48
  :'public_id' => :'public_id',
49
+ :'region' => :'region',
46
50
  :'timeseries' => :'timeseries',
47
51
  :'usage_type' => :'usage_type'
48
52
  }
@@ -55,6 +59,7 @@ module DatadogAPIClient::V2
55
59
  :'org_name' => :'String',
56
60
  :'product_family' => :'String',
57
61
  :'public_id' => :'String',
62
+ :'region' => :'String',
58
63
  :'timeseries' => :'Array<UsageTimeSeriesObject>',
59
64
  :'usage_type' => :'HourlyUsageType'
60
65
  }
@@ -88,6 +93,10 @@ module DatadogAPIClient::V2
88
93
  self.public_id = attributes[:'public_id']
89
94
  end
90
95
 
96
+ if attributes.key?(:'region')
97
+ self.region = attributes[:'region']
98
+ end
99
+
91
100
  if attributes.key?(:'timeseries')
92
101
  if (value = attributes[:'timeseries']).is_a?(Array)
93
102
  self.timeseries = value
@@ -108,6 +117,7 @@ module DatadogAPIClient::V2
108
117
  org_name == o.org_name &&
109
118
  product_family == o.product_family &&
110
119
  public_id == o.public_id &&
120
+ region == o.region &&
111
121
  timeseries == o.timeseries &&
112
122
  usage_type == o.usage_type
113
123
  end
@@ -116,7 +126,7 @@ module DatadogAPIClient::V2
116
126
  # @return [Integer] Hash code
117
127
  # @!visibility private
118
128
  def hash
119
- [org_name, product_family, public_id, timeseries, usage_type].hash
129
+ [org_name, product_family, public_id, region, timeseries, usage_type].hash
120
130
  end
121
131
  end
122
132
  end
@@ -27,6 +27,9 @@ module DatadogAPIClient::V2
27
27
  # ID of the user invitation.
28
28
  attr_accessor :id
29
29
 
30
+ # Relationships data for user invitation.
31
+ attr_accessor :relationships
32
+
30
33
  # User invitations type.
31
34
  attr_accessor :type
32
35
 
@@ -36,6 +39,7 @@ module DatadogAPIClient::V2
36
39
  {
37
40
  :'attributes' => :'attributes',
38
41
  :'id' => :'id',
42
+ :'relationships' => :'relationships',
39
43
  :'type' => :'type'
40
44
  }
41
45
  end
@@ -46,6 +50,7 @@ module DatadogAPIClient::V2
46
50
  {
47
51
  :'attributes' => :'UserInvitationDataAttributes',
48
52
  :'id' => :'String',
53
+ :'relationships' => :'UserInvitationRelationships',
49
54
  :'type' => :'UserInvitationsType'
50
55
  }
51
56
  end
@@ -74,6 +79,10 @@ module DatadogAPIClient::V2
74
79
  self.id = attributes[:'id']
75
80
  end
76
81
 
82
+ if attributes.key?(:'relationships')
83
+ self.relationships = attributes[:'relationships']
84
+ end
85
+
77
86
  if attributes.key?(:'type')
78
87
  self.type = attributes[:'type']
79
88
  end
@@ -87,6 +96,7 @@ module DatadogAPIClient::V2
87
96
  self.class == o.class &&
88
97
  attributes == o.attributes &&
89
98
  id == o.id &&
99
+ relationships == o.relationships &&
90
100
  type == o.type
91
101
  end
92
102
 
@@ -94,7 +104,7 @@ module DatadogAPIClient::V2
94
104
  # @return [Integer] Hash code
95
105
  # @!visibility private
96
106
  def hash
97
- [attributes, id, type].hash
107
+ [attributes, id, relationships, type].hash
98
108
  end
99
109
  end
100
110
  end
@@ -24,11 +24,19 @@ module DatadogAPIClient::V2
24
24
  # Team memberships response data
25
25
  attr_accessor :data
26
26
 
27
+ # Teams response links.
28
+ attr_accessor :links
29
+
30
+ # Teams response metadata.
31
+ attr_accessor :meta
32
+
27
33
  # Attribute mapping from ruby-style variable name to JSON key.
28
34
  # @!visibility private
29
35
  def self.attribute_map
30
36
  {
31
- :'data' => :'data'
37
+ :'data' => :'data',
38
+ :'links' => :'links',
39
+ :'meta' => :'meta'
32
40
  }
33
41
  end
34
42
 
@@ -36,7 +44,9 @@ module DatadogAPIClient::V2
36
44
  # @!visibility private
37
45
  def self.openapi_types
38
46
  {
39
- :'data' => :'Array<UserTeam>'
47
+ :'data' => :'Array<UserTeam>',
48
+ :'links' => :'TeamsResponseLinks',
49
+ :'meta' => :'TeamsResponseMeta'
40
50
  }
41
51
  end
42
52
 
@@ -61,6 +71,14 @@ module DatadogAPIClient::V2
61
71
  self.data = value
62
72
  end
63
73
  end
74
+
75
+ if attributes.key?(:'links')
76
+ self.links = attributes[:'links']
77
+ end
78
+
79
+ if attributes.key?(:'meta')
80
+ self.meta = attributes[:'meta']
81
+ end
64
82
  end
65
83
 
66
84
  # Checks equality by comparing each attribute.
@@ -69,14 +87,16 @@ module DatadogAPIClient::V2
69
87
  def ==(o)
70
88
  return true if self.equal?(o)
71
89
  self.class == o.class &&
72
- data == o.data
90
+ data == o.data &&
91
+ links == o.links &&
92
+ meta == o.meta
73
93
  end
74
94
 
75
95
  # Calculates hash code according to all attributes.
76
96
  # @return [Integer] Hash code
77
97
  # @!visibility private
78
98
  def hash
79
- [data].hash
99
+ [data, links, meta].hash
80
100
  end
81
101
  end
82
102
  end
@@ -1,5 +1,5 @@
1
1
  # Define library version.
2
2
 
3
3
  module DatadogAPIClient
4
- VERSION = '2.12.0'
4
+ VERSION = '2.14.0'
5
5
  end
@@ -42,4 +42,21 @@ describe DatadogAPIClient::Configuration do
42
42
  end
43
43
  end
44
44
  end
45
+
46
+ describe '#backoff_base' do
47
+ context 'when setting a valid backoff_base value > 2' do
48
+ it 'sets the backoff_base attribute' do
49
+ config.backoff_base = 3
50
+ expect(config.backoff_base).to eq(3)
51
+ end
52
+ end
53
+ end
54
+
55
+ context 'when setting an invalid backoff_base value < 2' do
56
+ it 'raises an ArgumentError' do
57
+ expect { config.backoff_base = 1 }.to raise_error(ArgumentError, 'backoff_base cannot be smaller than 2')
58
+ end
59
+ end
60
+
61
+
45
62
  end
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'logs_archive retry test' do
4
+ before do
5
+ DatadogAPIClient.configure do |c|
6
+ c.enable_retry = true
7
+ c.backoff_base = 2
8
+ end
9
+ @api_instance = DatadogAPIClient::V2::LogsArchivesAPI.new
10
+ @base_path = @api_instance.api_client.build_request_url('')
11
+ @body = DatadogAPIClient::V2::LogsArchiveCreateRequest.new
12
+ allow_any_instance_of(DatadogAPIClient::APIClient).to receive(:sleep)
13
+ end
14
+ it 'should retry 3 times and sleep for the value of X-Ratelimit-Reset' do
15
+ fixture = File.read('spec/fixtures/logs_archive_unknown_nested_oneof.json')
16
+ stub_request(:post, "#{@base_path}api/v2/logs/config/archives")
17
+ .to_return(
18
+ {:body => fixture, :headers => {"Content-Type": "application/json", "X-Ratelimit-Reset" => "1"}, :status => 429},
19
+ {:body => fixture, :headers => {"Content-Type": "application/json", "X-Ratelimit-Reset" => "1"}, :status => 429},
20
+ {:body => fixture, :headers => {"Content-Type": "application/json", "X-Ratelimit-Reset" => "1"}, :status => 429},
21
+ {:body => fixture, :headers => {"Content-Type": "application/json"}, :status => 299}
22
+ )
23
+ data = @api_instance.create_logs_archive(@body)
24
+ expect(@api_instance::api_client).to have_received(:sleep).exactly(3).times.with(1)
25
+ expect(WebMock).to have_requested(:post, "#{@base_path}api/v2/logs/config/archives").times(4)
26
+ end
27
+
28
+ it 'should retry 3 times and sleep for 2,4,8 seconds' do
29
+ fixture = File.read('spec/fixtures/logs_archive_unknown_nested_oneof.json')
30
+ stub_request(:post, "#{@base_path}api/v2/logs/config/archives")
31
+ .to_return(
32
+ {:body => fixture, :headers => {"Content-Type": "application/json"}, :status => 500},
33
+ {:body => fixture, :headers => {"Content-Type": "application/json"}, :status => 500},
34
+ {:body => fixture, :headers => {"Content-Type": "application/json"}, :status => 500},
35
+ {:body => fixture, :headers => {"Content-Type": "application/json"}, :status => 299}
36
+ )
37
+
38
+ data = @api_instance.create_logs_archive(@body)
39
+ expect(@api_instance::api_client).to have_received(:sleep).exactly(1).times.with(2)
40
+ expect(@api_instance::api_client).to have_received(:sleep).exactly(1).times.with(4)
41
+ expect(@api_instance::api_client).to have_received(:sleep).exactly(1).times.with(8)
42
+ expect(WebMock).to have_requested(:post, "#{@base_path}api/v2/logs/config/archives").times(4)
43
+ end
44
+ end