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,137 @@
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 BotRequestsMetricsApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Get per-service historical time series metrics for bot requests broken down by bot-type.
21
+ # Return historical time series metrics for bot requests broken down by bot-type.
22
+ # @option opts [String] :granularity Duration of sample windows. (required)
23
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
24
+ # @option opts [String] :from A valid RFC-8339-formatted date and time indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided `granularity` value.
25
+ # @option opts [String] :to A valid RFC-8339-formatted date and time indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided `granularity` value.
26
+ # @option opts [String] :group_by Field to group by in the query. For example, `group_by=bot_id` will return entries grouped by `timestamp` and `bot_id`.
27
+ # @option opts [String] :datacenter Limit query to one or more specific POPs. Values should be comma-separated.
28
+ # @option opts [String] :bot Filter results based by Bot ID.
29
+ # @option opts [String] :region Limit query to one or more specific geographic regions. Values should be comma-separated.
30
+ # @option opts [String] :cursor Cursor value from the `next_cursor` field of a previous response, used to retrieve the next page. To request the first page, this should be empty.
31
+ # @option opts [String] :metric One or more metrics to retrieve. Multiple values should be comma-separated.
32
+ # @option opts [String] :metric_set The metric set to retrieve.
33
+ # @option opts [String] :limit Number of results per page. The maximum is 10000. (default to '1000')
34
+ # @return [BotRequestMetricsResponse]
35
+ def get_bot_request_metrics_service_historical(opts = {})
36
+ data, _status_code, _headers = get_bot_request_metrics_service_historical_with_http_info(opts)
37
+ data
38
+ end
39
+
40
+ # Get per-service historical time series metrics for bot requests broken down by bot-type.
41
+ # Return historical time series metrics for bot requests broken down by bot-type.
42
+ # @option opts [String] :granularity Duration of sample windows. (required)
43
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
44
+ # @option opts [String] :from A valid RFC-8339-formatted date and time indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided `granularity` value.
45
+ # @option opts [String] :to A valid RFC-8339-formatted date and time indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided `granularity` value.
46
+ # @option opts [String] :group_by Field to group by in the query. For example, `group_by=bot_id` will return entries grouped by `timestamp` and `bot_id`.
47
+ # @option opts [String] :datacenter Limit query to one or more specific POPs. Values should be comma-separated.
48
+ # @option opts [String] :bot Filter results based by Bot ID.
49
+ # @option opts [String] :region Limit query to one or more specific geographic regions. Values should be comma-separated.
50
+ # @option opts [String] :cursor Cursor value from the `next_cursor` field of a previous response, used to retrieve the next page. To request the first page, this should be empty.
51
+ # @option opts [String] :metric One or more metrics to retrieve. Multiple values should be comma-separated.
52
+ # @option opts [String] :metric_set The metric set to retrieve.
53
+ # @option opts [String] :limit Number of results per page. The maximum is 10000. (default to '1000')
54
+ # @return [Array<(BotRequestMetricsResponse, Integer, Hash)>] BotRequestMetricsResponse data, response status code and response headers
55
+ def get_bot_request_metrics_service_historical_with_http_info(opts = {})
56
+ if @api_client.config.debugging
57
+ @api_client.config.logger.debug 'Calling API: BotRequestsMetricsApi.get_bot_request_metrics_service_historical ...'
58
+ end
59
+ # unbox the parameters from the hash
60
+ granularity = opts[:'granularity']
61
+ service_id = opts[:'service_id']
62
+ # verify the required parameter 'granularity' is set
63
+ if @api_client.config.client_side_validation && granularity.nil?
64
+ fail ArgumentError, "Missing the required parameter 'granularity' when calling BotRequestsMetricsApi.get_bot_request_metrics_service_historical"
65
+ end
66
+ # verify enum value
67
+ allowable_values = ["minutely", "hourly", "daily"]
68
+ if @api_client.config.client_side_validation && !allowable_values.include?(granularity)
69
+ fail ArgumentError, "invalid value for \"granularity\", must be one of #{allowable_values}"
70
+ end
71
+ # verify the required parameter 'service_id' is set
72
+ if @api_client.config.client_side_validation && service_id.nil?
73
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling BotRequestsMetricsApi.get_bot_request_metrics_service_historical"
74
+ end
75
+ allowable_values = ["datacenter", "bot_id"]
76
+ if @api_client.config.client_side_validation && opts[:'group_by'] && !allowable_values.include?(opts[:'group_by'])
77
+ fail ArgumentError, "invalid value for \"group_by\", must be one of #{allowable_values}"
78
+ end
79
+ allowable_values = ["africa_std", "anzac", "asia", "asia_india", "asia_southkorea", "europe", "mexico", "southamerica_std", "usa"]
80
+ if @api_client.config.client_side_validation && opts[:'region'] && !allowable_values.include?(opts[:'region'])
81
+ fail ArgumentError, "invalid value for \"region\", must be one of #{allowable_values}"
82
+ end
83
+ allowable_values = ["content_guard"]
84
+ if @api_client.config.client_side_validation && opts[:'metric_set'] && !allowable_values.include?(opts[:'metric_set'])
85
+ fail ArgumentError, "invalid value for \"metric_set\", must be one of #{allowable_values}"
86
+ end
87
+ # resource path
88
+ local_var_path = '/metrics/bots/entities/{service_id}/{granularity}'.sub('{' + 'granularity' + '}', CGI.escape(granularity.to_s)).sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
89
+
90
+ # query parameters
91
+ query_params = opts[:query_params] || {}
92
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
93
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
94
+ query_params[:'group_by'] = opts[:'group_by'] if !opts[:'group_by'].nil?
95
+ query_params[:'datacenter'] = opts[:'datacenter'] if !opts[:'datacenter'].nil?
96
+ query_params[:'bot'] = opts[:'bot'] if !opts[:'bot'].nil?
97
+ query_params[:'region'] = opts[:'region'] if !opts[:'region'].nil?
98
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
99
+ query_params[:'metric'] = opts[:'metric'] if !opts[:'metric'].nil?
100
+ query_params[:'metric_set'] = opts[:'metric_set'] if !opts[:'metric_set'].nil?
101
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
102
+
103
+ # header parameters
104
+ header_params = opts[:header_params] || {}
105
+ # HTTP header 'Accept' (if needed)
106
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
107
+
108
+ # form parameters
109
+ form_params = opts[:form_params] || {}
110
+
111
+ # http body (model)
112
+ post_body = opts[:debug_body]
113
+
114
+ # return_type
115
+ return_type = opts[:debug_return_type] || 'BotRequestMetricsResponse'
116
+
117
+ # auth_names
118
+ auth_names = opts[:debug_auth_names] || ['token']
119
+
120
+ new_options = opts.merge(
121
+ :operation => :"BotRequestsMetricsApi.get_bot_request_metrics_service_historical",
122
+ :header_params => header_params,
123
+ :query_params => query_params,
124
+ :form_params => form_params,
125
+ :body => post_body,
126
+ :auth_names => auth_names,
127
+ :return_type => return_type
128
+ )
129
+
130
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
131
+ if @api_client.config.debugging
132
+ @api_client.config.logger.debug "API called: BotRequestsMetricsApi#get_bot_request_metrics_service_historical\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
133
+ end
134
+ return data, status_code, headers
135
+ end
136
+ end
137
+ end
@@ -98,7 +98,7 @@ module Fastly
98
98
  # Create DictionaryItem given service, dictionary ID, item key, and item value.
