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
@@ -357,6 +357,22 @@
357
357
  | **ddos_challenges_failed** | **Integer** | Number of failed challenge solutions processed as a result of a DDoS action. For example, an incorrect CAPTCHA solution. | [optional] |
358
358
  | **ddos_challenges_pats_issued** | **Integer** | Number of Private Access Token challenges issued as a result of a DDoS action. | [optional] |
359
359
  | **ddos_challenges_pats_succeeded** | **Integer** | Number of successful Private Access Token challenge solutions processed as a result of a DDoS action. | [optional] |
360
+ | **arc_ai_firewall_requests** | **Integer** | Number of requests received by AI Firewall in AI Runtime Control. | [optional] |
361
+ | **arc_ai_firewall_blocked** | **Integer** | Number of requests blocked by AI Firewall in AI Runtime Control. | [optional] |
362
+ | **bot_edge_challenge_complete_tokens_issued** | **Integer** | The number of challenge-complete tokens issued as a result of a ContentGuard action. For example, issuing a challenge-complete token after a series of CAPTCHA challenges ending in success. | [optional] |
363
+ | **bot_edge_challenges_issued** | **Integer** | The number of challenges issued as a result of a ContentGuard action. | [optional] |
364
+ | **bot_edge_challenges_succeeded** | **Integer** | The number of successful challenge solutions processed as a result of a ContentGuard action. For example, a correct CAPTCHA solution. | [optional] |
365
+ | **bot_edge_challenges_failed** | **Integer** | The number of failed challenge solutions processed as a result of a ContentGuard action. For example, an incorrect CAPTCHA solution. | [optional] |
366
+ | **bot_edge_challenges_pats_issued** | **Integer** | The number of Private Access Token challenges issued as a result of a ContentGuard action. | [optional] |
367
+ | **bot_edge_challenges_pats_succeeded** | **Integer** | The number of successful Private Access Token challenge solutions processed as a result of a ContentGuard action. | [optional] |
368
+ | **netprotect_gre_sent_bytes** | **Integer** | Number of bytes sent via GRE tunnel. | [optional] |
369
+ | **netprotect_gre_sent_packets** | **Integer** | Number of packets sent via GRE tunnel. | [optional] |
370
+ | **netprotect_received_bytes** | **Integer** | Number of ingress bytes received for network protection. | [optional] |
371
+ | **netprotect_received_packets** | **Integer** | Number of ingress packets received for network protection. | [optional] |
372
+ | **netprotect_firewall_dropped_bytes** | **Integer** | Number of bytes dropped by network protection firewall. | [optional] |
373
+ | **netprotect_firewall_dropped_packets** | **Integer** | Number of packets dropped by network protection firewall. | [optional] |
374
+ | **api_enforcement_allowed_requests_count** | **Integer** | Number of requests allowed after evaluation by the API Enforcement engine. | [optional] |
375
+ | **api_enforcement_flagged_requests_count** | **Integer** | Number of requests flagged after evaluation by the API Enforcement engine. | [optional] |
360
376
 
