fastly 17.1.0 → 18.0.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 (350) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +60 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +73 -2
  5. data/docs/AiRuntimeControlProviderConnectionsApi.md +210 -0
  6. data/docs/AiRuntimeControlProvidersApi.md +121 -0
  7. data/docs/AiRuntimeControlResponseBodyEnable.md +12 -0
  8. data/docs/AiRuntimeControlResponseCustomer.md +10 -0
  9. data/docs/AiRuntimeControlResponseLinks.md +10 -0
  10. data/docs/AiRuntimeControlResponseLinksLinks.md +10 -0
  11. data/docs/AiRuntimeControlResponseProduct.md +10 -0
  12. data/docs/AiRuntimeControlResponseProductProduct.md +11 -0
  13. data/docs/AiRuntimeControlSessionsApi.md +69 -0
  14. data/docs/AiRuntimeControlUsageMetricsApi.md +113 -0
  15. data/docs/AiRuntimeControlVirtualKeysApi.md +334 -0
  16. data/docs/ArcBedrockSetupResponse.md +11 -0
  17. data/docs/ArcCreateVirtualKeyResponse.md +19 -0
  18. data/docs/ArcError.md +12 -0
  19. data/docs/ArcFailoverTarget.md +10 -0
  20. data/docs/ArcGetProviderConnectionResponse.md +19 -0
  21. data/docs/ArcGetProviderConnectionResponseExtra.md +10 -0
  22. data/docs/ArcModel.md +12 -0
  23. data/docs/ArcModelsMeta.md +10 -0
  24. data/docs/ArcModelsResponse.md +11 -0
  25. data/docs/ArcProvider.md +13 -0
  26. data/docs/ArcProviderConnectionApiKey.md +14 -0
  27. data/docs/ArcProviderConnectionAwsIam.md +14 -0
  28. data/docs/ArcProviderConnectionListItemResponse.md +19 -0
  29. data/docs/ArcProviderConnectionListItemResponseExtra.md +10 -0
  30. data/docs/ArcProviderConnectionRequest.md +49 -0
  31. data/docs/ArcProviderConnectionResponse.md +18 -0
  32. data/docs/ArcProviderConnectionsMeta.md +11 -0
  33. data/docs/ArcProviderConnectionsResponse.md +11 -0
  34. data/docs/ArcProvidersMeta.md +10 -0
  35. data/docs/ArcProvidersResponse.md +11 -0
  36. data/docs/ArcRotateVirtualKeyRequest.md +10 -0
  37. data/docs/ArcRotateVirtualKeyResponse.md +17 -0
  38. data/docs/ArcSession.md +28 -0
  39. data/docs/ArcSessionLogEntry.md +12 -0
  40. data/docs/ArcSessionsMeta.md +14 -0
  41. data/docs/ArcSessionsResponse.md +11 -0
  42. data/docs/ArcUpdateProviderConnectionRequest.md +14 -0
  43. data/docs/ArcUpdateVirtualKeyRequest.md +16 -0
  44. data/docs/ArcUpdateVirtualKeyResponse.md +20 -0
  45. data/docs/ArcUsageMetric.md +18 -0
  46. data/docs/ArcUsageMetricsMeta.md +11 -0
  47. data/docs/ArcUsageMetricsResponse.md +11 -0
  48. data/docs/ArcVirtualKey.md +15 -0
  49. data/docs/ArcVirtualKeyFailoverRequest.md +13 -0
  50. data/docs/ArcVirtualKeyFailoverResponse.md +13 -0
  51. data/docs/ArcVirtualKeyListItemResponse.md +26 -0
  52. data/docs/ArcVirtualKeyListItemResponseExtra.md +20 -0
  53. data/docs/ArcVirtualKeyResponse.md +25 -0
  54. data/docs/ArcVirtualKeyResponseExtra.md +19 -0
  55. data/docs/ArcVirtualKeysMeta.md +14 -0
  56. data/docs/ArcVirtualKeysResponse.md +11 -0
  57. data/docs/AutomationToken.md +6 -2
  58. data/docs/AutomationTokenCreateRequest.md +10 -1
  59. data/docs/AutomationTokenCreateResponse.md +6 -2
  60. data/docs/AutomationTokenResponse.md +5 -1
  61. data/docs/AutomationTokenRole.md +11 -0
  62. data/docs/AutomationTokenUnversionedError.md +11 -0
  63. data/docs/AutomationTokenUnversionedErrorResponse.md +10 -0
  64. data/docs/AutomationTokenWorkspace.md +11 -0
  65. data/docs/AutomationTokenWorkspacesMeta.md +12 -0
  66. data/docs/AutomationTokenWorkspacesResponse.md +12 -0
  67. data/docs/AutomationTokensApi.md +43 -1
  68. data/docs/BotManagementAction.md +10 -0
  69. data/docs/BotManagementApi.md +433 -0
  70. data/docs/BotManagementBot.md +10 -0
  71. data/docs/BotManagementBotAction.md +10 -0
  72. data/docs/BotManagementBotResponse.md +12 -0
  73. data/docs/BotManagementBotResponseExtra.md +11 -0
  74. data/docs/BotManagementBotsResponse.md +11 -0
  75. data/docs/BotManagementCategoriesResponse.md +11 -0
  76. data/docs/BotManagementCategory.md +10 -0
  77. data/docs/BotManagementCategoryResponse.md +13 -0
  78. data/docs/BotManagementCategoryResponseExtra.md +12 -0
  79. data/docs/BotManagementError.md +12 -0
  80. data/docs/BotManagementInvalidRequestError.md +12 -0
  81. data/docs/BotManagementInvalidRequestErrorExtra.md +12 -0
  82. data/docs/BotManagementMeta.md +12 -0
  83. data/docs/BotManagementNotAllowedError.md +12 -0
  84. data/docs/BotManagementNotAllowedErrorExtra.md +11 -0
  85. data/docs/BotManagementNotAuthenticatedError.md +12 -0
  86. data/docs/BotManagementNotAuthenticatedErrorExtra.md +11 -0
  87. data/docs/BotManagementNotFoundError.md +12 -0
  88. data/docs/BotManagementNotFoundErrorExtra.md +11 -0
  89. data/docs/BotManagementProtectionMode.md +9 -0
  90. data/docs/BotManagementRateLimitError.md +12 -0
  91. data/docs/BotManagementRateLimitErrorExtra.md +11 -0
  92. data/docs/BotManagementWorkspace.md +12 -0
  93. data/docs/BotManagementWorkspaceBotResponse.md +13 -0
  94. data/docs/BotManagementWorkspaceBotResponseExtra.md +10 -0
  95. data/docs/BotManagementWorkspaceBotsResponse.md +11 -0
  96. data/docs/BotManagementWorkspaceResponse.md +16 -0
  97. data/docs/BotManagementWorkspaceResponseExtra.md +13 -0
  98. data/docs/BotManagementWorkspacesResponse.md +11 -0
  99. data/docs/BotRequestMetricsDataItem.md +16 -0
  100. data/docs/BotRequestMetricsMetadata.md +14 -0
  101. data/docs/BotRequestMetricsResponse.md +11 -0
  102. data/docs/BotRequestsMetricsApi.md +77 -0
  103. data/docs/BulkUpdateDictionaryItem.md +1 -1
  104. data/docs/DdosProtectionRule.md +1 -1
  105. data/docs/DdosProtectionRuleAllOf.md +1 -1
  106. data/docs/DdosProtectionRulePatch.md +1 -1
  107. data/docs/DdosProtectionRuleWithStats.md +1 -1
  108. data/docs/DictionaryItem.md +1 -1
  109. data/docs/DictionaryItemApi.md +14 -14
  110. data/docs/DictionaryItemResponse.md +1 -1
  111. data/docs/DomainInspectorMeasurements.md +1 -0
  112. data/docs/LoggingDatadogAdditional.md +1 -1
  113. data/docs/LoggingDatadogApi.md +2 -2
  114. data/docs/LoggingDatadogResponse.md +1 -1
  115. data/docs/MetricsPlatformApi.md +69 -13
  116. data/docs/NetworkProtectApi.md +789 -0
  117. data/docs/NetworkProtectConflict.md +13 -0
  118. data/docs/NetworkProtectConflictError.md +11 -0
  119. data/docs/NetworkProtectEndpoint.md +11 -0
  120. data/docs/NetworkProtectEndpointCreate.md +11 -0
  121. data/docs/NetworkProtectEndpointPolicy.md +11 -0
  122. data/docs/NetworkProtectEndpointResponse.md +14 -0
  123. data/docs/NetworkProtectEndpointResponseFields.md +12 -0
  124. data/docs/NetworkProtectEndpointUpdate.md +10 -0
  125. data/docs/NetworkProtectEndpointsResponse.md +11 -0
  126. data/docs/NetworkProtectErrorDetail.md +11 -0
  127. data/docs/NetworkProtectInvalidRequest.md +13 -0
  128. data/docs/NetworkProtectListMeta.md +11 -0
  129. data/docs/NetworkProtectLoaStatus.md +9 -0
  130. data/docs/NetworkProtectNetwork.md +15 -0
  131. data/docs/NetworkProtectNetworkCreate.md +14 -0
  132. data/docs/NetworkProtectNetworkResponse.md +22 -0
  133. data/docs/NetworkProtectNetworkResponseFields.md +16 -0
  134. data/docs/NetworkProtectNetworkUpdate.md +14 -0
  135. data/docs/NetworkProtectNetworksResponse.md +11 -0
  136. data/docs/NetworkProtectPolicyEndpoint.md +13 -0
  137. data/docs/NetworkProtectPrefixList.md +12 -0
  138. data/docs/NetworkProtectPrefixListCreate.md +12 -0
  139. data/docs/NetworkProtectPrefixListFamily.md +9 -0
  140. data/docs/NetworkProtectPrefixListResponse.md +15 -0
  141. data/docs/NetworkProtectPrefixListResponseFields.md +12 -0
  142. data/docs/NetworkProtectPrefixListUpdate.md +11 -0
  143. data/docs/NetworkProtectPrefixListsResponse.md +11 -0
  144. data/docs/NetworkProtectRegion.md +9 -0
  145. data/docs/NetworkProtectRoaStatus.md +9 -0
  146. data/docs/NetworkProtectRule.md +16 -0
  147. data/docs/NetworkProtectRuleAction.md +9 -0
  148. data/docs/NetworkProtectRuleDestinationPorts.md +9 -0
  149. data/docs/NetworkProtectRuleIpProtocol.md +9 -0
  150. data/docs/NetworkProtectRuleMatchDestinationIp.md +10 -0
  151. data/docs/NetworkProtectRuleMatchDestinationPorts.md +10 -0
  152. data/docs/NetworkProtectRuleMatchIpProtocol.md +10 -0
  153. data/docs/NetworkProtectRuleMatchSourcePorts.md +10 -0
  154. data/docs/NetworkProtectRuleMatchSourcePrefixList.md +10 -0
  155. data/docs/NetworkProtectRuleResponse.md +16 -0
  156. data/docs/NetworkProtectRuleSet.md +11 -0
  157. data/docs/NetworkProtectRuleSetCreate.md +11 -0
  158. data/docs/NetworkProtectRuleSetDefaultAction.md +9 -0
  159. data/docs/NetworkProtectRuleSetResponse.md +14 -0
  160. data/docs/NetworkProtectRuleSetResponseFields.md +12 -0
  161. data/docs/NetworkProtectRuleSetUpdate.md +11 -0
  162. data/docs/NetworkProtectRuleSetsResponse.md +11 -0
  163. data/docs/NetworkProtectRuleSourcePorts.md +9 -0
  164. data/docs/NetworkProtectRuleTimestamps.md +11 -0
  165. data/docs/PlatformValues.md +359 -16
  166. data/docs/ProductAiRuntimeControlApi.md +115 -0
  167. data/docs/PurgeApi.md +6 -0
  168. data/docs/RealtimeEntryAggregated.md +31 -0
  169. data/docs/RealtimeEntryDatacenter.md +31 -0
  170. data/docs/RealtimeMeasurements.md +31 -0
  171. data/docs/Results.md +31 -0
  172. data/docs/Values.md +1 -0
  173. data/lib/fastly/api/ai_runtime_control_provider_connections_api.rb +355 -0
  174. data/lib/fastly/api/ai_runtime_control_providers_api.rb +195 -0
  175. data/lib/fastly/api/ai_runtime_control_sessions_api.rb +112 -0
  176. data/lib/fastly/api/ai_runtime_control_usage_metrics_api.rb +176 -0
  177. data/lib/fastly/api/ai_runtime_control_virtual_keys_api.rb +580 -0
  178. data/lib/fastly/api/automation_tokens_api.rb +78 -1
  179. data/lib/fastly/api/bot_management_api.rb +787 -0
  180. data/lib/fastly/api/bot_requests_metrics_api.rb +137 -0
  181. data/lib/fastly/api/dictionary_item_api.rb +14 -14
  182. data/lib/fastly/api/logging_datadog_api.rb +4 -4
  183. data/lib/fastly/api/metrics_platform_api.rb +130 -23
  184. data/lib/fastly/api/network_protect_api.rb +1420 -0
  185. data/lib/fastly/api/product_ai_runtime_control_api.rb +186 -0
  186. data/lib/fastly/api/purge_api.rb +21 -0
  187. data/lib/fastly/configuration.rb +331 -1
  188. data/lib/fastly/models/ai_runtime_control_response_body_enable.rb +243 -0
  189. data/lib/fastly/models/ai_runtime_control_response_customer.rb +216 -0
  190. data/lib/fastly/models/ai_runtime_control_response_links.rb +216 -0
  191. data/lib/fastly/models/ai_runtime_control_response_links_links.rb +217 -0
  192. data/lib/fastly/models/ai_runtime_control_response_product.rb +216 -0
  193. data/lib/fastly/models/ai_runtime_control_response_product_product.rb +227 -0
  194. data/lib/fastly/models/arc_bedrock_setup_response.rb +237 -0
  195. data/lib/fastly/models/arc_create_virtual_key_response.rb +346 -0
  196. data/lib/fastly/models/arc_error.rb +238 -0
  197. data/lib/fastly/models/arc_failover_target.rb +223 -0
  198. data/lib/fastly/models/arc_get_provider_connection_response.rb +393 -0
  199. data/lib/fastly/models/arc_get_provider_connection_response_extra.rb +224 -0
  200. data/lib/fastly/models/arc_model.rb +253 -0
  201. data/lib/fastly/models/arc_models_meta.rb +217 -0
  202. data/lib/fastly/models/arc_models_response.rb +238 -0
  203. data/lib/fastly/models/arc_provider.rb +270 -0
  204. data/lib/fastly/models/arc_provider_connection_api_key.rb +335 -0
  205. data/lib/fastly/models/arc_provider_connection_aws_iam.rb +350 -0
  206. data/lib/fastly/models/arc_provider_connection_list_item_response.rb +386 -0
  207. data/lib/fastly/models/arc_provider_connection_list_item_response_extra.rb +217 -0
  208. data/lib/fastly/models/arc_provider_connection_request.rb +103 -0
  209. data/lib/fastly/models/arc_provider_connection_response.rb +369 -0
  210. data/lib/fastly/models/arc_provider_connections_meta.rb +228 -0
  211. data/lib/fastly/models/arc_provider_connections_response.rb +238 -0
  212. data/lib/fastly/models/arc_providers_meta.rb +217 -0
  213. data/lib/fastly/models/arc_providers_response.rb +238 -0
  214. data/lib/fastly/models/arc_rotate_virtual_key_request.rb +218 -0
  215. data/lib/fastly/models/arc_rotate_virtual_key_response.rb +324 -0
  216. data/lib/fastly/models/arc_session.rb +465 -0
  217. data/lib/fastly/models/arc_session_log_entry.rb +240 -0
  218. data/lib/fastly/models/arc_sessions_meta.rb +260 -0
  219. data/lib/fastly/models/arc_sessions_response.rb +238 -0
  220. data/lib/fastly/models/arc_update_provider_connection_request.rb +275 -0
  221. data/lib/fastly/models/arc_update_virtual_key_request.rb +345 -0
  222. data/lib/fastly/models/arc_update_virtual_key_response.rb +352 -0
  223. data/lib/fastly/models/arc_usage_metric.rb +347 -0
  224. data/lib/fastly/models/arc_usage_metrics_meta.rb +228 -0
  225. data/lib/fastly/models/arc_usage_metrics_response.rb +238 -0
  226. data/lib/fastly/models/arc_virtual_key.rb +342 -0
  227. data/lib/fastly/models/arc_virtual_key_failover_request.rb +255 -0
  228. data/lib/fastly/models/arc_virtual_key_failover_response.rb +270 -0
  229. data/lib/fastly/models/arc_virtual_key_list_item_response.rb +492 -0
  230. data/lib/fastly/models/arc_virtual_key_list_item_response_extra.rb +350 -0
  231. data/lib/fastly/models/arc_virtual_key_response.rb +477 -0
  232. data/lib/fastly/models/arc_virtual_key_response_extra.rb +335 -0
  233. data/lib/fastly/models/arc_virtual_keys_meta.rb +260 -0
  234. data/lib/fastly/models/arc_virtual_keys_response.rb +238 -0
  235. data/lib/fastly/models/automation_token.rb +49 -5
  236. data/lib/fastly/models/automation_token_create_request.rb +161 -7
  237. data/lib/fastly/models/automation_token_create_response.rb +49 -5
  238. data/lib/fastly/models/automation_token_error_response.rb +1 -0
  239. data/lib/fastly/models/automation_token_response.rb +46 -2
  240. data/lib/fastly/models/automation_token_role.rb +227 -0
  241. data/lib/fastly/models/automation_token_unversioned_error.rb +225 -0
  242. data/lib/fastly/models/automation_token_unversioned_error_response.rb +219 -0
  243. data/lib/fastly/models/automation_token_workspace.rb +237 -0
  244. data/lib/fastly/models/automation_token_workspaces_meta.rb +242 -0
  245. data/lib/fastly/models/automation_token_workspaces_response.rb +253 -0
  246. data/lib/fastly/models/bot_management_action.rb +257 -0
  247. data/lib/fastly/models/bot_management_bot.rb +222 -0
  248. data/lib/fastly/models/bot_management_bot_action.rb +257 -0
  249. data/lib/fastly/models/bot_management_bot_response.rb +259 -0
  250. data/lib/fastly/models/bot_management_bot_response_extra.rb +237 -0
  251. data/lib/fastly/models/bot_management_bots_response.rb +238 -0
  252. data/lib/fastly/models/bot_management_categories_response.rb +238 -0
  253. data/lib/fastly/models/bot_management_category.rb +222 -0
  254. data/lib/fastly/models/bot_management_category_response.rb +269 -0
  255. data/lib/fastly/models/bot_management_category_response_extra.rb +247 -0
  256. data/lib/fastly/models/bot_management_error.rb +248 -0
  257. data/lib/fastly/models/bot_management_invalid_request_error.rb +291 -0
  258. data/lib/fastly/models/bot_management_invalid_request_error_extra.rb +283 -0
  259. data/lib/fastly/models/bot_management_meta.rb +239 -0
  260. data/lib/fastly/models/bot_management_not_allowed_error.rb +287 -0
  261. data/lib/fastly/models/bot_management_not_allowed_error_extra.rb +259 -0
  262. data/lib/fastly/models/bot_management_not_authenticated_error.rb +287 -0
  263. data/lib/fastly/models/bot_management_not_authenticated_error_extra.rb +259 -0
  264. data/lib/fastly/models/bot_management_not_found_error.rb +287 -0
  265. data/lib/fastly/models/bot_management_not_found_error_extra.rb +259 -0
  266. data/lib/fastly/models/bot_management_protection_mode.rb +36 -0
  267. data/lib/fastly/models/bot_management_rate_limit_error.rb +287 -0
  268. data/lib/fastly/models/bot_management_rate_limit_error_extra.rb +259 -0
  269. data/lib/fastly/models/bot_management_workspace.rb +276 -0
  270. data/lib/fastly/models/bot_management_workspace_bot_response.rb +275 -0
  271. data/lib/fastly/models/bot_management_workspace_bot_response_extra.rb +222 -0
  272. data/lib/fastly/models/bot_management_workspace_bots_response.rb +238 -0
  273. data/lib/fastly/models/bot_management_workspace_response.rb +354 -0
  274. data/lib/fastly/models/bot_management_workspace_response_extra.rb +264 -0
  275. data/lib/fastly/models/bot_management_workspaces_response.rb +238 -0
  276. data/lib/fastly/models/bot_request_metrics_data_item.rb +278 -0
  277. data/lib/fastly/models/bot_request_metrics_metadata.rb +258 -0
  278. data/lib/fastly/models/bot_request_metrics_response.rb +228 -0
  279. data/lib/fastly/models/bulk_update_dictionary_item.rb +1 -1
  280. data/lib/fastly/models/ddos_protection_request_enable_mode.rb +2 -2
  281. data/lib/fastly/models/ddos_protection_request_update_configuration.rb +2 -2
  282. data/lib/fastly/models/ddos_protection_rule.rb +1 -1
  283. data/lib/fastly/models/ddos_protection_rule_all_of.rb +1 -1
  284. data/lib/fastly/models/ddos_protection_rule_patch.rb +1 -1
  285. data/lib/fastly/models/ddos_protection_rule_with_stats.rb +1 -1
  286. data/lib/fastly/models/dictionary_item.rb +1 -1
  287. data/lib/fastly/models/dictionary_item_response.rb +1 -1
  288. data/lib/fastly/models/domain_inspector_measurements.rb +14 -4
  289. data/lib/fastly/models/event_attributes.rb +2 -2
  290. data/lib/fastly/models/logging_datadog_additional.rb +1 -1
  291. data/lib/fastly/models/logging_datadog_response.rb +1 -1
  292. data/lib/fastly/models/network_protect_conflict.rb +299 -0
  293. data/lib/fastly/models/network_protect_conflict_error.rb +228 -0
  294. data/lib/fastly/models/network_protect_endpoint.rb +266 -0
  295. data/lib/fastly/models/network_protect_endpoint_create.rb +266 -0
  296. data/lib/fastly/models/network_protect_endpoint_policy.rb +255 -0
  297. data/lib/fastly/models/network_protect_endpoint_response.rb +340 -0
  298. data/lib/fastly/models/network_protect_endpoint_response_fields.rb +274 -0
  299. data/lib/fastly/models/network_protect_endpoint_update.rb +251 -0
  300. data/lib/fastly/models/network_protect_endpoints_response.rb +239 -0
  301. data/lib/fastly/models/network_protect_error_detail.rb +238 -0
  302. data/lib/fastly/models/{automation_token_create_request_attributes.rb → network_protect_invalid_request.rb} +63 -75
  303. data/lib/fastly/models/network_protect_list_meta.rb +263 -0
  304. data/lib/fastly/models/network_protect_loa_status.rb +36 -0
  305. data/lib/fastly/models/network_protect_network.rb +363 -0
  306. data/lib/fastly/models/network_protect_network_create.rb +340 -0
  307. data/lib/fastly/models/network_protect_network_response.rb +477 -0
  308. data/lib/fastly/models/network_protect_network_response_fields.rb +314 -0
  309. data/lib/fastly/models/network_protect_network_update.rb +329 -0
  310. data/lib/fastly/models/network_protect_networks_response.rb +239 -0
  311. data/lib/fastly/models/network_protect_policy_endpoint.rb +307 -0
  312. data/lib/fastly/models/network_protect_prefix_list.rb +282 -0
  313. data/lib/fastly/models/network_protect_prefix_list_create.rb +301 -0
  314. data/lib/fastly/models/network_protect_prefix_list_family.rb +35 -0
  315. data/lib/fastly/models/network_protect_prefix_list_response.rb +356 -0
  316. data/lib/fastly/models/network_protect_prefix_list_response_fields.rb +274 -0
  317. data/lib/fastly/models/network_protect_prefix_list_update.rb +269 -0
  318. data/lib/fastly/models/network_protect_prefix_lists_response.rb +239 -0
  319. data/lib/fastly/models/network_protect_region.rb +34 -0
  320. data/lib/fastly/models/network_protect_roa_status.rb +37 -0
  321. data/lib/fastly/models/network_protect_rule.rb +372 -0
  322. data/lib/fastly/models/network_protect_rule_action.rb +35 -0
  323. data/lib/fastly/models/network_protect_rule_destination_ports.rb +208 -0
  324. data/lib/fastly/models/network_protect_rule_ip_protocol.rb +37 -0
  325. data/lib/fastly/models/network_protect_rule_match_destination_ip.rb +223 -0
  326. data/lib/fastly/models/network_protect_rule_match_destination_ports.rb +222 -0
  327. data/lib/fastly/models/network_protect_rule_match_ip_protocol.rb +222 -0
  328. data/lib/fastly/models/network_protect_rule_match_source_ports.rb +222 -0
  329. data/lib/fastly/models/network_protect_rule_match_source_prefix_list.rb +244 -0
  330. data/lib/fastly/models/network_protect_rule_response.rb +329 -0
  331. data/lib/fastly/models/network_protect_rule_set.rb +258 -0
  332. data/lib/fastly/models/network_protect_rule_set_create.rb +249 -0
  333. data/lib/fastly/models/network_protect_rule_set_default_action.rb +35 -0
  334. data/lib/fastly/models/network_protect_rule_set_response.rb +332 -0
  335. data/lib/fastly/models/network_protect_rule_set_response_fields.rb +274 -0
  336. data/lib/fastly/models/network_protect_rule_set_update.rb +244 -0
  337. data/lib/fastly/models/network_protect_rule_sets_response.rb +239 -0
  338. data/lib/fastly/models/network_protect_rule_source_ports.rb +208 -0
  339. data/lib/fastly/models/network_protect_rule_timestamps.rb +228 -0
  340. data/lib/fastly/models/platform_values.rb +3568 -137
  341. data/lib/fastly/models/realtime_entry_aggregated.rb +314 -4
  342. data/lib/fastly/models/realtime_entry_datacenter.rb +314 -4
  343. data/lib/fastly/models/realtime_measurements.rb +314 -4
  344. data/lib/fastly/models/results.rb +311 -1
  345. data/lib/fastly/models/values.rb +14 -4
  346. data/lib/fastly/version.rb +1 -1
  347. data/lib/fastly.rb +143 -1
  348. data/sig.json +1 -1
  349. metadata +288 -4
  350. data/docs/AutomationTokenCreateRequestAttributes.md +0 -15