99
99
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
100
100
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
101
- # @option opts [String] :item_key Item key, maximum 256 characters.
101
+ # @option opts [String] :item_key Item key, maximum 255 characters.
102
102
  # @option opts [String] :item_value Item value, maximum 8000 characters.
103
103
  # @return [DictionaryItemResponse]
104
104
  def create_dictionary_item(opts = {})
@@ -110,7 +110,7 @@ module Fastly
110
110
  # Create DictionaryItem given service, dictionary ID, item key, and item value.
111
111
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
112
112
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
113
- # @option opts [String] :item_key Item key, maximum 256 characters.
113
+ # @option opts [String] :item_key Item key, maximum 255 characters.
114
114
  # @option opts [String] :item_value Item value, maximum 8000 characters.
115
115
  # @return [Array<(DictionaryItemResponse, Integer, Hash)>] DictionaryItemResponse data, response status code and response headers
116
116
  def create_dictionary_item_with_http_info(opts = {})
@@ -179,7 +179,7 @@ module Fastly
179
179
  # Delete DictionaryItem given service, dictionary ID, and item key.
180
180
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
181
181
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
182
- # @option opts [String] :dictionary_item_key Item key, maximum 256 characters. (required)
182
+ # @option opts [String] :dictionary_item_key Item key, maximum 255 characters. (required)
183
183
  # @return [InlineResponse200]
