datadog_api_client 2.19.0 → 2.21.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 (256) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +5 -0
  4. data/.generator/schemas/v1/openapi.yaml +430 -172
  5. data/.generator/schemas/v2/openapi.yaml +3146 -165
  6. data/.generator/src/generator/templates/api.j2 +5 -5
  7. data/CHANGELOG.md +48 -0
  8. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +3 -0
  9. data/examples/v1/gcp-integration/UpdateGCPIntegration_3544259255.rb +25 -0
  10. data/examples/v1/logs-indexes/CreateLogsIndex.rb +5 -0
  11. data/examples/v1/logs-indexes/UpdateLogsIndex.rb +5 -0
  12. data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +1 -1
  13. data/examples/v1/synthetics/CreateSyntheticsAPITest_1279271422.rb +29 -0
  14. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  15. data/examples/v1/synthetics/TriggerCITests.rb +1 -1
  16. data/examples/v1/synthetics/UpdateBrowserTest.rb +2 -1
  17. data/examples/v1/usage-metering/GetUsageLambda.rb +5 -2
  18. data/examples/v2/api-management/CreateOpenAPI.rb +11 -0
  19. data/examples/v2/api-management/DeleteOpenAPI.rb +11 -0
  20. data/examples/v2/api-management/GetOpenAPI.rb +11 -0
  21. data/examples/v2/api-management/UpdateOpenAPI.rb +14 -0
  22. data/examples/v2/case-management/ArchiveCase.rb +14 -0
  23. data/examples/v2/case-management/AssignCase.rb +20 -0
  24. data/examples/v2/case-management/CreateCase.rb +33 -0
  25. data/examples/v2/case-management/CreateProject.rb +15 -0
  26. data/examples/v2/case-management/DeleteProject.rb +5 -0
  27. data/examples/v2/case-management/GetCase.rb +8 -0
  28. data/examples/v2/case-management/GetProject.rb +5 -0
  29. data/examples/v2/case-management/GetProjects.rb +5 -0
  30. data/examples/v2/case-management/SearchCases.rb +5 -0
  31. data/examples/v2/case-management/SearchCases_3433960044.rb +5 -0
  32. data/examples/v2/case-management/UnarchiveCase.rb +14 -0
  33. data/examples/v2/case-management/UnassignCase.rb +14 -0
  34. data/examples/v2/case-management/UpdatePriority.rb +17 -0
  35. data/examples/v2/case-management/UpdateStatus.rb +17 -0
  36. data/examples/v2/cloud-workload-security/CreateCSMThreatsAgentRule.rb +17 -0
  37. data/examples/v2/cloud-workload-security/DeleteCSMThreatsAgentRule.rb +8 -0
  38. data/examples/v2/cloud-workload-security/DownloadCSMThreatsPolicy.rb +5 -0
  39. data/examples/v2/cloud-workload-security/GetCSMThreatsAgentRule.rb +8 -0
  40. data/examples/v2/cloud-workload-security/ListCSMThreatsAgentRules.rb +5 -0
  41. data/examples/v2/cloud-workload-security/UpdateCSMThreatsAgentRule.rb +20 -0
  42. data/examples/v2/dora-metrics/CreateDORAIncident.rb +6 -3
  43. data/examples/v2/gcp-integration/CreateGCPSTSAccount_194782945.rb +18 -0
  44. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_2241994060.rb +21 -0
  45. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination.rb +31 -0
  46. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination_1091442807.rb +31 -0
  47. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination_1288180912.rb +27 -0
  48. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination_141236188.rb +32 -0
  49. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination_2184123765.rb +31 -0
  50. data/examples/v2/logs-custom-destinations/DeleteLogsCustomDestination.rb +8 -0
  51. data/examples/v2/logs-custom-destinations/GetLogsCustomDestination.rb +8 -0
  52. data/examples/v2/logs-custom-destinations/ListLogsCustomDestinations.rb +5 -0
  53. data/examples/v2/logs-custom-destinations/UpdateLogsCustomDestination.rb +18 -0
  54. data/examples/v2/metrics/ListMetricAssets.rb +5 -0
  55. data/examples/v2/okta-integration/CreateOktaAccount.rb +1 -1
  56. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +19 -0
  57. data/examples/v2/security-monitoring/DeleteSecurityMonitoringSuppression.rb +8 -0
  58. data/examples/v2/security-monitoring/GetSecurityMonitoringSuppression.rb +8 -0
  59. data/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions.rb +5 -0
  60. data/examples/v2/security-monitoring/UpdateSecurityMonitoringSuppression.rb +17 -0
  61. data/examples/v2/teams/GetTeamMemberships_3799131168.rb +8 -0
  62. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +1 -1
  63. data/lib/datadog_api_client/configuration.rb +4 -0
  64. data/lib/datadog_api_client/inflector.rb +134 -0
  65. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -3
  66. data/lib/datadog_api_client/v1/api/organizations_api.rb +1 -1
  67. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +8 -8
  68. data/lib/datadog_api_client/v1/models/dashboard.rb +5 -1
  69. data/lib/datadog_api_client/v1/models/dashboard_summary_definition.rb +2 -0
  70. data/lib/datadog_api_client/v1/models/gcp_account.rb +14 -1
  71. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +6 -0
  72. data/lib/datadog_api_client/v1/models/log.rb +1 -1
  73. data/lib/datadog_api_client/v1/models/logs_daily_limit_reset.rb +90 -0
  74. data/lib/datadog_api_client/v1/models/logs_index.rb +36 -1
  75. data/lib/datadog_api_client/v1/models/logs_index_update_request.rb +36 -1
  76. data/lib/datadog_api_client/v1/models/metrics_payload.rb +1 -1
  77. data/lib/datadog_api_client/v1/models/metrics_query_metadata.rb +1 -1
  78. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_events_data_source.rb +1 -0
  79. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +8 -0
  80. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +84 -4
  81. data/lib/datadog_api_client/v1/models/slo_correction_create_request_attributes.rb +1 -1
  82. data/lib/datadog_api_client/v1/models/slo_correction_response_attributes.rb +1 -1
  83. data/lib/datadog_api_client/v1/models/slo_correction_update_request_attributes.rb +1 -1
  84. data/lib/datadog_api_client/v1/models/slo_history_metrics.rb +2 -2
  85. data/lib/datadog_api_client/v1/models/slo_history_metrics_series.rb +1 -1
  86. data/lib/datadog_api_client/v1/models/slo_history_monitor.rb +1 -1
  87. data/lib/datadog_api_client/v1/models/slo_history_sli_data.rb +1 -1
  88. data/lib/datadog_api_client/v1/models/split_config.rb +6 -6
  89. data/lib/datadog_api_client/v1/models/synthetics_api_step_subtype.rb +1 -0
  90. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +21 -1
  91. data/lib/datadog_api_client/v1/models/usage_attribution_body.rb +1 -1
  92. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +2 -0
  93. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +2 -0
  94. data/lib/datadog_api_client/v1/models/usage_lambda_hour.rb +1 -1
  95. data/lib/datadog_api_client/v1/models/usage_lambda_response.rb +1 -1
  96. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +81 -1
  97. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +83 -3
  98. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +182 -102
  99. data/lib/datadog_api_client/v2/api/api_management_api.rb +319 -0
  100. data/lib/datadog_api_client/v2/api/case_management_api.rb +942 -0
  101. data/lib/datadog_api_client/v2/api/ci_visibility_tests_api.rb +2 -2
  102. data/lib/datadog_api_client/v2/api/cloud_workload_security_api.rb +392 -0
  103. data/lib/datadog_api_client/v2/api/incident_services_api.rb +15 -0
  104. data/lib/datadog_api_client/v2/api/logs_custom_destinations_api.rb +355 -0
  105. data/lib/datadog_api_client/v2/api/metrics_api.rb +69 -1
  106. data/lib/datadog_api_client/v2/api/organizations_api.rb +1 -1
  107. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +329 -0
  108. data/lib/datadog_api_client/v2/api/service_definition_api.rb +2 -1
  109. data/lib/datadog_api_client/v2/api/teams_api.rb +22 -0
  110. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +6 -6
  111. data/lib/datadog_api_client/v2/models/case.rb +150 -0
  112. data/lib/datadog_api_client/v2/models/case3rd_party_ticket_status.rb +28 -0
  113. data/lib/datadog_api_client/v2/models/case_assign.rb +119 -0
  114. data/lib/datadog_api_client/v2/models/case_assign_attributes.rb +98 -0
  115. data/lib/datadog_api_client/v2/models/case_assign_request.rb +98 -0
  116. data/lib/datadog_api_client/v2/models/case_attributes.rb +202 -0
  117. data/lib/datadog_api_client/v2/models/case_create.rb +129 -0
  118. data/lib/datadog_api_client/v2/models/case_create_attributes.rb +139 -0
  119. data/lib/datadog_api_client/v2/models/case_create_relationships.rb +116 -0
  120. data/lib/datadog_api_client/v2/models/case_create_request.rb +98 -0
  121. data/lib/datadog_api_client/v2/models/case_empty.rb +98 -0
  122. data/lib/datadog_api_client/v2/models/case_empty_request.rb +98 -0
  123. data/lib/datadog_api_client/v2/models/case_priority.rb +31 -0
  124. data/lib/datadog_api_client/v2/models/case_relationships.rb +120 -0
  125. data/lib/datadog_api_client/v2/models/case_resource_type.rb +26 -0
  126. data/lib/datadog_api_client/v2/models/case_response.rb +80 -0
  127. data/lib/datadog_api_client/v2/models/case_sortable_field.rb +28 -0
  128. data/lib/datadog_api_client/v2/models/case_status.rb +28 -0
  129. data/lib/datadog_api_client/v2/models/case_type.rb +26 -0
  130. data/lib/datadog_api_client/v2/models/case_update_priority.rb +119 -0
  131. data/lib/datadog_api_client/v2/models/case_update_priority_attributes.rb +98 -0
  132. data/lib/datadog_api_client/v2/models/case_update_priority_request.rb +98 -0
  133. data/lib/datadog_api_client/v2/models/case_update_status.rb +119 -0
  134. data/lib/datadog_api_client/v2/models/case_update_status_attributes.rb +98 -0
  135. data/lib/datadog_api_client/v2/models/case_update_status_request.rb +98 -0
  136. data/lib/datadog_api_client/v2/models/cases_response.rb +92 -0
  137. data/lib/datadog_api_client/v2/models/cases_response_meta.rb +80 -0
  138. data/lib/datadog_api_client/v2/models/cases_response_meta_pagination.rb +100 -0
  139. data/lib/datadog_api_client/v2/models/ci_app_aggregate_sort.rb +1 -1
  140. data/lib/datadog_api_client/v2/models/ci_app_pipelines_group_by.rb +1 -1
  141. data/lib/datadog_api_client/v2/models/ci_app_tests_group_by.rb +1 -1
  142. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action.rb +90 -0
  143. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +21 -1
  144. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_kill.rb +80 -0
  145. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_data.rb +11 -1
  146. data/lib/datadog_api_client/v2/models/create_open_api_response.rb +80 -0
  147. data/lib/datadog_api_client/v2/models/create_open_api_response_attributes.rb +82 -0
  148. data/lib/datadog_api_client/v2/models/create_open_api_response_data.rb +90 -0
  149. data/lib/datadog_api_client/v2/models/custom_destination_attribute_tags_restriction_list_type.rb +31 -0
  150. data/lib/datadog_api_client/v2/models/custom_destination_create_request.rb +80 -0
  151. data/lib/datadog_api_client/v2/models/custom_destination_create_request_attributes.rb +193 -0
  152. data/lib/datadog_api_client/v2/models/custom_destination_create_request_definition.rb +119 -0
  153. data/lib/datadog_api_client/v2/models/custom_destination_elasticsearch_destination_auth.rb +119 -0
  154. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination.rb +64 -0
  155. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_elasticsearch.rb +181 -0
  156. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_elasticsearch_type.rb +26 -0
  157. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_http.rb +141 -0
  158. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_http_type.rb +26 -0
  159. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_splunk.rb +141 -0
  160. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_splunk_type.rb +26 -0
  161. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth.rb +63 -0
  162. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth_basic.rb +140 -0
  163. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth_basic_type.rb +26 -0
  164. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth_custom_header.rb +140 -0
  165. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth_custom_header_type.rb +26 -0
  166. data/lib/datadog_api_client/v2/models/custom_destination_response.rb +80 -0
  167. data/lib/datadog_api_client/v2/models/custom_destination_response_attributes.rb +171 -0
  168. data/lib/datadog_api_client/v2/models/custom_destination_response_definition.rb +100 -0
  169. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination.rb +64 -0
  170. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_elasticsearch.rb +181 -0
  171. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_elasticsearch_type.rb +26 -0
  172. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_http.rb +141 -0
  173. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_http_type.rb +26 -0
  174. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_splunk.rb +120 -0
  175. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_splunk_type.rb +26 -0
  176. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth.rb +63 -0
  177. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth_basic.rb +98 -0
  178. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth_basic_type.rb +26 -0
  179. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth_custom_header.rb +119 -0
  180. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth_custom_header_type.rb +26 -0
  181. data/lib/datadog_api_client/v2/models/custom_destination_type.rb +26 -0
  182. data/lib/datadog_api_client/v2/models/custom_destination_update_request.rb +80 -0
  183. data/lib/datadog_api_client/v2/models/custom_destination_update_request_attributes.rb +169 -0
  184. data/lib/datadog_api_client/v2/models/custom_destination_update_request_definition.rb +129 -0
  185. data/lib/datadog_api_client/v2/models/custom_destinations_response.rb +82 -0
  186. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +11 -1
  187. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +31 -20
  188. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +14 -1
  189. data/lib/datadog_api_client/v2/models/jira_issue.rb +90 -0
  190. data/lib/datadog_api_client/v2/models/jira_issue_result.rb +110 -0
  191. data/lib/datadog_api_client/v2/models/logs_archive_integration_gcs.rb +1 -12
  192. data/lib/datadog_api_client/v2/models/metric_asset_attributes.rb +80 -0
  193. data/lib/datadog_api_client/v2/models/metric_asset_dashboard_relationship.rb +90 -0
  194. data/lib/datadog_api_client/v2/models/metric_asset_dashboard_relationships.rb +82 -0
  195. data/lib/datadog_api_client/v2/models/metric_asset_monitor_relationship.rb +90 -0
  196. data/lib/datadog_api_client/v2/models/metric_asset_monitor_relationships.rb +82 -0
  197. data/lib/datadog_api_client/v2/models/metric_asset_notebook_relationship.rb +90 -0
  198. data/lib/datadog_api_client/v2/models/metric_asset_notebook_relationships.rb +82 -0
  199. data/lib/datadog_api_client/v2/models/metric_asset_response_data.rb +129 -0
  200. data/lib/datadog_api_client/v2/models/metric_asset_response_included.rb +65 -0
  201. data/lib/datadog_api_client/v2/models/metric_asset_response_relationships.rb +110 -0
  202. data/lib/datadog_api_client/v2/models/metric_asset_slo_relationship.rb +90 -0
  203. data/lib/datadog_api_client/v2/models/metric_asset_slo_relationships.rb +82 -0
  204. data/lib/datadog_api_client/v2/models/metric_assets_response.rb +92 -0
  205. data/lib/datadog_api_client/v2/models/metric_dashboard_asset.rb +129 -0
  206. data/lib/datadog_api_client/v2/models/metric_dashboard_attributes.rb +112 -0
  207. data/lib/datadog_api_client/v2/models/metric_dashboard_type.rb +26 -0
  208. data/lib/datadog_api_client/v2/models/metric_monitor_asset.rb +129 -0
  209. data/lib/datadog_api_client/v2/models/metric_monitor_type.rb +26 -0
  210. data/lib/datadog_api_client/v2/models/metric_notebook_asset.rb +129 -0
  211. data/lib/datadog_api_client/v2/models/metric_notebook_type.rb +26 -0
  212. data/lib/datadog_api_client/v2/models/metric_payload.rb +1 -1
  213. data/lib/datadog_api_client/v2/models/metric_slo_asset.rb +129 -0
  214. data/lib/datadog_api_client/v2/models/metric_slo_type.rb +26 -0
  215. data/lib/datadog_api_client/v2/models/nullable_user_relationship.rb +88 -0
  216. data/lib/datadog_api_client/v2/models/nullable_user_relationship_data.rb +119 -0
  217. data/lib/datadog_api_client/v2/models/open_api_endpoint.rb +90 -0
  218. data/lib/datadog_api_client/v2/models/open_api_file.rb +80 -0
  219. data/lib/datadog_api_client/v2/models/project.rb +150 -0
  220. data/lib/datadog_api_client/v2/models/project_attributes.rb +90 -0
  221. data/lib/datadog_api_client/v2/models/project_create.rb +119 -0
  222. data/lib/datadog_api_client/v2/models/project_create_attributes.rb +119 -0
  223. data/lib/datadog_api_client/v2/models/project_create_request.rb +98 -0
  224. data/lib/datadog_api_client/v2/models/project_relationship.rb +98 -0
  225. data/lib/datadog_api_client/v2/models/project_relationship_data.rb +119 -0
  226. data/lib/datadog_api_client/v2/models/project_relationships.rb +90 -0
  227. data/lib/datadog_api_client/v2/models/project_resource_type.rb +26 -0
  228. data/lib/datadog_api_client/v2/models/project_response.rb +80 -0
  229. data/lib/datadog_api_client/v2/models/projects_response.rb +82 -0
  230. data/lib/datadog_api_client/v2/models/security_monitoring_suppression.rb +100 -0
  231. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +198 -0
  232. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +181 -0
  233. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_data.rb +119 -0
  234. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_request.rb +98 -0
  235. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_response.rb +80 -0
  236. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_type.rb +26 -0
  237. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +166 -0
  238. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_data.rb +119 -0
  239. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_request.rb +98 -0
  240. data/lib/datadog_api_client/v2/models/security_monitoring_suppressions_response.rb +82 -0
  241. data/lib/datadog_api_client/v2/models/security_monitoring_user.rb +98 -0
  242. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +1 -1
  243. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +1 -1
  244. data/lib/datadog_api_client/v2/models/service_now_ticket.rb +90 -0
  245. data/lib/datadog_api_client/v2/models/service_now_ticket_result.rb +80 -0
  246. data/lib/datadog_api_client/v2/models/update_open_api_response.rb +80 -0
  247. data/lib/datadog_api_client/v2/models/update_open_api_response_attributes.rb +82 -0
  248. data/lib/datadog_api_client/v2/models/update_open_api_response_data.rb +90 -0
  249. data/lib/datadog_api_client/v2/models/user_relationship_data.rb +119 -0
  250. data/lib/datadog_api_client/v2/models/user_resource_type.rb +26 -0
  251. data/lib/datadog_api_client/v2/models/user_team_included.rb +62 -0
  252. data/lib/datadog_api_client/v2/models/user_team_response.rb +16 -4
  253. data/lib/datadog_api_client/v2/models/users_relationship.rb +100 -0
  254. data/lib/datadog_api_client/version.rb +1 -1
  255. metadata +179 -3
  256. data/examples/v1/usage-metering/GetUsageLambda_3132428705.rb +0 -8