361
377
  [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
362
378
 
@@ -357,6 +357,22 @@
357
357
  | **ddos_challenges_failed** | **Integer** | Number of failed challenge solutions processed as a result of a DDoS action. For example, an incorrect CAPTCHA solution. | [optional] |
358
358
  | **ddos_challenges_pats_issued** | **Integer** | Number of Private Access Token challenges issued as a result of a DDoS action. | [optional] |
359
359
  | **ddos_challenges_pats_succeeded** | **Integer** | Number of successful Private Access Token challenge solutions processed as a result of a DDoS action. | [optional] |
360
+ | **arc_ai_firewall_requests** | **Integer** | Number of requests received by AI Firewall in AI Runtime Control. | [optional] |
361
+ | **arc_ai_firewall_blocked** | **Integer** | Number of requests blocked by AI Firewall in AI Runtime Control. | [optional] |
362
+ | **bot_edge_challenge_complete_tokens_issued** | **Integer** | The number of challenge-complete tokens issued as a result of a ContentGuard action. For example, issuing a challenge-complete token after a series of CAPTCHA challenges ending in success. | [optional] |
363
+ | **bot_edge_challenges_issued** | **Integer** | The number of challenges issued as a result of a ContentGuard action. | [optional] |
364
+ | **bot_edge_challenges_succeeded** | **Integer** | The number of successful challenge solutions processed as a result of a ContentGuard action. For example, a correct CAPTCHA solution. | [optional] |
365
+ | **bot_edge_challenges_failed** | **Integer** | The number of failed challenge solutions processed as a result of a ContentGuard action. For example, an incorrect CAPTCHA solution. | [optional] |
366
+ | **bot_edge_challenges_pats_issued** | **Integer** | The number of Private Access Token challenges issued as a result of a ContentGuard action. | [optional] |
367
+ | **bot_edge_challenges_pats_succeeded** | **Integer** | The number of successful Private Access Token challenge solutions processed as a result of a ContentGuard action. | [optional] |
368
+ | **netprotect_gre_sent_bytes** | **Integer** | Number of bytes sent via GRE tunnel. | [optional] |
369
+ | **netprotect_gre_sent_packets** | **Integer** | Number of packets sent via GRE tunnel. | [optional] |
370
+ | **netprotect_received_bytes** | **Integer** | Number of ingress bytes received for network protection. | [optional] |
371
+ | **netprotect_received_packets** | **Integer** | Number of ingress packets received for network protection. | [optional] |
372
+ | **netprotect_firewall_dropped_bytes** | **Integer** | Number of bytes dropped by network protection firewall. | [optional] |
373
+ | **netprotect_firewall_dropped_packets** | **Integer** | Number of packets dropped by network protection firewall. | [optional] |
374
+ | **api_enforcement_allowed_requests_count** | **Integer** | Number of requests allowed after evaluation by the API Enforcement engine. | [optional] |
375
+ | **api_enforcement_flagged_requests_count** | **Integer** | Number of requests flagged after evaluation by the API Enforcement engine. | [optional] |
360
376
 
361
377
  [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
362
378
 
@@ -357,6 +357,22 @@
357
357
  | **ddos_challenges_failed** | **Integer** | Number of failed challenge solutions processed as a result of a DDoS action. For example, an incorrect CAPTCHA solution. | [optional] |
358
358
  | **ddos_challenges_pats_issued** | **Integer** | Number of Private Access Token challenges issued as a result of a DDoS action. | [optional] |
359
359
  | **ddos_challenges_pats_succeeded** | **Integer** | Number of successful Private Access Token challenge solutions processed as a result of a DDoS action. | [optional] |
360
+ | **arc_ai_firewall_requests** | **Integer** | Number of requests received by AI Firewall in AI Runtime Control. | [optional] |
361
+ | **arc_ai_firewall_blocked** | **Integer** | Number of requests blocked by AI Firewall in AI Runtime Control. | [optional] |
362
+ | **bot_edge_challenge_complete_tokens_issued** | **Integer** | The number of challenge-complete tokens issued as a result of a ContentGuard action. For example, issuing a challenge-complete token after a series of CAPTCHA challenges ending in success. | [optional] |
363
+ | **bot_edge_challenges_issued** | **Integer** | The number of challenges issued as a result of a ContentGuard action. | [optional] |
364
+ | **bot_edge_challenges_succeeded** | **Integer** | The number of successful challenge solutions processed as a result of a ContentGuard action. For example, a correct CAPTCHA solution. | [optional] |
365
+ | **bot_edge_challenges_failed** | **Integer** | The number of failed challenge solutions processed as a result of a ContentGuard action. For example, an incorrect CAPTCHA solution. | [optional] |
366
+ | **bot_edge_challenges_pats_issued** | **Integer** | The number of Private Access Token challenges issued as a result of a ContentGuard action. | [optional] |
367
+ | **bot_edge_challenges_pats_succeeded** | **Integer** | The number of successful Private Access Token challenge solutions processed as a result of a ContentGuard action. | [optional] |
368
+ | **netprotect_gre_sent_bytes** | **Integer** | Number of bytes sent via GRE tunnel. | [optional] |
369
+ | **netprotect_gre_sent_packets** | **Integer** | Number of packets sent via GRE tunnel. | [optional] |
370
+ | **netprotect_received_bytes** | **Integer** | Number of ingress bytes received for network protection. | [optional] |
371
+ | **netprotect_received_packets** | **Integer** | Number of ingress packets received for network protection. | [optional] |
372
+ | **netprotect_firewall_dropped_bytes** | **Integer** | Number of bytes dropped by network protection firewall. | [optional] |
373
+ | **netprotect_firewall_dropped_packets** | **Integer** | Number of packets dropped by network protection firewall. | [optional] |
374
+ | **api_enforcement_allowed_requests_count** | **Integer** | Number of requests allowed after evaluation by the API Enforcement engine. | [optional] |
375
+ | **api_enforcement_flagged_requests_count** | **Integer** | Number of requests flagged after evaluation by the API Enforcement engine. | [optional] |
360
376
 
361
377
  [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
362
378
 
data/docs/Results.md CHANGED
@@ -364,6 +364,22 @@
364
364
  | **ddos_challenges_failed** | **Integer** | Number of failed challenge solutions processed as a result of a DDoS action. For example, an incorrect CAPTCHA solution. | [optional] |
365
365
  | **ddos_challenges_pats_issued** | **Integer** | Number of Private Access Token challenges issued as a result of a DDoS action. | [optional] |
366
366
  | **ddos_challenges_pats_succeeded** | **Integer** | Number of successful Private Access Token challenge solutions processed as a result of a DDoS action. | [optional] |
367
+ | **arc_ai_firewall_requests** | **Integer** | Number of requests received by AI Firewall in AI Runtime Control. | [optional] |
368
+ | **arc_ai_firewall_blocked** | **Integer** | Number of requests blocked by AI Firewall in AI Runtime Control. | [optional] |
369
+ | **bot_edge_challenge_complete_tokens_issued** | **Integer** | The number of challenge-complete tokens issued as a result of a ContentGuard action. For example, issuing a challenge-complete token after a series of CAPTCHA challenges ending in success. | [optional] |
370
+ | **bot_edge_challenges_issued** | **Integer** | The number of challenges issued as a result of a ContentGuard action. | [optional] |
371
+ | **bot_edge_challenges_succeeded** | **Integer** | The number of successful challenge solutions processed as a result of a ContentGuard action. For example, a correct CAPTCHA solution. | [optional] |
372
+ | **bot_edge_challenges_failed** | **Integer** | The number of failed challenge solutions processed as a result of a ContentGuard action. For example, an incorrect CAPTCHA solution. | [optional] |
373
+ | **bot_edge_challenges_pats_issued** | **Integer** | The number of Private Access Token challenges issued as a result of a ContentGuard action. | [optional] |
374
+ | **bot_edge_challenges_pats_succeeded** | **Integer** | The number of successful Private Access Token challenge solutions processed as a result of a ContentGuard action. | [optional] |
375
+ | **netprotect_gre_sent_bytes** | **Integer** | Number of bytes sent via GRE tunnel. | [optional] |
376
+ | **netprotect_gre_sent_packets** | **Integer** | Number of packets sent via GRE tunnel. | [optional] |
377
+ | **netprotect_received_bytes** | **Integer** | Number of ingress bytes received for network protection. | [optional] |
378
+ | **netprotect_received_packets** | **Integer** | Number of ingress packets received for network protection. | [optional] |
379
+ | **netprotect_firewall_dropped_bytes** | **Integer** | Number of bytes dropped by network protection firewall. | [optional] |
380
+ | **netprotect_firewall_dropped_packets** | **Integer** | Number of packets dropped by network protection firewall. | [optional] |
381
+ | **api_enforcement_allowed_requests_count** | **Integer** | Number of requests allowed after evaluation by the API Enforcement engine. | [optional] |
382
+ | **api_enforcement_flagged_requests_count** | **Integer** | Number of requests flagged after evaluation by the API Enforcement engine. | [optional] |
367
383
  | **service_id** | **String** | | [optional][readonly] |
368
384
  | **start_time** | **Integer** | Timestamp for the start of the time period being reported | [optional] |
369
385
 
@@ -0,0 +1,355 @@
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 AiRuntimeControlProviderConnectionsApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Create a provider connection
21
+ # Create a provider connection. Set `auth_type` to `api-key` (the default) to connect with a provider's own API key, or to `aws-iam` to connect to Amazon Bedrock using an AWS IAM role. Accounts are limited to 25 provider connections. Creating a 26th connection returns a 409 response.
22
+ # @option opts [ArcProviderConnectionRequest] :arc_provider_connection_request (required)
23
+ # @return [ArcProviderConnectionResponse]
24
+ def arc_create_provider_connection(opts = {})
25
+ data, _status_code, _headers = arc_create_provider_connection_with_http_info(opts)
26
+ data
27
+ end
28
+
29
+ # Create a provider connection
30
+ # Create a provider connection. Set `auth_type` to `api-key` (the default) to connect with a provider's own API key, or to `aws-iam` to connect to Amazon Bedrock using an AWS IAM role. Accounts are limited to 25 provider connections. Creating a 26th connection returns a 409 response.
31
+ # @option opts [ArcProviderConnectionRequest] :arc_provider_connection_request (required)
32
+ # @return [Array<(ArcProviderConnectionResponse, Integer, Hash)>] ArcProviderConnectionResponse data, response status code and response headers
33
+ def arc_create_provider_connection_with_http_info(opts = {})
34
+ if @api_client.config.debugging
35
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlProviderConnectionsApi.arc_create_provider_connection ...'
36
+ end
37
+ # unbox the parameters from the hash
38
+ arc_provider_connection_request = opts[:'arc_provider_connection_request']
39
+ # verify the required parameter 'arc_provider_connection_request' is set
40
+ if @api_client.config.client_side_validation && arc_provider_connection_request.nil?
41
+ fail ArgumentError, "Missing the required parameter 'arc_provider_connection_request' when calling AiRuntimeControlProviderConnectionsApi.arc_create_provider_connection"
42
+ end
43
+ # resource path
44
+ local_var_path = '/ai-runtime-control/v1/provider-connections'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
53
+ # HTTP header 'Content-Type'
54
+ content_type = @api_client.select_header_content_type(['application/json'])
55
+ if !content_type.nil?
56
+ header_params['Content-Type'] = content_type
57
+ end
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(arc_provider_connection_request)
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'ArcProviderConnectionResponse'
67
+
68
+ # auth_names
69
+ auth_names = opts[:debug_auth_names] || ['token']
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"AiRuntimeControlProviderConnectionsApi.arc_create_provider_connection",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: AiRuntimeControlProviderConnectionsApi#arc_create_provider_connection\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # Delete a provider connection
89
+ # Delete a provider connection. Returns a 409 response if the connection is still referenced by a virtual key's failover policy.
90
+ # @option opts [String] :id The ID of the provider connection. (required)
91
+ # @return [nil]
92
+ def arc_delete_provider_connection(opts = {})
93
+ arc_delete_provider_connection_with_http_info(opts)
94
+ nil
95
+ end
96
+
97
+ # Delete a provider connection
98
+ # Delete a provider connection. Returns a 409 response if the connection is still referenced by a virtual key&#39;s failover policy.
99
+ # @option opts [String] :id The ID of the provider connection. (required)
100
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
101
+ def arc_delete_provider_connection_with_http_info(opts = {})
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlProviderConnectionsApi.arc_delete_provider_connection ...'
104
+ end
105
+ # unbox the parameters from the hash
106
+ id = opts[:'id']
107
+ # verify the required parameter 'id' is set
108
+ if @api_client.config.client_side_validation && id.nil?
109
+ fail ArgumentError, "Missing the required parameter 'id' when calling AiRuntimeControlProviderConnectionsApi.arc_delete_provider_connection"
110
+ end
111
+ # resource path
112
+ local_var_path = '/ai-runtime-control/v1/provider-connections/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
113
+
114
+ # query parameters
115
+ query_params = opts[:query_params] || {}
116
+
117
+ # header parameters
118
+ header_params = opts[:header_params] || {}
119
+ # HTTP header 'Accept' (if needed)
120
+ header_params['Accept'] = @api_client.select_header_accept(['application/problem+json'])
121
+
122
+ # form parameters
123
+ form_params = opts[:form_params] || {}
124
+
125
+ # http body (model)
126
+ post_body = opts[:debug_body]
127
+
128
+ # return_type
129
+ return_type = opts[:debug_return_type]
130
+
131
+ # auth_names
132
+ auth_names = opts[:debug_auth_names] || ['token']
133
+
134
+ new_options = opts.merge(
135
+ :operation => :"AiRuntimeControlProviderConnectionsApi.arc_delete_provider_connection",
136
+ :header_params => header_params,
137
+ :query_params => query_params,
138
+ :form_params => form_params,
139
+ :body => post_body,
140
+ :auth_names => auth_names,
141
+ :return_type => return_type
142
+ )
143
+
144
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
145
+ if @api_client.config.debugging
146
+ @api_client.config.logger.debug "API called: AiRuntimeControlProviderConnectionsApi#arc_delete_provider_connection\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
147
+ end
148
+ return data, status_code, headers
149
+ end
150
+
151
+ # Get a provider connection
152
+ # Retrieve a single provider connection.
153
+ # @option opts [String] :id The ID of the provider connection. (required)
154
+ # @return [ArcGetProviderConnectionResponse]
155
+ def arc_get_provider_connection(opts = {})
156
+ data, _status_code, _headers = arc_get_provider_connection_with_http_info(opts)
157
+ data
158
+ end
159
+
160
+ # Get a provider connection
161
+ # Retrieve a single provider connection.
162
+ # @option opts [String] :id The ID of the provider connection. (required)
163
+ # @return [Array<(ArcGetProviderConnectionResponse, Integer, Hash)>] ArcGetProviderConnectionResponse data, response status code and response headers
164
+ def arc_get_provider_connection_with_http_info(opts = {})
165
+ if @api_client.config.debugging
166
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlProviderConnectionsApi.arc_get_provider_connection ...'
167
+ end
168
+ # unbox the parameters from the hash
169
+ id = opts[:'id']
170
+ # verify the required parameter 'id' is set
171
+ if @api_client.config.client_side_validation && id.nil?
172
+ fail ArgumentError, "Missing the required parameter 'id' when calling AiRuntimeControlProviderConnectionsApi.arc_get_provider_connection"
173
+ end
174
+ # resource path
175
+ local_var_path = '/ai-runtime-control/v1/provider-connections/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
176
+
177
+ # query parameters
178
+ query_params = opts[:query_params] || {}
179
+
180
+ # header parameters
181
+ header_params = opts[:header_params] || {}
182
+ # HTTP header 'Accept' (if needed)
183
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
184
+
185
+ # form parameters
186
+ form_params = opts[:form_params] || {}
187
+
188
+ # http body (model)
189
+ post_body = opts[:debug_body]
190
+
191
+ # return_type
192
+ return_type = opts[:debug_return_type] || 'ArcGetProviderConnectionResponse'
193
+
194
+ # auth_names
195
+ auth_names = opts[:debug_auth_names] || ['token']
196
+
197
+ new_options = opts.merge(
198
+ :operation => :"AiRuntimeControlProviderConnectionsApi.arc_get_provider_connection",
199
+ :header_params => header_params,
200
+ :query_params => query_params,
201
+ :form_params => form_params,
202
+ :body => post_body,
203
+ :auth_names => auth_names,
204
+ :return_type => return_type
205
+ )
206
+
207
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
208
+ if @api_client.config.debugging
209
+ @api_client.config.logger.debug "API called: AiRuntimeControlProviderConnectionsApi#arc_get_provider_connection\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
210
+ end
211
+ return data, status_code, headers
212
+ end
213
+
214
+ # List provider connections
215
+ # List the provider connections belonging to your account.
216
+ # @option opts [Boolean] :include_deleted Include deleted provider connections in the results. Deleted connections have a &#x60;deleted_at&#x60; value. (default to false)
217
+ # @option opts [String] :sort Sort field. Prefix with &#x60;-&#x60; for descending order (e.g., &#x60;sort&#x3D;-name&#x60;). (default to 'created_at')
218
+ # @return [ArcProviderConnectionsResponse]
219
+ def arc_list_provider_connections(opts = {})
220
+ data, _status_code, _headers = arc_list_provider_connections_with_http_info(opts)
221
+ data
222
+ end
223
+
224
+ # List provider connections
225
+ # List the provider connections belonging to your account.
226
+ # @option opts [Boolean] :include_deleted Include deleted provider connections in the results. Deleted connections have a &#x60;deleted_at&#x60; value. (default to false)
227
+ # @option opts [String] :sort Sort field. Prefix with &#x60;-&#x60; for descending order (e.g., &#x60;sort&#x3D;-name&#x60;). (default to 'created_at')
228
+ # @return [Array<(ArcProviderConnectionsResponse, Integer, Hash)>] ArcProviderConnectionsResponse data, response status code and response headers
229
+ def arc_list_provider_connections_with_http_info(opts = {})
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlProviderConnectionsApi.arc_list_provider_connections ...'
232
+ end
233
+ # unbox the parameters from the hash
234
+ allowable_values = ["created_at", "-created_at", "updated_at", "-updated_at", "name", "-name"]
235
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
236
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
237
+ end
238
+ # resource path
239
+ local_var_path = '/ai-runtime-control/v1/provider-connections'
240
+
241
+ # query parameters
242
+ query_params = opts[:query_params] || {}
243
+ query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil?
244
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
245
+
246
+ # header parameters
247
+ header_params = opts[:header_params] || {}
248
+ # HTTP header 'Accept' (if needed)
249
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
250
+
251
+ # form parameters
252
+ form_params = opts[:form_params] || {}
253
+
254
+ # http body (model)
255
+ post_body = opts[:debug_body]
256
+
257
+ # return_type
258
+ return_type = opts[:debug_return_type] || 'ArcProviderConnectionsResponse'
259
+
260
+ # auth_names
261
+ auth_names = opts[:debug_auth_names] || ['token']
262
+
263
+ new_options = opts.merge(
264
+ :operation => :"AiRuntimeControlProviderConnectionsApi.arc_list_provider_connections",
265
+ :header_params => header_params,
266
+ :query_params => query_params,
267
+ :form_params => form_params,
268
+ :body => post_body,
269
+ :auth_names => auth_names,
270
+ :return_type => return_type
271
+ )
272
+
273
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
274
+ if @api_client.config.debugging
275
+ @api_client.config.logger.debug "API called: AiRuntimeControlProviderConnectionsApi#arc_list_provider_connections\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
276
+ end
277
+ return data, status_code, headers
278
+ end
279
+
280
+ # Update a provider connection
281
+ # Update the attributes of a provider connection. Only the fields you include are changed. Which fields you can set depends on the connection's existing `auth_type`: `base_url` and `api_key` apply only to `api-key` connections, and `customer_role_arn` and `region` apply only to `aws-iam` connections. `auth_type` itself cannot be changed.
282
+ # @option opts [String] :id The ID of the provider connection. (required)
283
+ # @option opts [ArcUpdateProviderConnectionRequest] :arc_update_provider_connection_request (required)
284
+ # @return [ArcProviderConnectionResponse]
285
+ def arc_update_provider_connection(opts = {})
286
+ data, _status_code, _headers = arc_update_provider_connection_with_http_info(opts)
287
+ data
288
+ end
289
+
290
+ # Update a provider connection
291
+ # Update the attributes of a provider connection. Only the fields you include are changed. Which fields you can set depends on the connection&#39;s existing &#x60;auth_type&#x60;: &#x60;base_url&#x60; and &#x60;api_key&#x60; apply only to &#x60;api-key&#x60; connections, and &#x60;customer_role_arn&#x60; and &#x60;region&#x60; apply only to &#x60;aws-iam&#x60; connections. &#x60;auth_type&#x60; itself cannot be changed.
292
+ # @option opts [String] :id The ID of the provider connection. (required)
293
+ # @option opts [ArcUpdateProviderConnectionRequest] :arc_update_provider_connection_request (required)
294
+ # @return [Array<(ArcProviderConnectionResponse, Integer, Hash)>] ArcProviderConnectionResponse data, response status code and response headers
295
+ def arc_update_provider_connection_with_http_info(opts = {})
296
+ if @api_client.config.debugging
297
+ @api_client.config.logger.debug 'Calling API: AiRuntimeControlProviderConnectionsApi.arc_update_provider_connection ...'
298
+ end
299
+ # unbox the parameters from the hash
300
+ id = opts[:'id']
301
+ arc_update_provider_connection_request = opts[:'arc_update_provider_connection_request']
302
+ # verify the required parameter 'id' is set
303
+ if @api_client.config.client_side_validation && id.nil?
304
+ fail ArgumentError, "Missing the required parameter 'id' when calling AiRuntimeControlProviderConnectionsApi.arc_update_provider_connection"
305
+ end
306
+ # verify the required parameter 'arc_update_provider_connection_request' is set
307
+ if @api_client.config.client_side_validation && arc_update_provider_connection_request.nil?
308
+ fail ArgumentError, "Missing the required parameter 'arc_update_provider_connection_request' when calling AiRuntimeControlProviderConnectionsApi.arc_update_provider_connection"
309
+ end
310
+ # resource path
311
+ local_var_path = '/ai-runtime-control/v1/provider-connections/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
312
+
313
+ # query parameters
314
+ query_params = opts[:query_params] || {}
315
+
316
+ # header parameters
317
+ header_params = opts[:header_params] || {}
318
+ # HTTP header 'Accept' (if needed)
319
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
320
+ # HTTP header 'Content-Type'
321
+ content_type = @api_client.select_header_content_type(['application/json'])
322
+ if !content_type.nil?
323
+ header_params['Content-Type'] = content_type
324
+ end
325
+
326
+ # form parameters
327
+ form_params = opts[:form_params] || {}
328
+
329
+ # http body (model)
330
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(arc_update_provider_connection_request)
331
+
332
+ # return_type
333
+ return_type = opts[:debug_return_type] || 'ArcProviderConnectionResponse'
334
+
335
+ # auth_names
336
+ auth_names = opts[:debug_auth_names] || ['token']
337
+
338
+ new_options = opts.merge(
339
+ :operation => :"AiRuntimeControlProviderConnectionsApi.arc_update_provider_connection",
340
+ :header_params => header_params,
341
+ :query_params => query_params,
342
+ :form_params => form_params,
343
+ :body => post_body,
344
+ :auth_names => auth_names,
345
+ :return_type => return_type
346
+ )
347
+
348
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
349
+ if @api_client.config.debugging
350
+ @api_client.config.logger.debug "API called: AiRuntimeControlProviderConnectionsApi#arc_update_provider_connection\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
351
+ end
352
+ return data, status_code, headers
353
+ end
354
+ end
355
+ end
@@ -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&#39;s IAM trust policy before creating an &#x60;aws-iam&#x60; [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&#39;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