184
184
  def delete_dictionary_item(opts = {})
185
185
  data, _status_code, _headers = delete_dictionary_item_with_http_info(opts)
@@ -190,7 +190,7 @@ module Fastly
190
190
  # Delete DictionaryItem given service, dictionary ID, and item key.
191
191
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
192
192
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
193
- # @option opts [String] :dictionary_item_key Item key, maximum 256 characters. (required)
193
+ # @option opts [String] :dictionary_item_key Item key, maximum 255 characters. (required)
194
194
  # @return [Array<(InlineResponse200, Integer, Hash)>] InlineResponse200 data, response status code and response headers
195
195
  def delete_dictionary_item_with_http_info(opts = {})
196
196
  if @api_client.config.debugging
@@ -256,7 +256,7 @@ module Fastly
256
256
  # Retrieve a single DictionaryItem given service, dictionary ID and item key.
257
257
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
258
258
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
259
- # @option opts [String] :dictionary_item_key Item key, maximum 256 characters. (required)
259
+ # @option opts [String] :dictionary_item_key Item key, maximum 255 characters. (required)
260
260
  # @return [DictionaryItemResponse]
261
261
  def get_dictionary_item(opts = {})
262
262
  data, _status_code, _headers = get_dictionary_item_with_http_info(opts)
@@ -267,7 +267,7 @@ module Fastly
267
267
  # Retrieve a single DictionaryItem given service, dictionary ID and item key.
268
268
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
269
269
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
270
- # @option opts [String] :dictionary_item_key Item key, maximum 256 characters. (required)
270
+ # @option opts [String] :dictionary_item_key Item key, maximum 255 characters. (required)
271
271
  # @return [Array<(DictionaryItemResponse, Integer, Hash)>] DictionaryItemResponse data, response status code and response headers
272
272
  def get_dictionary_item_with_http_info(opts = {})
273
273
  if @api_client.config.debugging
@@ -427,8 +427,8 @@ module Fastly
427
427
  # Update DictionaryItem given service, dictionary ID, item key, and item value.
428
428
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
429
429
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
430
- # @option opts [String] :dictionary_item_key Item key, maximum 256 characters. (required)
431
- # @option opts [String] :item_key Item key, maximum 256 characters.
430
+ # @option opts [String] :dictionary_item_key Item key, maximum 255 characters. (required)
431
+ # @option opts [String] :item_key Item key, maximum 255 characters.
432
432
  # @option opts [String] :item_value Item value, maximum 8000 characters.
433
433
  # @return [DictionaryItemResponse]
434
434
  def update_dictionary_item(opts = {})
@@ -440,8 +440,8 @@ module Fastly
440
440
  # Update DictionaryItem given service, dictionary ID, item key, and item value.
441
441
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
442
442
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
443
- # @option opts [String] :dictionary_item_key Item key, maximum 256 characters. (required)
444
- # @option opts [String] :item_key Item key, maximum 256 characters.
443
+ # @option opts [String] :dictionary_item_key Item key, maximum 255 characters. (required)
444
+ # @option opts [String] :item_key Item key, maximum 255 characters.
445
445
  # @option opts [String] :item_value Item value, maximum 8000 characters.
446
446
  # @return [Array<(DictionaryItemResponse, Integer, Hash)>] DictionaryItemResponse data, response status code and response headers
447
447
  def update_dictionary_item_with_http_info(opts = {})
@@ -515,8 +515,8 @@ module Fastly
515
515
  # Upsert DictionaryItem given service, dictionary ID, item key, and item value.
516
516
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
517
517
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
518
- # @option opts [String] :dictionary_item_key Item key, maximum 256 characters. (required)
519
- # @option opts [String] :item_key Item key, maximum 256 characters.
518
+ # @option opts [String] :dictionary_item_key Item key, maximum 255 characters. (required)
519
+ # @option opts [String] :item_key Item key, maximum 255 characters.
520
520
  # @option opts [String] :item_value Item value, maximum 8000 characters.
521
521
  # @return [DictionaryItemResponse]
522
522
  def upsert_dictionary_item(opts = {})
@@ -528,8 +528,8 @@ module Fastly
528
528
  # Upsert DictionaryItem given service, dictionary ID, item key, and item value.