@@ -0,0 +1,319 @@
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 APIManagementAPI
20
+ attr_accessor :api_client
21
+
22
+ def initialize(api_client = DatadogAPIClient::APIClient.default)
23
+ @api_client = api_client
24
+ end
25
+
26
+ # Create a new API.
27
+ #
28
+ # @see #create_open_api_with_http_info
29
+ def create_open_api(opts = {})
30
+ data, _status_code, _headers = create_open_api_with_http_info(opts)
31
+ data
32
+ end
33
+
34
+ # Create a new API.
35
+ #
36
+ # Create a new API from the [OpenAPI](https://spec.openapis.org/oas/latest.html) specification given.
37
+ # It supports version `2.0`, `3.0` and `3.1` of the specification. A specific extension section, `x-datadog`,
38
+ # let you specify the `teamHandle` for your team responsible for the API in Datadog.
39
+ # It returns the created API ID.
40
+ #
41
+ #
42
+ # @param opts [Hash] the optional parameters
43
+ # @option opts [File] :openapi_spec_file Binary `OpenAPI` spec file
44
+ # @return [Array<(CreateOpenAPIResponse, Integer, Hash)>] CreateOpenAPIResponse data, response status code and response headers
45
+ def create_open_api_with_http_info(opts = {})
46
+ unstable_enabled = @api_client.config.unstable_operations["v2.create_open_api".to_sym]
47
+ if unstable_enabled
48
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.create_open_api")
49
+ else
50
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.create_open_api"))
51
+ end
52
+
53
+ if @api_client.config.debugging
54
+ @api_client.config.logger.debug 'Calling API: APIManagementAPI.create_open_api ...'
55
+ end
56
+ # resource path
57
+ local_var_path = '/api/v2/apicatalog/openapi'
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(['multipart/form-data'])
68
+
69
+ # form parameters
70
+ form_params = opts[:form_params] || {}
71
+ form_params['openapi_spec_file'] = opts[:'openapi_spec_file'] if !opts[:'openapi_spec_file'].nil?
72
+
73
+ # http body (model)
74
+ post_body = opts[:debug_body]
75
+
76
+ # return_type
77
+ return_type = opts[:debug_return_type] || 'CreateOpenAPIResponse'
78
+
79
+ # auth_names
80
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
81
+
82
+ new_options = opts.merge(
83
+ :operation => :create_open_api,
84
+ :header_params => header_params,
85
+ :query_params => query_params,
86
+ :form_params => form_params,
87
+ :body => post_body,
88
+ :auth_names => auth_names,
89
+ :return_type => return_type,
90
+ :api_version => "V2"
91
+ )
92
+
93
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
94
+ if @api_client.config.debugging
95
+ @api_client.config.logger.debug "API called: APIManagementAPI#create_open_api\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
96
+ end
97
+ return data, status_code, headers
98
+ end
99
+
100
+ # Delete an API.
101
+ #
102
+ # @see #delete_open_api_with_http_info
103
+ def delete_open_api(id, opts = {})
104
+ delete_open_api_with_http_info(id, opts)
105
+ nil
106
+ end
107
+
108
+ # Delete an API.
109
+ #
110
+ # Delete a specific API by ID.
111
+ #
112
+ # @param id [UUID] ID of the API to delete
113
+ # @param opts [Hash] the optional parameters
114
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
115
+ def delete_open_api_with_http_info(id, opts = {})
116
+ unstable_enabled = @api_client.config.unstable_operations["v2.delete_open_api".to_sym]
117
+ if unstable_enabled
118
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.delete_open_api")
119
+ else
120
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.delete_open_api"))
121
+ end
122
+
123
+ if @api_client.config.debugging
124
+ @api_client.config.logger.debug 'Calling API: APIManagementAPI.delete_open_api ...'
125
+ end
126
+ # verify the required parameter 'id' is set
127
+ if @api_client.config.client_side_validation && id.nil?
128
+ fail ArgumentError, "Missing the required parameter 'id' when calling APIManagementAPI.delete_open_api"
129
+ end
130
+ # resource path
131
+ local_var_path = '/api/v2/apicatalog/api/{id}'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
132
+
133
+ # query parameters
134
+ query_params = opts[:query_params] || {}
135
+
136
+ # header parameters
137
+ header_params = opts[:header_params] || {}
138
+ # HTTP header 'Accept' (if needed)
139
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
140
+
141
+ # form parameters
142
+ form_params = opts[:form_params] || {}
143
+
144
+ # http body (model)
145
+ post_body = opts[:debug_body]
146
+
147
+ # return_type
148
+ return_type = opts[:debug_return_type]
149
+
150
+ # auth_names
151
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
152
+
153
+ new_options = opts.merge(
154
+ :operation => :delete_open_api,
155
+ :header_params => header_params,
156
+ :query_params => query_params,
157
+ :form_params => form_params,
158
+ :body => post_body,
159
+ :auth_names => auth_names,
160
+ :return_type => return_type,
161
+ :api_version => "V2"
162
+ )
163
+
164
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Delete, local_var_path, new_options)
165
+ if @api_client.config.debugging
166
+ @api_client.config.logger.debug "API called: APIManagementAPI#delete_open_api\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
167
+ end
168
+ return data, status_code, headers
169
+ end
170
+
171
+ # Get an API.
172
+ #
173
+ # @see #get_open_api_with_http_info
174
+ def get_open_api(id, opts = {})
175
+ data, _status_code, _headers = get_open_api_with_http_info(id, opts)
176
+ data
177
+ end
178
+
179
+ # Get an API.
180
+ #
181
+ # Retrieve information about a specific API in [OpenAPI](https://spec.openapis.org/oas/latest.html) format file.
182
+ #
183
+ # @param id [UUID] ID of the API to retrieve
184
+ # @param opts [Hash] the optional parameters
185
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
186
+ def get_open_api_with_http_info(id, opts = {})
187
+ unstable_enabled = @api_client.config.unstable_operations["v2.get_open_api".to_sym]
188
+ if unstable_enabled
189
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_open_api")
190
+ else
191
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_open_api"))
192
+ end
193
+
194
+ if @api_client.config.debugging
195
+ @api_client.config.logger.debug 'Calling API: APIManagementAPI.get_open_api ...'
196
+ end
197
+ # verify the required parameter 'id' is set
198
+ if @api_client.config.client_side_validation && id.nil?
199
+ fail ArgumentError, "Missing the required parameter 'id' when calling APIManagementAPI.get_open_api"
200
+ end
201
+ # resource path
202
+ local_var_path = '/api/v2/apicatalog/api/{id}/openapi'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
203
+
204
+ # query parameters
205
+ query_params = opts[:query_params] || {}
206
+
207
+ # header parameters
208
+ header_params = opts[:header_params] || {}
209
+ # HTTP header 'Accept' (if needed)
210
+ header_params['Accept'] = @api_client.select_header_accept(['multipart/form-data', 'application/json'])
211
+
212
+ # form parameters
213
+ form_params = opts[:form_params] || {}
214
+
215
+ # http body (model)
216
+ post_body = opts[:debug_body]
217
+
218
+ # return_type
219
+ return_type = opts[:debug_return_type] || 'File'
220
+
221
+ # auth_names
222
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
223
+
224
+ new_options = opts.merge(
225
+ :operation => :get_open_api,
226
+ :header_params => header_params,
227
+ :query_params => query_params,
228
+ :form_params => form_params,
229
+ :body => post_body,
230
+ :auth_names => auth_names,
231
+ :return_type => return_type,
232
+ :api_version => "V2"
233
+ )
234
+
235
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
236
+ if @api_client.config.debugging
237
+ @api_client.config.logger.debug "API called: APIManagementAPI#get_open_api\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
238
+ end
239
+ return data, status_code, headers
240
+ end
241
+
242
+ # Update an API.
243
+ #
244
+ # @see #update_open_api_with_http_info
245
+ def update_open_api(id, opts = {})
246
+ data, _status_code, _headers = update_open_api_with_http_info(id, opts)
247
+ data
248
+ end
249
+
250
+ # Update an API.
251
+ #
252
+ # Update information about a specific API. The given content will replace all API content of the given ID.
253
+ # The ID is returned by the create API, or can be found in the URL in the API catalog UI.
254
+ #
255
+ #
256
+ # @param id [UUID] ID of the API to modify
257
+ # @param opts [Hash] the optional parameters
258
+ # @option opts [File] :openapi_spec_file Binary `OpenAPI` spec file
259
+ # @return [Array<(UpdateOpenAPIResponse, Integer, Hash)>] UpdateOpenAPIResponse data, response status code and response headers
260
+ def update_open_api_with_http_info(id, opts = {})
261
+ unstable_enabled = @api_client.config.unstable_operations["v2.update_open_api".to_sym]
262
+ if unstable_enabled
263
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.update_open_api")
264
+ else
265
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.update_open_api"))
266
+ end
267
+
268
+ if @api_client.config.debugging
269
+ @api_client.config.logger.debug 'Calling API: APIManagementAPI.update_open_api ...'
270
+ end
271
+ # verify the required parameter 'id' is set
272
+ if @api_client.config.client_side_validation && id.nil?
273
+ fail ArgumentError, "Missing the required parameter 'id' when calling APIManagementAPI.update_open_api"
274
+ end
275
+ # resource path
276
+ local_var_path = '/api/v2/apicatalog/api/{id}/openapi'.sub('{id}', CGI.escape(id.to_s).gsub('%2F', '/'))
277
+
278
+ # query parameters
279
+ query_params = opts[:query_params] || {}
280
+
281
+ # header parameters
282
+ header_params = opts[:header_params] || {}
283
+ # HTTP header 'Accept' (if needed)
284
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
285
+ # HTTP header 'Content-Type'
286
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
287
+
288
+ # form parameters
289
+ form_params = opts[:form_params] || {}
290
+ form_params['openapi_spec_file'] = opts[:'openapi_spec_file'] if !opts[:'openapi_spec_file'].nil?
291
+
292
+ # http body (model)
293
+ post_body = opts[:debug_body]
294
+
295
+ # return_type
296
+ return_type = opts[:debug_return_type] || 'UpdateOpenAPIResponse'
297
+
298
+ # auth_names
299
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
300
+
301
+ new_options = opts.merge(
302
+ :operation => :update_open_api,
303
+ :header_params => header_params,
304
+ :query_params => query_params,
305
+ :form_params => form_params,
306
+ :body => post_body,
307
+ :auth_names => auth_names,
308
+ :return_type => return_type,
309
+ :api_version => "V2"
310
+ )
311
+
312
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Put, local_var_path, new_options)
313
+ if @api_client.config.debugging
314
+ @api_client.config.logger.debug "API called: APIManagementAPI#update_open_api\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
315
+ end
316
+ return data, status_code, headers
317
+ end
318
+ end
319
+ end