fastly 17.2.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 (340) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -1
  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/MetricsPlatformApi.md +69 -13
  112. data/docs/NetworkProtectApi.md +789 -0
  113. data/docs/NetworkProtectConflict.md +13 -0
  114. data/docs/NetworkProtectConflictError.md +11 -0
  115. data/docs/NetworkProtectEndpoint.md +11 -0
  116. data/docs/NetworkProtectEndpointCreate.md +11 -0
  117. data/docs/NetworkProtectEndpointPolicy.md +11 -0
  118. data/docs/NetworkProtectEndpointResponse.md +14 -0
  119. data/docs/NetworkProtectEndpointResponseFields.md +12 -0
  120. data/docs/NetworkProtectEndpointUpdate.md +10 -0
  121. data/docs/NetworkProtectEndpointsResponse.md +11 -0
  122. data/docs/NetworkProtectErrorDetail.md +11 -0
  123. data/docs/NetworkProtectInvalidRequest.md +13 -0
  124. data/docs/NetworkProtectListMeta.md +11 -0
  125. data/docs/NetworkProtectLoaStatus.md +9 -0
  126. data/docs/NetworkProtectNetwork.md +15 -0
  127. data/docs/NetworkProtectNetworkCreate.md +14 -0
  128. data/docs/NetworkProtectNetworkResponse.md +22 -0
  129. data/docs/NetworkProtectNetworkResponseFields.md +16 -0
  130. data/docs/NetworkProtectNetworkUpdate.md +14 -0
  131. data/docs/NetworkProtectNetworksResponse.md +11 -0
  132. data/docs/NetworkProtectPolicyEndpoint.md +13 -0
  133. data/docs/NetworkProtectPrefixList.md +12 -0
  134. data/docs/NetworkProtectPrefixListCreate.md +12 -0
  135. data/docs/NetworkProtectPrefixListFamily.md +9 -0
  136. data/docs/NetworkProtectPrefixListResponse.md +15 -0
  137. data/docs/NetworkProtectPrefixListResponseFields.md +12 -0
  138. data/docs/NetworkProtectPrefixListUpdate.md +11 -0
  139. data/docs/NetworkProtectPrefixListsResponse.md +11 -0
  140. data/docs/NetworkProtectRegion.md +9 -0
  141. data/docs/NetworkProtectRoaStatus.md +9 -0
  142. data/docs/NetworkProtectRule.md +16 -0
  143. data/docs/NetworkProtectRuleAction.md +9 -0
  144. data/docs/NetworkProtectRuleDestinationPorts.md +9 -0
  145. data/docs/NetworkProtectRuleIpProtocol.md +9 -0
  146. data/docs/NetworkProtectRuleMatchDestinationIp.md +10 -0
  147. data/docs/NetworkProtectRuleMatchDestinationPorts.md +10 -0
  148. data/docs/NetworkProtectRuleMatchIpProtocol.md +10 -0
  149. data/docs/NetworkProtectRuleMatchSourcePorts.md +10 -0
  150. data/docs/NetworkProtectRuleMatchSourcePrefixList.md +10 -0
  151. data/docs/NetworkProtectRuleResponse.md +16 -0
  152. data/docs/NetworkProtectRuleSet.md +11 -0
  153. data/docs/NetworkProtectRuleSetCreate.md +11 -0
  154. data/docs/NetworkProtectRuleSetDefaultAction.md +9 -0
  155. data/docs/NetworkProtectRuleSetResponse.md +14 -0
  156. data/docs/NetworkProtectRuleSetResponseFields.md +12 -0
  157. data/docs/NetworkProtectRuleSetUpdate.md +11 -0
  158. data/docs/NetworkProtectRuleSetsResponse.md +11 -0
  159. data/docs/NetworkProtectRuleSourcePorts.md +9 -0
  160. data/docs/NetworkProtectRuleTimestamps.md +11 -0
  161. data/docs/PlatformValues.md +359 -16
  162. data/docs/ProductAiRuntimeControlApi.md +115 -0
  163. data/docs/PurgeApi.md +6 -0
  164. data/docs/RealtimeEntryAggregated.md +16 -0
  165. data/docs/RealtimeEntryDatacenter.md +16 -0
  166. data/docs/RealtimeMeasurements.md +16 -0
  167. data/docs/Results.md +16 -0
  168. data/lib/fastly/api/ai_runtime_control_provider_connections_api.rb +355 -0
  169. data/lib/fastly/api/ai_runtime_control_providers_api.rb +195 -0
  170. data/lib/fastly/api/ai_runtime_control_sessions_api.rb +112 -0
  171. data/lib/fastly/api/ai_runtime_control_usage_metrics_api.rb +176 -0
  172. data/lib/fastly/api/ai_runtime_control_virtual_keys_api.rb +580 -0
  173. data/lib/fastly/api/automation_tokens_api.rb +78 -1
  174. data/lib/fastly/api/bot_management_api.rb +787 -0
  175. data/lib/fastly/api/bot_requests_metrics_api.rb +137 -0
  176. data/lib/fastly/api/dictionary_item_api.rb +14 -14
  177. data/lib/fastly/api/metrics_platform_api.rb +130 -23
  178. data/lib/fastly/api/network_protect_api.rb +1420 -0
  179. data/lib/fastly/api/product_ai_runtime_control_api.rb +186 -0
  180. data/lib/fastly/api/purge_api.rb +21 -0
  181. data/lib/fastly/configuration.rb +331 -1
  182. data/lib/fastly/models/ai_runtime_control_response_body_enable.rb +243 -0
  183. data/lib/fastly/models/ai_runtime_control_response_customer.rb +216 -0
  184. data/lib/fastly/models/ai_runtime_control_response_links.rb +216 -0
  185. data/lib/fastly/models/ai_runtime_control_response_links_links.rb +217 -0
  186. data/lib/fastly/models/ai_runtime_control_response_product.rb +216 -0
  187. data/lib/fastly/models/ai_runtime_control_response_product_product.rb +227 -0
  188. data/lib/fastly/models/arc_bedrock_setup_response.rb +237 -0
  189. data/lib/fastly/models/arc_create_virtual_key_response.rb +346 -0
  190. data/lib/fastly/models/arc_error.rb +238 -0
  191. data/lib/fastly/models/arc_failover_target.rb +223 -0
  192. data/lib/fastly/models/arc_get_provider_connection_response.rb +393 -0
  193. data/lib/fastly/models/arc_get_provider_connection_response_extra.rb +224 -0
  194. data/lib/fastly/models/arc_model.rb +253 -0
  195. data/lib/fastly/models/arc_models_meta.rb +217 -0
  196. data/lib/fastly/models/arc_models_response.rb +238 -0
  197. data/lib/fastly/models/arc_provider.rb +270 -0
  198. data/lib/fastly/models/arc_provider_connection_api_key.rb +335 -0
  199. data/lib/fastly/models/arc_provider_connection_aws_iam.rb +350 -0
  200. data/lib/fastly/models/arc_provider_connection_list_item_response.rb +386 -0
  201. data/lib/fastly/models/arc_provider_connection_list_item_response_extra.rb +217 -0
  202. data/lib/fastly/models/arc_provider_connection_request.rb +103 -0
  203. data/lib/fastly/models/arc_provider_connection_response.rb +369 -0
  204. data/lib/fastly/models/arc_provider_connections_meta.rb +228 -0
  205. data/lib/fastly/models/arc_provider_connections_response.rb +238 -0
  206. data/lib/fastly/models/arc_providers_meta.rb +217 -0
  207. data/lib/fastly/models/arc_providers_response.rb +238 -0
  208. data/lib/fastly/models/arc_rotate_virtual_key_request.rb +218 -0
  209. data/lib/fastly/models/arc_rotate_virtual_key_response.rb +324 -0
  210. data/lib/fastly/models/arc_session.rb +465 -0
  211. data/lib/fastly/models/arc_session_log_entry.rb +240 -0
  212. data/lib/fastly/models/arc_sessions_meta.rb +260 -0
  213. data/lib/fastly/models/arc_sessions_response.rb +238 -0
  214. data/lib/fastly/models/arc_update_provider_connection_request.rb +275 -0
  215. data/lib/fastly/models/arc_update_virtual_key_request.rb +345 -0
  216. data/lib/fastly/models/arc_update_virtual_key_response.rb +352 -0
  217. data/lib/fastly/models/arc_usage_metric.rb +347 -0
  218. data/lib/fastly/models/arc_usage_metrics_meta.rb +228 -0
  219. data/lib/fastly/models/arc_usage_metrics_response.rb +238 -0
  220. data/lib/fastly/models/arc_virtual_key.rb +342 -0
  221. data/lib/fastly/models/arc_virtual_key_failover_request.rb +255 -0
  222. data/lib/fastly/models/arc_virtual_key_failover_response.rb +270 -0
  223. data/lib/fastly/models/arc_virtual_key_list_item_response.rb +492 -0
  224. data/lib/fastly/models/arc_virtual_key_list_item_response_extra.rb +350 -0
  225. data/lib/fastly/models/arc_virtual_key_response.rb +477 -0
  226. data/lib/fastly/models/arc_virtual_key_response_extra.rb +335 -0
  227. data/lib/fastly/models/arc_virtual_keys_meta.rb +260 -0
  228. data/lib/fastly/models/arc_virtual_keys_response.rb +238 -0
  229. data/lib/fastly/models/automation_token.rb +49 -5
  230. data/lib/fastly/models/automation_token_create_request.rb +161 -7
  231. data/lib/fastly/models/automation_token_create_response.rb +49 -5
  232. data/lib/fastly/models/automation_token_error_response.rb +1 -0
  233. data/lib/fastly/models/automation_token_response.rb +46 -2
  234. data/lib/fastly/models/automation_token_role.rb +227 -0
  235. data/lib/fastly/models/automation_token_unversioned_error.rb +225 -0
  236. data/lib/fastly/models/automation_token_unversioned_error_response.rb +219 -0
  237. data/lib/fastly/models/automation_token_workspace.rb +237 -0
  238. data/lib/fastly/models/automation_token_workspaces_meta.rb +242 -0
  239. data/lib/fastly/models/automation_token_workspaces_response.rb +253 -0
  240. data/lib/fastly/models/bot_management_action.rb +257 -0
  241. data/lib/fastly/models/bot_management_bot.rb +222 -0
  242. data/lib/fastly/models/bot_management_bot_action.rb +257 -0
  243. data/lib/fastly/models/bot_management_bot_response.rb +259 -0
  244. data/lib/fastly/models/bot_management_bot_response_extra.rb +237 -0
  245. data/lib/fastly/models/bot_management_bots_response.rb +238 -0
  246. data/lib/fastly/models/bot_management_categories_response.rb +238 -0
  247. data/lib/fastly/models/bot_management_category.rb +222 -0
  248. data/lib/fastly/models/bot_management_category_response.rb +269 -0
  249. data/lib/fastly/models/bot_management_category_response_extra.rb +247 -0
  250. data/lib/fastly/models/bot_management_error.rb +248 -0
  251. data/lib/fastly/models/bot_management_invalid_request_error.rb +291 -0
  252. data/lib/fastly/models/bot_management_invalid_request_error_extra.rb +283 -0
  253. data/lib/fastly/models/bot_management_meta.rb +239 -0
  254. data/lib/fastly/models/bot_management_not_allowed_error.rb +287 -0
  255. data/lib/fastly/models/bot_management_not_allowed_error_extra.rb +259 -0
  256. data/lib/fastly/models/bot_management_not_authenticated_error.rb +287 -0
  257. data/lib/fastly/models/bot_management_not_authenticated_error_extra.rb +259 -0
  258. data/lib/fastly/models/bot_management_not_found_error.rb +287 -0
  259. data/lib/fastly/models/bot_management_not_found_error_extra.rb +259 -0
  260. data/lib/fastly/models/bot_management_protection_mode.rb +36 -0
  261. data/lib/fastly/models/bot_management_rate_limit_error.rb +287 -0
  262. data/lib/fastly/models/bot_management_rate_limit_error_extra.rb +259 -0
  263. data/lib/fastly/models/bot_management_workspace.rb +276 -0
  264. data/lib/fastly/models/bot_management_workspace_bot_response.rb +275 -0
  265. data/lib/fastly/models/bot_management_workspace_bot_response_extra.rb +222 -0
  266. data/lib/fastly/models/bot_management_workspace_bots_response.rb +238 -0
  267. data/lib/fastly/models/bot_management_workspace_response.rb +354 -0
  268. data/lib/fastly/models/bot_management_workspace_response_extra.rb +264 -0
  269. data/lib/fastly/models/bot_management_workspaces_response.rb +238 -0
  270. data/lib/fastly/models/bot_request_metrics_data_item.rb +278 -0
  271. data/lib/fastly/models/bot_request_metrics_metadata.rb +258 -0
  272. data/lib/fastly/models/bot_request_metrics_response.rb +228 -0
  273. data/lib/fastly/models/bulk_update_dictionary_item.rb +1 -1
  274. data/lib/fastly/models/ddos_protection_request_enable_mode.rb +2 -2
  275. data/lib/fastly/models/ddos_protection_request_update_configuration.rb +2 -2
  276. data/lib/fastly/models/ddos_protection_rule.rb +1 -1
  277. data/lib/fastly/models/ddos_protection_rule_all_of.rb +1 -1
  278. data/lib/fastly/models/ddos_protection_rule_patch.rb +1 -1
  279. data/lib/fastly/models/ddos_protection_rule_with_stats.rb +1 -1
  280. data/lib/fastly/models/dictionary_item.rb +1 -1
  281. data/lib/fastly/models/dictionary_item_response.rb +1 -1
  282. data/lib/fastly/models/event_attributes.rb +2 -2
  283. data/lib/fastly/models/network_protect_conflict.rb +299 -0
  284. data/lib/fastly/models/network_protect_conflict_error.rb +228 -0
  285. data/lib/fastly/models/network_protect_endpoint.rb +266 -0
  286. data/lib/fastly/models/network_protect_endpoint_create.rb +266 -0
  287. data/lib/fastly/models/network_protect_endpoint_policy.rb +255 -0
  288. data/lib/fastly/models/network_protect_endpoint_response.rb +340 -0
  289. data/lib/fastly/models/network_protect_endpoint_response_fields.rb +274 -0
  290. data/lib/fastly/models/network_protect_endpoint_update.rb +251 -0
  291. data/lib/fastly/models/network_protect_endpoints_response.rb +239 -0
  292. data/lib/fastly/models/network_protect_error_detail.rb +238 -0
  293. data/lib/fastly/models/{automation_token_create_request_attributes.rb → network_protect_invalid_request.rb} +63 -75
  294. data/lib/fastly/models/network_protect_list_meta.rb +263 -0
  295. data/lib/fastly/models/network_protect_loa_status.rb +36 -0
  296. data/lib/fastly/models/network_protect_network.rb +363 -0
  297. data/lib/fastly/models/network_protect_network_create.rb +340 -0
  298. data/lib/fastly/models/network_protect_network_response.rb +477 -0
  299. data/lib/fastly/models/network_protect_network_response_fields.rb +314 -0
  300. data/lib/fastly/models/network_protect_network_update.rb +329 -0
  301. data/lib/fastly/models/network_protect_networks_response.rb +239 -0
  302. data/lib/fastly/models/network_protect_policy_endpoint.rb +307 -0
  303. data/lib/fastly/models/network_protect_prefix_list.rb +282 -0
  304. data/lib/fastly/models/network_protect_prefix_list_create.rb +301 -0
  305. data/lib/fastly/models/network_protect_prefix_list_family.rb +35 -0
  306. data/lib/fastly/models/network_protect_prefix_list_response.rb +356 -0
  307. data/lib/fastly/models/network_protect_prefix_list_response_fields.rb +274 -0
  308. data/lib/fastly/models/network_protect_prefix_list_update.rb +269 -0
  309. data/lib/fastly/models/network_protect_prefix_lists_response.rb +239 -0
  310. data/lib/fastly/models/network_protect_region.rb +34 -0
  311. data/lib/fastly/models/network_protect_roa_status.rb +37 -0
  312. data/lib/fastly/models/network_protect_rule.rb +372 -0
  313. data/lib/fastly/models/network_protect_rule_action.rb +35 -0
  314. data/lib/fastly/models/network_protect_rule_destination_ports.rb +208 -0
  315. data/lib/fastly/models/network_protect_rule_ip_protocol.rb +37 -0
  316. data/lib/fastly/models/network_protect_rule_match_destination_ip.rb +223 -0
  317. data/lib/fastly/models/network_protect_rule_match_destination_ports.rb +222 -0
  318. data/lib/fastly/models/network_protect_rule_match_ip_protocol.rb +222 -0
  319. data/lib/fastly/models/network_protect_rule_match_source_ports.rb +222 -0
  320. data/lib/fastly/models/network_protect_rule_match_source_prefix_list.rb +244 -0
  321. data/lib/fastly/models/network_protect_rule_response.rb +329 -0
  322. data/lib/fastly/models/network_protect_rule_set.rb +258 -0
  323. data/lib/fastly/models/network_protect_rule_set_create.rb +249 -0
  324. data/lib/fastly/models/network_protect_rule_set_default_action.rb +35 -0
  325. data/lib/fastly/models/network_protect_rule_set_response.rb +332 -0
  326. data/lib/fastly/models/network_protect_rule_set_response_fields.rb +274 -0
  327. data/lib/fastly/models/network_protect_rule_set_update.rb +244 -0
  328. data/lib/fastly/models/network_protect_rule_sets_response.rb +239 -0
  329. data/lib/fastly/models/network_protect_rule_source_ports.rb +208 -0
  330. data/lib/fastly/models/network_protect_rule_timestamps.rb +228 -0
  331. data/lib/fastly/models/platform_values.rb +3568 -137
  332. data/lib/fastly/models/realtime_entry_aggregated.rb +164 -4
  333. data/lib/fastly/models/realtime_entry_datacenter.rb +164 -4
  334. data/lib/fastly/models/realtime_measurements.rb +164 -4
  335. data/lib/fastly/models/results.rb +161 -1
  336. data/lib/fastly/version.rb +1 -1
  337. data/lib/fastly.rb +143 -1
  338. data/sig.json +1 -1
  339. metadata +288 -4
  340. data/docs/AutomationTokenCreateRequestAttributes.md +0 -15
@@ -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 `now`.
27
+ # @option opts [String] :cursor Cursor for pagination. Use the `next_cursor` value from a previous response to request the next page of results, or the `prev_cursor` 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 `-` for descending order (e.g., `sort=-created_at`). (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 `now`.
43
+ # @option opts [String] :cursor Cursor for pagination. Use the `next_cursor` value from a previous response to request the next page of results, or the `prev_cursor` 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 `-` for descending order (e.g., `sort=-created_at`). (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