529
529
  # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
530
530
  # @option opts [String] :dictionary_id Alphanumeric string identifying a Dictionary. (required)
531
- # @option opts [String] :dictionary_item_key Item key, maximum 256 characters. (required)
532
- # @option opts [String] :item_key Item key, maximum 256 characters.
531
+ # @option opts [String] :dictionary_item_key Item key, maximum 255 characters. (required)
532
+ # @option opts [String] :item_key Item key, maximum 255 characters.
533
533
  # @option opts [String] :item_value Item value, maximum 8000 characters.
534
534
  # @return [Array<(DictionaryItemResponse, Integer, Hash)>] DictionaryItemResponse data, response status code and response headers
535
535
  def upsert_dictionary_item_with_http_info(opts = {})
@@ -17,60 +17,167 @@ module Fastly
17
17
  def initialize(api_client = ApiClient.default)
18
18
  @api_client = api_client
19
19
  end
20
- # Get historical time series metrics for a single service
21
- # Fetches historical metrics for a single service for a given granularity.
22
- # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
20
+ # Get aggregated historical time series metrics for all entities
21
+ # Fetches historical metrics for all entities for a customer for a given granularity. Entity in this context refers to an instance of a Fastly resource, such as a VCL service, Compute service, or NGWAF workspace.
23
22
  # @option opts [String] :granularity Duration of sample windows. (required)
24
23
  # @option opts [String] :from A valid RFC-8339-formatted date and time indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided &#x60;granularity&#x60; value.
25
24
  # @option opts [String] :to A valid RFC-8339-formatted date and time indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided &#x60;granularity&#x60; value.
26
- # @option opts [String] :metric The metric(s) to retrieve. Multiple values should be comma-separated.
27
- # @option opts [String] :metric_set The metric set(s) to retrieve. Multiple values should be comma-separated.
25
+ # @option opts [String] :metric One or more metrics to retrieve. Multiple values should be comma-separated.
26
+ # @option opts [String] :metric_set One or more metric sets to retrieve. Multiple values should be comma-separated. A metric set expands to a list of metrics; see the Metric Sets section above for the metrics in each set. A metric that appears in more than one requested set is returned once.
28
27
  # @option opts [String] :group_by Field to group_by in the query. For example, &#x60;group_by&#x3D;region&#x60; will return entries for grouped by timestamp and region.
29
28
  # @option opts [String] :region Limit query to one or more specific geographic regions. Values should be comma-separated.
30
29
  # @option opts [String] :datacenter Limit query to one or more specific POPs. Values should be comma-separated.
31
30
  # @option opts [String] :cursor Cursor value from the &#x60;next_cursor&#x60; field of a previous response, used to retrieve the next page. To request the first page, this should be empty.
32
31
  # @option opts [String] :limit Number of results per page. The maximum is 10000. (default to '1000')
33
32
  # @return [PlatformMetricsResponse]
34
- def get_platform_metrics_service_historical(opts = {})
35
- data, _status_code, _headers = get_platform_metrics_service_historical_with_http_info(opts)
33
+ def get_platform_metrics_aggregate_historical(opts = {})
34
+ data, _status_code, _headers = get_platform_metrics_aggregate_historical_with_http_info(opts)
36
35
  data
37
36
  end
38
37
 
39
- # Get historical time series metrics for a single service
40
- # Fetches historical metrics for a single service for a given granularity.
41
- # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
38
+ # Get aggregated historical time series metrics for all entities
39
+ # Fetches historical metrics for all entities for a customer for a given granularity. Entity in this context refers to an instance of a Fastly resource, such as a VCL service, Compute service, or NGWAF workspace.
42
40
  # @option opts [String] :granularity Duration of sample windows. (required)
43
41
  # @option opts [String] :from A valid RFC-8339-formatted date and time indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided &#x60;granularity&#x60; value.
44
42
  # @option opts [String] :to A valid RFC-8339-formatted date and time indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided &#x60;granularity&#x60; value.