@@ -0,0 +1,195 @@
1
+ =begin
2
+ #Fastly API
3
+
4
+ #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: oss@fastly.com
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module Fastly
14
+ class AiRuntimeControlProvidersApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Get Bedrock setup information
21
+ # Returns the AI Runtime Control IAM role Amazon Resource Name (ARN) and external ID to reference in your AWS account's IAM trust policy before creating an `aws-iam` [provider connection](https://www.fastly.com/documentation/reference/api/ai-runtime-control/provider-connections#arc-create-provider-connection) to Amazon Bedrock. Requires AWS IAM authentication to be enabled on your account. If it isn't, this endpoint returns a 404 response.
22
+ # @return [ArcBedrockSetupResponse]
23
+ def arc_get_bedrock_setup(opts = {})
24
+ data, _status_code, _headers = arc_get_bedrock_setup_with_http_info(opts)
25
+ data
26
+ end
27
+
28
+ # Get Bedrock setup information
29
+ # Returns the AI Runtime Control IAM role Amazon Resource Name (ARN) and external ID to reference in your AWS account's IAM trust policy before creating an `aws-iam` [provider connection](https://www.fastly.com/documentation/reference/api/ai-runtime-control/provider-connections#arc-create-provider-connection) to Amazon Bedrock. Requires AWS IAM authentication to be enabled on your account. If it isn't, this endpoint returns a 404 response.
30
+ # @return [Array<(ArcBedrockSetupResponse, Integer, Hash)>] ArcBedrockSetupResponse data, response status code and response headers
31
+ def arc_get_bedrock_setup_with_http_info(opts = {})
32
+ if @api_client.config.debugging
33
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlProvidersApi.arc_get_bedrock_setup ...'
34
+ end
35
+ # unbox the parameters from the hash
36
+ # resource path
37
+ local_var_path = '/ai-runtime-control/v1/providers/bedrock/setup'
38
+
39
+ # query parameters
40
+ query_params = opts[:query_params] || {}
41
+
42
+ # header parameters
43
+ header_params = opts[:header_params] || {}
44
+ # HTTP header 'Accept' (if needed)
45
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
46
+
47
+ # form parameters
48
+ form_params = opts[:form_params] || {}
49
+
50
+ # http body (model)
51
+ post_body = opts[:debug_body]
52
+
53
+ # return_type
54
+ return_type = opts[:debug_return_type] || 'ArcBedrockSetupResponse'
55
+
56
+ # auth_names
57
+ auth_names = opts[:debug_auth_names] || ['token']
58
+
59
+ new_options = opts.merge(
60
+ :operation => :"AiRuntimeControlProvidersApi.arc_get_bedrock_setup",
61
+ :header_params => header_params,
62
+ :query_params => query_params,
63
+ :form_params => form_params,
64
+ :body => post_body,
65
+ :auth_names => auth_names,
66
+ :return_type => return_type
67
+ )
68
+
69
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
70
+ if @api_client.config.debugging
71
+ @api_client.config.logger.debug "API called: AiRuntimeControlProvidersApi#arc_get_bedrock_setup\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
72
+ end
73
+ return data, status_code, headers
74
+ end
75
+
76
+ # Get models for a provider
77
+ # Returns the models available for a specific provider.
78
+ # @option opts [String] :provider_id The ID of the provider. (required)
79
+ # @return [ArcModelsResponse]
80
+ def arc_get_models_for_provider(opts = {})
81
+ data, _status_code, _headers = arc_get_models_for_provider_with_http_info(opts)
82
+ data
83
+ end
84
+
85
+ # Get models for a provider
86
+ # Returns the models available for a specific provider.
87
+ # @option opts [String] :provider_id The ID of the provider. (required)
88
+ # @return [Array<(ArcModelsResponse, Integer, Hash)>] ArcModelsResponse data, response status code and response headers
89
+ def arc_get_models_for_provider_with_http_info(opts = {})
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlProvidersApi.arc_get_models_for_provider ...'
92
+ end
93
+ # unbox the parameters from the hash
94
+ provider_id = opts[:'provider_id']
95
+ # verify the required parameter 'provider_id' is set
96
+ if @api_client.config.client_side_validation && provider_id.nil?
97
+ fail ArgumentError, "Missing the required parameter 'provider_id' when calling AiRuntimeControlProvidersApi.arc_get_models_for_provider"
98
+ end
99
+ # resource path
100
+ local_var_path = '/ai-runtime-control/v1/providers/{provider_id}/models'.sub('{' + 'provider_id' + '}', CGI.escape(provider_id.to_s))
101
+
102
+ # query parameters
103
+ query_params = opts[:query_params] || {}
104
+
105
+ # header parameters
106
+ header_params = opts[:header_params] || {}
107
+ # HTTP header 'Accept' (if needed)
108
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
109
+
110
+ # form parameters
111
+ form_params = opts[:form_params] || {}
112
+
113
+ # http body (model)
114
+ post_body = opts[:debug_body]
115
+
116
+ # return_type
117
+ return_type = opts[:debug_return_type] || 'ArcModelsResponse'
118
+
119
+ # auth_names
120
+ auth_names = opts[:debug_auth_names] || ['token']
121
+
122
+ new_options = opts.merge(
123
+ :operation => :"AiRuntimeControlProvidersApi.arc_get_models_for_provider",
124
+ :header_params => header_params,
125
+ :query_params => query_params,
126
+ :form_params => form_params,
127
+ :body => post_body,
128
+ :auth_names => auth_names,
129
+ :return_type => return_type
130
+ )
131
+
132
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
133
+ if @api_client.config.debugging
134
+ @api_client.config.logger.debug "API called: AiRuntimeControlProvidersApi#arc_get_models_for_provider\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
135
+ end
136
+ return data, status_code, headers
137
+ end
138
+
139
+ # Get supported providers
140
+ # Returns the AI providers supported by AI Runtime Control, with each provider's available models nested within.
141
+ # @return [ArcProvidersResponse]
142
+ def arc_get_supported_providers(opts = {})
143
+ data, _status_code, _headers = arc_get_supported_providers_with_http_info(opts)
144
+ data
145
+ end
146
+
147
+ # Get supported providers
148
+ # Returns the AI providers supported by AI Runtime Control, with each provider&#39;s available models nested within.
149
+ # @return [Array<(ArcProvidersResponse, Integer, Hash)>] ArcProvidersResponse data, response status code and response headers
150
+ def arc_get_supported_providers_with_http_info(opts = {})
151
+ if @api_client.config.debugging
152
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlProvidersApi.arc_get_supported_providers ...'
153
+ end
154
+ # unbox the parameters from the hash
155
+ # resource path
156
+ local_var_path = '/ai-runtime-control/v1/providers'
157
+
158
+ # query parameters
159
+ query_params = opts[:query_params] || {}
160
+
161
+ # header parameters
162
+ header_params = opts[:header_params] || {}
163
+ # HTTP header 'Accept' (if needed)
164
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
165
+
166
+ # form parameters
167
+ form_params = opts[:form_params] || {}
168
+
169
+ # http body (model)
170
+ post_body = opts[:debug_body]
171
+
172
+ # return_type
173
+ return_type = opts[:debug_return_type] || 'ArcProvidersResponse'
174
+
175
+ # auth_names
176
+ auth_names = opts[:debug_auth_names] || ['token']
177
+
178
+ new_options = opts.merge(
179
+ :operation => :"AiRuntimeControlProvidersApi.arc_get_supported_providers",
180
+ :header_params => header_params,
181
+ :query_params => query_params,
182
+ :form_params => form_params,
183
+ :body => post_body,
184
+ :auth_names => auth_names,
185
+ :return_type => return_type
186
+ )
187
+
188
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
189
+ if @api_client.config.debugging
190
+ @api_client.config.logger.debug "API called: AiRuntimeControlProvidersApi#arc_get_supported_providers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
191
+ end
192
+ return data, status_code, headers
193
+ end
194
+ end
195
+ end
@@ -0,0 +1,112 @@
1
+ =begin
2
+ #Fastly API
3
+
4
+ #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: oss@fastly.com
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module Fastly
14
+ class AiRuntimeControlSessionsApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Get session logs
21
+ # Returns session logs, including request and response data and metadata, for debugging and audit purposes.
22
+ # @option opts [String] :key Filter results to a specific virtual key ID.
23
+ # @option opts [String] :provider Filter results by AI provider connection ID.
24
+ # @option opts [String] :model Filter results by AI model identifier.
25
+ # @option opts [Time] :from The start of the time range, in RFC 3339 format.
26
+ # @option opts [Time] :to The end of the time range, in RFC 3339 format. Defaults to &#x60;now&#x60;.
27
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results, or the &#x60;prev_cursor&#x60; value to request the previous page.
28
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
29
+ # @option opts [String] :sort Sort field. Prefix with &#x60;-&#x60; for descending order (e.g., &#x60;sort&#x3D;-created_at&#x60;). (default to 'created_at')
30
+ # @return [ArcSessionsResponse]
31
+ def arc_get_session_logs(opts = {})
32
+ data, _status_code, _headers = arc_get_session_logs_with_http_info(opts)
33
+ data
34
+ end
35
+
36
+ # Get session logs
37
+ # Returns session logs, including request and response data and metadata, for debugging and audit purposes.
38
+ # @option opts [String] :key Filter results to a specific virtual key ID.
39
+ # @option opts [String] :provider Filter results by AI provider connection ID.
40
+ # @option opts [String] :model Filter results by AI model identifier.
41
+ # @option opts [Time] :from The start of the time range, in RFC 3339 format.
42
+ # @option opts [Time] :to The end of the time range, in RFC 3339 format. Defaults to &#x60;now&#x60;.
43
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results, or the &#x60;prev_cursor&#x60; value to request the previous page.
44
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
45
+ # @option opts [String] :sort Sort field. Prefix with &#x60;-&#x60; for descending order (e.g., &#x60;sort&#x3D;-created_at&#x60;). (default to 'created_at')
46
+ # @return [Array<(ArcSessionsResponse, Integer, Hash)>] ArcSessionsResponse data, response status code and response headers
47
+ def arc_get_session_logs_with_http_info(opts = {})
48
+ if @api_client.config.debugging
49
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlSessionsApi.arc_get_session_logs ...'
50
+ end
51
+ # unbox the parameters from the hash
52
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000
53
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling AiRuntimeControlSessionsApi.arc_get_session_logs, must be smaller than or equal to 1000.'
54
+ end
55
+
56
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
57
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling AiRuntimeControlSessionsApi.arc_get_session_logs, must be greater than or equal to 1.'
58
+ end
59
+
60
+ allowable_values = ["created_at", "-created_at"]
61
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
62
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
63
+ end
64
+ # resource path
65
+ local_var_path = '/ai-runtime-control/v1/sessions'
66
+
67
+ # query parameters
68
+ query_params = opts[:query_params] || {}
69
+ query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil?
70
+ query_params[:'provider'] = opts[:'provider'] if !opts[:'provider'].nil?
71
+ query_params[:'model'] = opts[:'model'] if !opts[:'model'].nil?
72
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
73
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
74
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
75
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
76
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
77
+
78
+ # header parameters
79
+ header_params = opts[:header_params] || {}
80
+ # HTTP header 'Accept' (if needed)
81
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
82
+
83
+ # form parameters
84
+ form_params = opts[:form_params] || {}
85
+
86
+ # http body (model)
87
+ post_body = opts[:debug_body]
88
+
89
+ # return_type
90
+ return_type = opts[:debug_return_type] || 'ArcSessionsResponse'
91
+
92
+ # auth_names
93
+ auth_names = opts[:debug_auth_names] || ['token']
94
+
95
+ new_options = opts.merge(
96
+ :operation => :"AiRuntimeControlSessionsApi.arc_get_session_logs",
97
+ :header_params => header_params,
98
+ :query_params => query_params,
99
+ :form_params => form_params,
100
+ :body => post_body,
101
+ :auth_names => auth_names,
102
+ :return_type => return_type
103
+ )
104
+
105
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug "API called: AiRuntimeControlSessionsApi#arc_get_session_logs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
108
+ end
109
+ return data, status_code, headers
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,176 @@
1
+ =begin
2
+ #Fastly API
3
+
4
+ #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: oss@fastly.com
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module Fastly
14
+ class AiRuntimeControlUsageMetricsApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Export usage metrics
21
+ # Returns usage metrics for AI Runtime Control requests. Accepts the same filter parameters as [get usage metrics](#arc-get-usage-metrics), except `sort` and `granularity`, which aren't supported here. Set the `Accept` header to `text/csv` to receive a CSV file download instead of a JSON response. In the CSV output, the column named `time` corresponds to the `date` field in the JSON response.
22
+ # @option opts [String] :key Filter results to a specific virtual key ID.
23
+ # @option opts [String] :provider Filter results by AI provider connection ID.
24
+ # @option opts [String] :model Filter results by AI model identifier.
25
+ # @option opts [Time] :from The start of the time range, in RFC 3339 format.
26
+ # @option opts [Time] :to The end of the time range, in RFC 3339 format. Defaults to now.
27
+ # @return [ArcUsageMetricsResponse]
28
+ def arc_export_usage_metrics(opts = {})
29
+ data, _status_code, _headers = arc_export_usage_metrics_with_http_info(opts)
30
+ data
31
+ end
32
+
33
+ # Export usage metrics
34
+ # Returns usage metrics for AI Runtime Control requests. Accepts the same filter parameters as [get usage metrics](#arc-get-usage-metrics), except &#x60;sort&#x60; and &#x60;granularity&#x60;, which aren&#39;t supported here. Set the &#x60;Accept&#x60; header to &#x60;text/csv&#x60; to receive a CSV file download instead of a JSON response. In the CSV output, the column named &#x60;time&#x60; corresponds to the &#x60;date&#x60; field in the JSON response.
35
+ # @option opts [String] :key Filter results to a specific virtual key ID.
36
+ # @option opts [String] :provider Filter results by AI provider connection ID.
37
+ # @option opts [String] :model Filter results by AI model identifier.
38
+ # @option opts [Time] :from The start of the time range, in RFC 3339 format.
39
+ # @option opts [Time] :to The end of the time range, in RFC 3339 format. Defaults to now.
40
+ # @return [Array<(ArcUsageMetricsResponse, Integer, Hash)>] ArcUsageMetricsResponse data, response status code and response headers
41
+ def arc_export_usage_metrics_with_http_info(opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlUsageMetricsApi.arc_export_usage_metrics ...'
44
+ end
45
+ # unbox the parameters from the hash
46
+ # resource path
47
+ local_var_path = '/ai-runtime-control/v1/usage-metrics/export'
48
+
49
+ # query parameters
50
+ query_params = opts[:query_params] || {}
51
+ query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil?
52
+ query_params[:'provider'] = opts[:'provider'] if !opts[:'provider'].nil?
53
+ query_params[:'model'] = opts[:'model'] if !opts[:'model'].nil?
54
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
55
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/csv', 'application/problem+json'])
61
+
62
+ # form parameters
63
+ form_params = opts[:form_params] || {}
64
+
65
+ # http body (model)
66
+ post_body = opts[:debug_body]
67
+
68
+ # return_type
69
+ return_type = opts[:debug_return_type] || 'ArcUsageMetricsResponse'
70
+
71
+ # auth_names
72
+ auth_names = opts[:debug_auth_names] || ['token']
73
+
74
+ new_options = opts.merge(
75
+ :operation => :"AiRuntimeControlUsageMetricsApi.arc_export_usage_metrics",
76
+ :header_params => header_params,
77
+ :query_params => query_params,
78
+ :form_params => form_params,
79
+ :body => post_body,
80
+ :auth_names => auth_names,
81
+ :return_type => return_type
82
+ )
83
+
84
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
85
+ if @api_client.config.debugging
86
+ @api_client.config.logger.debug "API called: AiRuntimeControlUsageMetricsApi#arc_export_usage_metrics\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
87
+ end
88
+ return data, status_code, headers
89
+ end
90
+
91
+ # Get usage metrics
92
+ # Returns usage metrics for AI Runtime Control requests, including request counts, session counts, input token counts, and output token counts.
93
+ # @option opts [String] :key Filter results to a specific virtual key ID.
94
+ # @option opts [String] :provider Filter results by AI provider connection ID.
95
+ # @option opts [String] :model Filter results by AI model identifier.
96
+ # @option opts [Time] :from The start of the time range, in RFC 3339 format.
97
+ # @option opts [Time] :to The end of the time range, in RFC 3339 format. Defaults to now.
98
+ # @option opts [String] :granularity The time granularity to aggregate usage by. (default to 'daily')
99
+ # @option opts [String] :sort Sort field. Prefix with &#x60;-&#x60; for descending order (e.g., &#x60;sort&#x3D;-date&#x60;). (default to 'date')
100
+ # @return [ArcUsageMetricsResponse]
101
+ def arc_get_usage_metrics(opts = {})
102
+ data, _status_code, _headers = arc_get_usage_metrics_with_http_info(opts)
103
+ data
104
+ end
105
+
106
+ # Get usage metrics
107
+ # Returns usage metrics for AI Runtime Control requests, including request counts, session counts, input token counts, and output token counts.
108
+ # @option opts [String] :key Filter results to a specific virtual key ID.
109
+ # @option opts [String] :provider Filter results by AI provider connection ID.
110
+ # @option opts [String] :model Filter results by AI model identifier.
111
+ # @option opts [Time] :from The start of the time range, in RFC 3339 format.
112
+ # @option opts [Time] :to The end of the time range, in RFC 3339 format. Defaults to now.
113
+ # @option opts [String] :granularity The time granularity to aggregate usage by. (default to 'daily')
114
+ # @option opts [String] :sort Sort field. Prefix with &#x60;-&#x60; for descending order (e.g., &#x60;sort&#x3D;-date&#x60;). (default to 'date')
115
+ # @return [Array<(ArcUsageMetricsResponse, Integer, Hash)>] ArcUsageMetricsResponse data, response status code and response headers
116
+ def arc_get_usage_metrics_with_http_info(opts = {})
117
+ if @api_client.config.debugging
118
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlUsageMetricsApi.arc_get_usage_metrics ...'
119
+ end
120
+ # unbox the parameters from the hash
121
+ allowable_values = ["daily", "hourly"]
122
+ if @api_client.config.client_side_validation && opts[:'granularity'] && !allowable_values.include?(opts[:'granularity'])
123
+ fail ArgumentError, "invalid value for \"granularity\", must be one of #{allowable_values}"
124
+ end
125
+ allowable_values = ["date", "-date"]
126
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
127
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
128
+ end
129
+ # resource path
130
+ local_var_path = '/ai-runtime-control/v1/usage-metrics'
131
+
132
+ # query parameters
133
+ query_params = opts[:query_params] || {}
134
+ query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil?
135
+ query_params[:'provider'] = opts[:'provider'] if !opts[:'provider'].nil?
136
+ query_params[:'model'] = opts[:'model'] if !opts[:'model'].nil?
137
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
138
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
139
+ query_params[:'granularity'] = opts[:'granularity'] if !opts[:'granularity'].nil?
140
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
141
+
142
+ # header parameters
143
+ header_params = opts[:header_params] || {}
144
+ # HTTP header 'Accept' (if needed)
145
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
146
+
147
+ # form parameters
148
+ form_params = opts[:form_params] || {}
149
+
150
+ # http body (model)
151
+ post_body = opts[:debug_body]
152
+
153
+ # return_type
154
+ return_type = opts[:debug_return_type] || 'ArcUsageMetricsResponse'
155
+
156
+ # auth_names
157
+ auth_names = opts[:debug_auth_names] || ['token']
158
+
159
+ new_options = opts.merge(
160
+ :operation => :"AiRuntimeControlUsageMetricsApi.arc_get_usage_metrics",
161
+ :header_params => header_params,
162
+ :query_params => query_params,
163
+ :form_params => form_params,
164
+ :body => post_body,
165
+ :auth_names => auth_names,
166
+ :return_type => return_type
167
+ )
168
+
169
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
170
+ if @api_client.config.debugging
171
+ @api_client.config.logger.debug "API called: AiRuntimeControlUsageMetricsApi#arc_get_usage_metrics\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
172
+ end
173
+ return data, status_code, headers
174
+ end
175
+ end
176
+ end