45
- # @option opts [String] :metric The metric(s) to retrieve. Multiple values should be comma-separated.
46
- # @option opts [String] :metric_set The metric set(s) to retrieve. Multiple values should be comma-separated.
43
+ # @option opts [String] :metric One or more metrics to retrieve. Multiple values should be comma-separated.
44
+ # @option opts [String] :metric_set One or more metric sets to retrieve. Multiple values should be comma-separated. A metric set expands to a list of metrics; see the Metric Sets section above for the metrics in each set. A metric that appears in more than one requested set is returned once.
47
45
  # @option opts [String] :group_by Field to group_by in the query. For example, &#x60;group_by&#x3D;region&#x60; will return entries for grouped by timestamp and region.
48
46
  # @option opts [String] :region Limit query to one or more specific geographic regions. Values should be comma-separated.
49
47
  # @option opts [String] :datacenter Limit query to one or more specific POPs. Values should be comma-separated.
50
48
  # @option opts [String] :cursor Cursor value from the &#x60;next_cursor&#x60; field of a previous response, used to retrieve the next page. To request the first page, this should be empty.
51
49
  # @option opts [String] :limit Number of results per page. The maximum is 10000. (default to '1000')
52
50
  # @return [Array<(PlatformMetricsResponse, Integer, Hash)>] PlatformMetricsResponse data, response status code and response headers
53
- def get_platform_metrics_service_historical_with_http_info(opts = {})
51
+ def get_platform_metrics_aggregate_historical_with_http_info(opts = {})
54
52
  if @api_client.config.debugging
55
- @api_client.config.logger.debug 'Calling API: MetricsPlatformApi.get_platform_metrics_service_historical ...'
53
+ @api_client.config.logger.debug 'Calling API: MetricsPlatformApi.get_platform_metrics_aggregate_historical ...'
56
54
  end
57
55
  # unbox the parameters from the hash
58
- service_id = opts[:'service_id']
59
56
  granularity = opts[:'granularity']
60
- # verify the required parameter 'service_id' is set
61
- if @api_client.config.client_side_validation && service_id.nil?
62
- fail ArgumentError, "Missing the required parameter 'service_id' when calling MetricsPlatformApi.get_platform_metrics_service_historical"
57
+ # verify the required parameter 'granularity' is set
58
+ if @api_client.config.client_side_validation && granularity.nil?
59
+ fail ArgumentError, "Missing the required parameter 'granularity' when calling MetricsPlatformApi.get_platform_metrics_aggregate_historical"
60
+ end
61
+ # verify enum value
62
+ allowable_values = ["minutely", "hourly", "daily"]
63
+ if @api_client.config.client_side_validation && !allowable_values.include?(granularity)
64
+ fail ArgumentError, "invalid value for \"granularity\", must be one of #{allowable_values}"
65
+ end
66
+ allowable_values = ["delivery_traffic_flow", "delivery_cache_performance", "delivery_errors", "compute_traffic_flow", "compute_performance", "compute_errors", "content_guard", "content_security", "ddos", "domain_api", "fanout", "image_opto", "ngwaf", "object_storage", "websockets"]
67
+ if @api_client.config.client_side_validation && opts[:'metric_set'] && !allowable_values.include?(opts[:'metric_set'])
68
+ fail ArgumentError, "invalid value for \"metric_set\", must be one of #{allowable_values}"
69
+ end
70
+ allowable_values = ["datacenter", "region"]
71
+ if @api_client.config.client_side_validation && opts[:'group_by'] && !allowable_values.include?(opts[:'group_by'])
72
+ fail ArgumentError, "invalid value for \"group_by\", must be one of #{allowable_values}"
73
+ end
74
+ allowable_values = ["africa_std", "anzac", "asia", "asia_india", "asia_southkorea", "europe", "mexico", "southamerica_std", "usa"]
75
+ if @api_client.config.client_side_validation && opts[:'region'] && !allowable_values.include?(opts[:'region'])
76
+ fail ArgumentError, "invalid value for \"region\", must be one of #{allowable_values}"
77
+ end
78
+ # resource path
79
+ local_var_path = '/metrics/v2/platform/aggregate/{granularity}'.sub('{' + 'granularity' + '}', CGI.escape(granularity.to_s))
80
+
81
+ # query parameters
82
+ query_params = opts[:query_params] || {}
83
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
84
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
85
+ query_params[:'metric'] = opts[:'metric'] if !opts[:'metric'].nil?
86
+ query_params[:'metric_set'] = opts[:'metric_set'] if !opts[:'metric_set'].nil?
87
+ query_params[:'group_by'] = opts[:'group_by'] if !opts[:'group_by'].nil?
88
+ query_params[:'region'] = opts[:'region'] if !opts[:'region'].nil?
89
+ query_params[:'datacenter'] = opts[:'datacenter'] if !opts[:'datacenter'].nil?
90
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
91
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
92
+
93
+ # header parameters
94
+ header_params = opts[:header_params] || {}
95
+ # HTTP header 'Accept' (if needed)
96
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
97
+
98
+ # form parameters
99
+ form_params = opts[:form_params] || {}
100
+
101
+ # http body (model)
102
+ post_body = opts[:debug_body]
103
+
104
+ # return_type
105
+ return_type = opts[:debug_return_type] || 'PlatformMetricsResponse'
106
+
107
+ # auth_names
108
+ auth_names = opts[:debug_auth_names] || ['token']
109
+
110
+ new_options = opts.merge(
111
+ :operation => :"MetricsPlatformApi.get_platform_metrics_aggregate_historical",
112
+ :header_params => header_params,
113
+ :query_params => query_params,
114
+ :form_params => form_params,
115
+ :body => post_body,
116
+ :auth_names => auth_names,
117
+ :return_type => return_type
118
+ )
119
+
120
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
121
+ if @api_client.config.debugging
122
+ @api_client.config.logger.debug "API called: MetricsPlatformApi#get_platform_metrics_aggregate_historical\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
123
+ end
124
+ return data, status_code, headers
125
+ end
126
+
127
+ # Get historical time series metrics for a single entity.
128
+ # Fetches historical metrics for a single entity for a given granularity. Entity in this context refers to an instance of a Fastly resource, such as a VCL service, Compute service, or NGWAF workspace.
129
+ # @option opts [String] :entity_id Alphanumeric string identifying the entity. (required)
130
+ # @option opts [String] :granularity Duration of sample windows. (required)
131
+ # @option opts [String] :from A valid RFC-8339-formatted date and time indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided &#x60;granularity&#x60; value.
132
+ # @option opts [String] :to A valid RFC-8339-formatted date and time indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided &#x60;granularity&#x60; value.
133
+ # @option opts [String] :metric One or more metrics to retrieve. Multiple values should be comma-separated.
134
+ # @option opts [String] :metric_set One or more metric sets to retrieve. Multiple values should be comma-separated. A metric set expands to a list of metrics; see the Metric Sets section above for the metrics in each set. A metric that appears in more than one requested set is returned once.
135
+ # @option opts [String] :group_by Field to group_by in the query. For example, &#x60;group_by&#x3D;region&#x60; will return entries for grouped by timestamp and region.
136
+ # @option opts [String] :region Limit query to one or more specific geographic regions. Values should be comma-separated.
137
+ # @option opts [String] :datacenter Limit query to one or more specific POPs. Values should be comma-separated.
138
+ # @option opts [String] :cursor Cursor value from the &#x60;next_cursor&#x60; field of a previous response, used to retrieve the next page. To request the first page, this should be empty.
139
+ # @option opts [String] :limit Number of results per page. The maximum is 10000. (default to '1000')
140
+ # @return [PlatformMetricsResponse]
141
+ def get_platform_metrics_entity_historical(opts = {})
142
+ data, _status_code, _headers = get_platform_metrics_entity_historical_with_http_info(opts)
143
+ data
144
+ end
145
+
146
+ # Get historical time series metrics for a single entity.
147
+ # Fetches historical metrics for a single entity for a given granularity. Entity in this context refers to an instance of a Fastly resource, such as a VCL service, Compute service, or NGWAF workspace.
148
+ # @option opts [String] :entity_id Alphanumeric string identifying the entity. (required)
149
+ # @option opts [String] :granularity Duration of sample windows. (required)
150
+ # @option opts [String] :from A valid RFC-8339-formatted date and time indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided &#x60;granularity&#x60; value.
151
+ # @option opts [String] :to A valid RFC-8339-formatted date and time indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided &#x60;granularity&#x60; value.
152
+ # @option opts [String] :metric One or more metrics to retrieve. Multiple values should be comma-separated.
153
+ # @option opts [String] :metric_set One or more metric sets to retrieve. Multiple values should be comma-separated. A metric set expands to a list of metrics; see the Metric Sets section above for the metrics in each set. A metric that appears in more than one requested set is returned once.
154
+ # @option opts [String] :group_by Field to group_by in the query. For example, &#x60;group_by&#x3D;region&#x60; will return entries for grouped by timestamp and region.
155
+ # @option opts [String] :region Limit query to one or more specific geographic regions. Values should be comma-separated.
156
+ # @option opts [String] :datacenter Limit query to one or more specific POPs. Values should be comma-separated.
157
+ # @option opts [String] :cursor Cursor value from the &#x60;next_cursor&#x60; field of a previous response, used to retrieve the next page. To request the first page, this should be empty.
158
+ # @option opts [String] :limit Number of results per page. The maximum is 10000. (default to '1000')
159
+ # @return [Array<(PlatformMetricsResponse, Integer, Hash)>] PlatformMetricsResponse data, response status code and response headers
160
+ def get_platform_metrics_entity_historical_with_http_info(opts = {})
161
+ if @api_client.config.debugging
162
+ @api_client.config.logger.debug 'Calling API: MetricsPlatformApi.get_platform_metrics_entity_historical ...'
163
+ end
164
+ # unbox the parameters from the hash
165
+ entity_id = opts[:'entity_id']
166
+ granularity = opts[:'granularity']
167
+ # verify the required parameter 'entity_id' is set
168
+ if @api_client.config.client_side_validation && entity_id.nil?
169
+ fail ArgumentError, "Missing the required parameter 'entity_id' when calling MetricsPlatformApi.get_platform_metrics_entity_historical"
63
170
  end
64
171
  # verify the required parameter 'granularity' is set
65
172
  if @api_client.config.client_side_validation && granularity.nil?
66
- fail ArgumentError, "Missing the required parameter 'granularity' when calling MetricsPlatformApi.get_platform_metrics_service_historical"
173
+ fail ArgumentError, "Missing the required parameter 'granularity' when calling MetricsPlatformApi.get_platform_metrics_entity_historical"
67
174
  end
68
175
  # verify enum value
69
176
  allowable_values = ["minutely", "hourly", "daily"]
70
177
  if @api_client.config.client_side_validation && !allowable_values.include?(granularity)
71
178
  fail ArgumentError, "invalid value for \"granularity\", must be one of #{allowable_values}"
72
179
  end
73
- allowable_values = ["ttfb"]
180
+ allowable_values = ["delivery_traffic_flow", "delivery_cache_performance", "delivery_errors", "compute_traffic_flow", "compute_performance", "compute_errors", "content_guard", "content_security", "ddos", "domain_api", "fanout", "image_opto", "ngwaf", "object_storage", "websockets"]
74
181
  if @api_client.config.client_side_validation && opts[:'metric_set'] && !allowable_values.include?(opts[:'metric_set'])
75
182
  fail ArgumentError, "invalid value for \"metric_set\", must be one of #{allowable_values}"
76
183
  end
@@ -83,7 +190,7 @@ module Fastly
83
190
  fail ArgumentError, "invalid value for \"region\", must be one of #{allowable_values}"
84
191
  end
85
192
  # resource path
86
- local_var_path = '/metrics/platform/services/{service_id}/{granularity}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s)).sub('{' + 'granularity' + '}', CGI.escape(granularity.to_s))
193
+ local_var_path = '/metrics/v2/platform/entities/{entity_id}/{granularity}'.sub('{' + 'entity_id' + '}', CGI.escape(entity_id.to_s)).sub('{' + 'granularity' + '}', CGI.escape(granularity.to_s))
87
194
 
88
195
  # query parameters
89
196
  query_params = opts[:query_params] || {}
@@ -115,7 +222,7 @@ module Fastly
115
222
  auth_names = opts[:debug_auth_names] || ['token']
116
223
 
117
224
  new_options = opts.merge(
118
- :operation => :"MetricsPlatformApi.get_platform_metrics_service_historical",
225
+ :operation => :"MetricsPlatformApi.get_platform_metrics_entity_historical",
119
226
  :header_params => header_params,
120
227
  :query_params => query_params,
121
228
  :form_params => form_params,
@@ -126,7 +233,7 @@ module Fastly
126
233
 
127
234
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
128
235
  if @api_client.config.debugging
129
- @api_client.config.logger.debug "API called: MetricsPlatformApi#get_platform_metrics_service_historical\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
236
+ @api_client.config.logger.debug "API called: MetricsPlatformApi#get_platform_metrics_entity_historical\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
130
237
  end
131
238
  return data, status_code, headers
132
239
  end