fastly 17.1.0 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +60 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +73 -2
  5. data/docs/AiRuntimeControlProviderConnectionsApi.md +210 -0
  6. data/docs/AiRuntimeControlProvidersApi.md +121 -0
  7. data/docs/AiRuntimeControlResponseBodyEnable.md +12 -0
  8. data/docs/AiRuntimeControlResponseCustomer.md +10 -0
  9. data/docs/AiRuntimeControlResponseLinks.md +10 -0
  10. data/docs/AiRuntimeControlResponseLinksLinks.md +10 -0
  11. data/docs/AiRuntimeControlResponseProduct.md +10 -0
  12. data/docs/AiRuntimeControlResponseProductProduct.md +11 -0
  13. data/docs/AiRuntimeControlSessionsApi.md +69 -0
  14. data/docs/AiRuntimeControlUsageMetricsApi.md +113 -0
  15. data/docs/AiRuntimeControlVirtualKeysApi.md +334 -0
  16. data/docs/ArcBedrockSetupResponse.md +11 -0
  17. data/docs/ArcCreateVirtualKeyResponse.md +19 -0
  18. data/docs/ArcError.md +12 -0
  19. data/docs/ArcFailoverTarget.md +10 -0
  20. data/docs/ArcGetProviderConnectionResponse.md +19 -0
  21. data/docs/ArcGetProviderConnectionResponseExtra.md +10 -0
  22. data/docs/ArcModel.md +12 -0
  23. data/docs/ArcModelsMeta.md +10 -0
  24. data/docs/ArcModelsResponse.md +11 -0
  25. data/docs/ArcProvider.md +13 -0
  26. data/docs/ArcProviderConnectionApiKey.md +14 -0
  27. data/docs/ArcProviderConnectionAwsIam.md +14 -0
  28. data/docs/ArcProviderConnectionListItemResponse.md +19 -0
  29. data/docs/ArcProviderConnectionListItemResponseExtra.md +10 -0
  30. data/docs/ArcProviderConnectionRequest.md +49 -0
  31. data/docs/ArcProviderConnectionResponse.md +18 -0
  32. data/docs/ArcProviderConnectionsMeta.md +11 -0
  33. data/docs/ArcProviderConnectionsResponse.md +11 -0
  34. data/docs/ArcProvidersMeta.md +10 -0
  35. data/docs/ArcProvidersResponse.md +11 -0
  36. data/docs/ArcRotateVirtualKeyRequest.md +10 -0
  37. data/docs/ArcRotateVirtualKeyResponse.md +17 -0
  38. data/docs/ArcSession.md +28 -0
  39. data/docs/ArcSessionLogEntry.md +12 -0
  40. data/docs/ArcSessionsMeta.md +14 -0
  41. data/docs/ArcSessionsResponse.md +11 -0
  42. data/docs/ArcUpdateProviderConnectionRequest.md +14 -0
  43. data/docs/ArcUpdateVirtualKeyRequest.md +16 -0
  44. data/docs/ArcUpdateVirtualKeyResponse.md +20 -0
  45. data/docs/ArcUsageMetric.md +18 -0
  46. data/docs/ArcUsageMetricsMeta.md +11 -0
  47. data/docs/ArcUsageMetricsResponse.md +11 -0
  48. data/docs/ArcVirtualKey.md +15 -0
  49. data/docs/ArcVirtualKeyFailoverRequest.md +13 -0
  50. data/docs/ArcVirtualKeyFailoverResponse.md +13 -0
  51. data/docs/ArcVirtualKeyListItemResponse.md +26 -0
  52. data/docs/ArcVirtualKeyListItemResponseExtra.md +20 -0
  53. data/docs/ArcVirtualKeyResponse.md +25 -0
  54. data/docs/ArcVirtualKeyResponseExtra.md +19 -0
  55. data/docs/ArcVirtualKeysMeta.md +14 -0
  56. data/docs/ArcVirtualKeysResponse.md +11 -0
  57. data/docs/AutomationToken.md +6 -2
  58. data/docs/AutomationTokenCreateRequest.md +10 -1
  59. data/docs/AutomationTokenCreateResponse.md +6 -2
  60. data/docs/AutomationTokenResponse.md +5 -1
  61. data/docs/AutomationTokenRole.md +11 -0
  62. data/docs/AutomationTokenUnversionedError.md +11 -0
  63. data/docs/AutomationTokenUnversionedErrorResponse.md +10 -0
  64. data/docs/AutomationTokenWorkspace.md +11 -0
  65. data/docs/AutomationTokenWorkspacesMeta.md +12 -0
  66. data/docs/AutomationTokenWorkspacesResponse.md +12 -0
  67. data/docs/AutomationTokensApi.md +43 -1
  68. data/docs/BotManagementAction.md +10 -0
  69. data/docs/BotManagementApi.md +433 -0
  70. data/docs/BotManagementBot.md +10 -0
  71. data/docs/BotManagementBotAction.md +10 -0
  72. data/docs/BotManagementBotResponse.md +12 -0
  73. data/docs/BotManagementBotResponseExtra.md +11 -0
  74. data/docs/BotManagementBotsResponse.md +11 -0
  75. data/docs/BotManagementCategoriesResponse.md +11 -0
  76. data/docs/BotManagementCategory.md +10 -0
  77. data/docs/BotManagementCategoryResponse.md +13 -0
  78. data/docs/BotManagementCategoryResponseExtra.md +12 -0
  79. data/docs/BotManagementError.md +12 -0
  80. data/docs/BotManagementInvalidRequestError.md +12 -0
  81. data/docs/BotManagementInvalidRequestErrorExtra.md +12 -0
  82. data/docs/BotManagementMeta.md +12 -0
  83. data/docs/BotManagementNotAllowedError.md +12 -0
  84. data/docs/BotManagementNotAllowedErrorExtra.md +11 -0
  85. data/docs/BotManagementNotAuthenticatedError.md +12 -0
  86. data/docs/BotManagementNotAuthenticatedErrorExtra.md +11 -0
  87. data/docs/BotManagementNotFoundError.md +12 -0
  88. data/docs/BotManagementNotFoundErrorExtra.md +11 -0
  89. data/docs/BotManagementProtectionMode.md +9 -0
  90. data/docs/BotManagementRateLimitError.md +12 -0
  91. data/docs/BotManagementRateLimitErrorExtra.md +11 -0
  92. data/docs/BotManagementWorkspace.md +12 -0
  93. data/docs/BotManagementWorkspaceBotResponse.md +13 -0
  94. data/docs/BotManagementWorkspaceBotResponseExtra.md +10 -0
  95. data/docs/BotManagementWorkspaceBotsResponse.md +11 -0
  96. data/docs/BotManagementWorkspaceResponse.md +16 -0
  97. data/docs/BotManagementWorkspaceResponseExtra.md +13 -0
  98. data/docs/BotManagementWorkspacesResponse.md +11 -0
  99. data/docs/BotRequestMetricsDataItem.md +16 -0
  100. data/docs/BotRequestMetricsMetadata.md +14 -0
  101. data/docs/BotRequestMetricsResponse.md +11 -0
  102. data/docs/BotRequestsMetricsApi.md +77 -0
  103. data/docs/BulkUpdateDictionaryItem.md +1 -1
  104. data/docs/DdosProtectionRule.md +1 -1
  105. data/docs/DdosProtectionRuleAllOf.md +1 -1
  106. data/docs/DdosProtectionRulePatch.md +1 -1
  107. data/docs/DdosProtectionRuleWithStats.md +1 -1
  108. data/docs/DictionaryItem.md +1 -1
  109. data/docs/DictionaryItemApi.md +14 -14
  110. data/docs/DictionaryItemResponse.md +1 -1
  111. data/docs/DomainInspectorMeasurements.md +1 -0
  112. data/docs/LoggingDatadogAdditional.md +1 -1
  113. data/docs/LoggingDatadogApi.md +2 -2
  114. data/docs/LoggingDatadogResponse.md +1 -1
  115. data/docs/MetricsPlatformApi.md +69 -13
  116. data/docs/NetworkProtectApi.md +789 -0
  117. data/docs/NetworkProtectConflict.md +13 -0
  118. data/docs/NetworkProtectConflictError.md +11 -0
  119. data/docs/NetworkProtectEndpoint.md +11 -0
  120. data/docs/NetworkProtectEndpointCreate.md +11 -0
  121. data/docs/NetworkProtectEndpointPolicy.md +11 -0
  122. data/docs/NetworkProtectEndpointResponse.md +14 -0
  123. data/docs/NetworkProtectEndpointResponseFields.md +12 -0
  124. data/docs/NetworkProtectEndpointUpdate.md +10 -0
  125. data/docs/NetworkProtectEndpointsResponse.md +11 -0
  126. data/docs/NetworkProtectErrorDetail.md +11 -0
  127. data/docs/NetworkProtectInvalidRequest.md +13 -0
  128. data/docs/NetworkProtectListMeta.md +11 -0
  129. data/docs/NetworkProtectLoaStatus.md +9 -0
  130. data/docs/NetworkProtectNetwork.md +15 -0
  131. data/docs/NetworkProtectNetworkCreate.md +14 -0
  132. data/docs/NetworkProtectNetworkResponse.md +22 -0
  133. data/docs/NetworkProtectNetworkResponseFields.md +16 -0
  134. data/docs/NetworkProtectNetworkUpdate.md +14 -0
  135. data/docs/NetworkProtectNetworksResponse.md +11 -0
  136. data/docs/NetworkProtectPolicyEndpoint.md +13 -0
  137. data/docs/NetworkProtectPrefixList.md +12 -0
  138. data/docs/NetworkProtectPrefixListCreate.md +12 -0
  139. data/docs/NetworkProtectPrefixListFamily.md +9 -0
  140. data/docs/NetworkProtectPrefixListResponse.md +15 -0
  141. data/docs/NetworkProtectPrefixListResponseFields.md +12 -0
  142. data/docs/NetworkProtectPrefixListUpdate.md +11 -0
  143. data/docs/NetworkProtectPrefixListsResponse.md +11 -0
  144. data/docs/NetworkProtectRegion.md +9 -0
  145. data/docs/NetworkProtectRoaStatus.md +9 -0
  146. data/docs/NetworkProtectRule.md +16 -0
  147. data/docs/NetworkProtectRuleAction.md +9 -0
  148. data/docs/NetworkProtectRuleDestinationPorts.md +9 -0
  149. data/docs/NetworkProtectRuleIpProtocol.md +9 -0
  150. data/docs/NetworkProtectRuleMatchDestinationIp.md +10 -0
  151. data/docs/NetworkProtectRuleMatchDestinationPorts.md +10 -0
  152. data/docs/NetworkProtectRuleMatchIpProtocol.md +10 -0
  153. data/docs/NetworkProtectRuleMatchSourcePorts.md +10 -0
  154. data/docs/NetworkProtectRuleMatchSourcePrefixList.md +10 -0
  155. data/docs/NetworkProtectRuleResponse.md +16 -0
  156. data/docs/NetworkProtectRuleSet.md +11 -0
  157. data/docs/NetworkProtectRuleSetCreate.md +11 -0
  158. data/docs/NetworkProtectRuleSetDefaultAction.md +9 -0
  159. data/docs/NetworkProtectRuleSetResponse.md +14 -0
  160. data/docs/NetworkProtectRuleSetResponseFields.md +12 -0
  161. data/docs/NetworkProtectRuleSetUpdate.md +11 -0
  162. data/docs/NetworkProtectRuleSetsResponse.md +11 -0
  163. data/docs/NetworkProtectRuleSourcePorts.md +9 -0
  164. data/docs/NetworkProtectRuleTimestamps.md +11 -0
  165. data/docs/PlatformValues.md +359 -16
  166. data/docs/ProductAiRuntimeControlApi.md +115 -0
  167. data/docs/PurgeApi.md +6 -0
  168. data/docs/RealtimeEntryAggregated.md +31 -0
  169. data/docs/RealtimeEntryDatacenter.md +31 -0
  170. data/docs/RealtimeMeasurements.md +31 -0
  171. data/docs/Results.md +31 -0
  172. data/docs/Values.md +1 -0
  173. data/lib/fastly/api/ai_runtime_control_provider_connections_api.rb +355 -0
  174. data/lib/fastly/api/ai_runtime_control_providers_api.rb +195 -0
  175. data/lib/fastly/api/ai_runtime_control_sessions_api.rb +112 -0
  176. data/lib/fastly/api/ai_runtime_control_usage_metrics_api.rb +176 -0
  177. data/lib/fastly/api/ai_runtime_control_virtual_keys_api.rb +580 -0
  178. data/lib/fastly/api/automation_tokens_api.rb +78 -1
  179. data/lib/fastly/api/bot_management_api.rb +787 -0
  180. data/lib/fastly/api/bot_requests_metrics_api.rb +137 -0
  181. data/lib/fastly/api/dictionary_item_api.rb +14 -14
  182. data/lib/fastly/api/logging_datadog_api.rb +4 -4
  183. data/lib/fastly/api/metrics_platform_api.rb +130 -23
  184. data/lib/fastly/api/network_protect_api.rb +1420 -0
  185. data/lib/fastly/api/product_ai_runtime_control_api.rb +186 -0
  186. data/lib/fastly/api/purge_api.rb +21 -0
  187. data/lib/fastly/configuration.rb +331 -1
  188. data/lib/fastly/models/ai_runtime_control_response_body_enable.rb +243 -0
  189. data/lib/fastly/models/ai_runtime_control_response_customer.rb +216 -0
  190. data/lib/fastly/models/ai_runtime_control_response_links.rb +216 -0
  191. data/lib/fastly/models/ai_runtime_control_response_links_links.rb +217 -0
  192. data/lib/fastly/models/ai_runtime_control_response_product.rb +216 -0
  193. data/lib/fastly/models/ai_runtime_control_response_product_product.rb +227 -0
  194. data/lib/fastly/models/arc_bedrock_setup_response.rb +237 -0
  195. data/lib/fastly/models/arc_create_virtual_key_response.rb +346 -0
  196. data/lib/fastly/models/arc_error.rb +238 -0
  197. data/lib/fastly/models/arc_failover_target.rb +223 -0
  198. data/lib/fastly/models/arc_get_provider_connection_response.rb +393 -0
  199. data/lib/fastly/models/arc_get_provider_connection_response_extra.rb +224 -0
  200. data/lib/fastly/models/arc_model.rb +253 -0
  201. data/lib/fastly/models/arc_models_meta.rb +217 -0
  202. data/lib/fastly/models/arc_models_response.rb +238 -0
  203. data/lib/fastly/models/arc_provider.rb +270 -0
  204. data/lib/fastly/models/arc_provider_connection_api_key.rb +335 -0
  205. data/lib/fastly/models/arc_provider_connection_aws_iam.rb +350 -0
  206. data/lib/fastly/models/arc_provider_connection_list_item_response.rb +386 -0
  207. data/lib/fastly/models/arc_provider_connection_list_item_response_extra.rb +217 -0
  208. data/lib/fastly/models/arc_provider_connection_request.rb +103 -0
  209. data/lib/fastly/models/arc_provider_connection_response.rb +369 -0
  210. data/lib/fastly/models/arc_provider_connections_meta.rb +228 -0
  211. data/lib/fastly/models/arc_provider_connections_response.rb +238 -0
  212. data/lib/fastly/models/arc_providers_meta.rb +217 -0
  213. data/lib/fastly/models/arc_providers_response.rb +238 -0
  214. data/lib/fastly/models/arc_rotate_virtual_key_request.rb +218 -0
  215. data/lib/fastly/models/arc_rotate_virtual_key_response.rb +324 -0
  216. data/lib/fastly/models/arc_session.rb +465 -0
  217. data/lib/fastly/models/arc_session_log_entry.rb +240 -0
  218. data/lib/fastly/models/arc_sessions_meta.rb +260 -0
  219. data/lib/fastly/models/arc_sessions_response.rb +238 -0
  220. data/lib/fastly/models/arc_update_provider_connection_request.rb +275 -0
  221. data/lib/fastly/models/arc_update_virtual_key_request.rb +345 -0
  222. data/lib/fastly/models/arc_update_virtual_key_response.rb +352 -0
  223. data/lib/fastly/models/arc_usage_metric.rb +347 -0
  224. data/lib/fastly/models/arc_usage_metrics_meta.rb +228 -0
  225. data/lib/fastly/models/arc_usage_metrics_response.rb +238 -0
  226. data/lib/fastly/models/arc_virtual_key.rb +342 -0
  227. data/lib/fastly/models/arc_virtual_key_failover_request.rb +255 -0
  228. data/lib/fastly/models/arc_virtual_key_failover_response.rb +270 -0
  229. data/lib/fastly/models/arc_virtual_key_list_item_response.rb +492 -0
  230. data/lib/fastly/models/arc_virtual_key_list_item_response_extra.rb +350 -0
  231. data/lib/fastly/models/arc_virtual_key_response.rb +477 -0
  232. data/lib/fastly/models/arc_virtual_key_response_extra.rb +335 -0
  233. data/lib/fastly/models/arc_virtual_keys_meta.rb +260 -0
  234. data/lib/fastly/models/arc_virtual_keys_response.rb +238 -0
  235. data/lib/fastly/models/automation_token.rb +49 -5
  236. data/lib/fastly/models/automation_token_create_request.rb +161 -7
  237. data/lib/fastly/models/automation_token_create_response.rb +49 -5
  238. data/lib/fastly/models/automation_token_error_response.rb +1 -0
  239. data/lib/fastly/models/automation_token_response.rb +46 -2
  240. data/lib/fastly/models/automation_token_role.rb +227 -0
  241. data/lib/fastly/models/automation_token_unversioned_error.rb +225 -0
  242. data/lib/fastly/models/automation_token_unversioned_error_response.rb +219 -0
  243. data/lib/fastly/models/automation_token_workspace.rb +237 -0
  244. data/lib/fastly/models/automation_token_workspaces_meta.rb +242 -0
  245. data/lib/fastly/models/automation_token_workspaces_response.rb +253 -0
  246. data/lib/fastly/models/bot_management_action.rb +257 -0
  247. data/lib/fastly/models/bot_management_bot.rb +222 -0
  248. data/lib/fastly/models/bot_management_bot_action.rb +257 -0
  249. data/lib/fastly/models/bot_management_bot_response.rb +259 -0
  250. data/lib/fastly/models/bot_management_bot_response_extra.rb +237 -0
  251. data/lib/fastly/models/bot_management_bots_response.rb +238 -0
  252. data/lib/fastly/models/bot_management_categories_response.rb +238 -0
  253. data/lib/fastly/models/bot_management_category.rb +222 -0
  254. data/lib/fastly/models/bot_management_category_response.rb +269 -0
  255. data/lib/fastly/models/bot_management_category_response_extra.rb +247 -0
  256. data/lib/fastly/models/bot_management_error.rb +248 -0
  257. data/lib/fastly/models/bot_management_invalid_request_error.rb +291 -0
  258. data/lib/fastly/models/bot_management_invalid_request_error_extra.rb +283 -0
  259. data/lib/fastly/models/bot_management_meta.rb +239 -0
  260. data/lib/fastly/models/bot_management_not_allowed_error.rb +287 -0
  261. data/lib/fastly/models/bot_management_not_allowed_error_extra.rb +259 -0
  262. data/lib/fastly/models/bot_management_not_authenticated_error.rb +287 -0
  263. data/lib/fastly/models/bot_management_not_authenticated_error_extra.rb +259 -0
  264. data/lib/fastly/models/bot_management_not_found_error.rb +287 -0
  265. data/lib/fastly/models/bot_management_not_found_error_extra.rb +259 -0
  266. data/lib/fastly/models/bot_management_protection_mode.rb +36 -0
  267. data/lib/fastly/models/bot_management_rate_limit_error.rb +287 -0
  268. data/lib/fastly/models/bot_management_rate_limit_error_extra.rb +259 -0
  269. data/lib/fastly/models/bot_management_workspace.rb +276 -0
  270. data/lib/fastly/models/bot_management_workspace_bot_response.rb +275 -0
  271. data/lib/fastly/models/bot_management_workspace_bot_response_extra.rb +222 -0
  272. data/lib/fastly/models/bot_management_workspace_bots_response.rb +238 -0
  273. data/lib/fastly/models/bot_management_workspace_response.rb +354 -0
  274. data/lib/fastly/models/bot_management_workspace_response_extra.rb +264 -0
  275. data/lib/fastly/models/bot_management_workspaces_response.rb +238 -0
  276. data/lib/fastly/models/bot_request_metrics_data_item.rb +278 -0
  277. data/lib/fastly/models/bot_request_metrics_metadata.rb +258 -0
  278. data/lib/fastly/models/bot_request_metrics_response.rb +228 -0
  279. data/lib/fastly/models/bulk_update_dictionary_item.rb +1 -1
  280. data/lib/fastly/models/ddos_protection_request_enable_mode.rb +2 -2
  281. data/lib/fastly/models/ddos_protection_request_update_configuration.rb +2 -2
  282. data/lib/fastly/models/ddos_protection_rule.rb +1 -1
  283. data/lib/fastly/models/ddos_protection_rule_all_of.rb +1 -1
  284. data/lib/fastly/models/ddos_protection_rule_patch.rb +1 -1
  285. data/lib/fastly/models/ddos_protection_rule_with_stats.rb +1 -1
  286. data/lib/fastly/models/dictionary_item.rb +1 -1
  287. data/lib/fastly/models/dictionary_item_response.rb +1 -1
  288. data/lib/fastly/models/domain_inspector_measurements.rb +14 -4
  289. data/lib/fastly/models/event_attributes.rb +2 -2
  290. data/lib/fastly/models/logging_datadog_additional.rb +1 -1
  291. data/lib/fastly/models/logging_datadog_response.rb +1 -1
  292. data/lib/fastly/models/network_protect_conflict.rb +299 -0
  293. data/lib/fastly/models/network_protect_conflict_error.rb +228 -0
  294. data/lib/fastly/models/network_protect_endpoint.rb +266 -0
  295. data/lib/fastly/models/network_protect_endpoint_create.rb +266 -0
  296. data/lib/fastly/models/network_protect_endpoint_policy.rb +255 -0
  297. data/lib/fastly/models/network_protect_endpoint_response.rb +340 -0
  298. data/lib/fastly/models/network_protect_endpoint_response_fields.rb +274 -0
  299. data/lib/fastly/models/network_protect_endpoint_update.rb +251 -0
  300. data/lib/fastly/models/network_protect_endpoints_response.rb +239 -0
  301. data/lib/fastly/models/network_protect_error_detail.rb +238 -0
  302. data/lib/fastly/models/{automation_token_create_request_attributes.rb → network_protect_invalid_request.rb} +63 -75
  303. data/lib/fastly/models/network_protect_list_meta.rb +263 -0
  304. data/lib/fastly/models/network_protect_loa_status.rb +36 -0
  305. data/lib/fastly/models/network_protect_network.rb +363 -0
  306. data/lib/fastly/models/network_protect_network_create.rb +340 -0
  307. data/lib/fastly/models/network_protect_network_response.rb +477 -0
  308. data/lib/fastly/models/network_protect_network_response_fields.rb +314 -0
  309. data/lib/fastly/models/network_protect_network_update.rb +329 -0
  310. data/lib/fastly/models/network_protect_networks_response.rb +239 -0
  311. data/lib/fastly/models/network_protect_policy_endpoint.rb +307 -0
  312. data/lib/fastly/models/network_protect_prefix_list.rb +282 -0
  313. data/lib/fastly/models/network_protect_prefix_list_create.rb +301 -0
  314. data/lib/fastly/models/network_protect_prefix_list_family.rb +35 -0
  315. data/lib/fastly/models/network_protect_prefix_list_response.rb +356 -0
  316. data/lib/fastly/models/network_protect_prefix_list_response_fields.rb +274 -0
  317. data/lib/fastly/models/network_protect_prefix_list_update.rb +269 -0
  318. data/lib/fastly/models/network_protect_prefix_lists_response.rb +239 -0
  319. data/lib/fastly/models/network_protect_region.rb +34 -0
  320. data/lib/fastly/models/network_protect_roa_status.rb +37 -0
  321. data/lib/fastly/models/network_protect_rule.rb +372 -0
  322. data/lib/fastly/models/network_protect_rule_action.rb +35 -0
  323. data/lib/fastly/models/network_protect_rule_destination_ports.rb +208 -0
  324. data/lib/fastly/models/network_protect_rule_ip_protocol.rb +37 -0
  325. data/lib/fastly/models/network_protect_rule_match_destination_ip.rb +223 -0
  326. data/lib/fastly/models/network_protect_rule_match_destination_ports.rb +222 -0
  327. data/lib/fastly/models/network_protect_rule_match_ip_protocol.rb +222 -0
  328. data/lib/fastly/models/network_protect_rule_match_source_ports.rb +222 -0
  329. data/lib/fastly/models/network_protect_rule_match_source_prefix_list.rb +244 -0
  330. data/lib/fastly/models/network_protect_rule_response.rb +329 -0
  331. data/lib/fastly/models/network_protect_rule_set.rb +258 -0
  332. data/lib/fastly/models/network_protect_rule_set_create.rb +249 -0
  333. data/lib/fastly/models/network_protect_rule_set_default_action.rb +35 -0
  334. data/lib/fastly/models/network_protect_rule_set_response.rb +332 -0
  335. data/lib/fastly/models/network_protect_rule_set_response_fields.rb +274 -0
  336. data/lib/fastly/models/network_protect_rule_set_update.rb +244 -0
  337. data/lib/fastly/models/network_protect_rule_sets_response.rb +239 -0
  338. data/lib/fastly/models/network_protect_rule_source_ports.rb +208 -0
  339. data/lib/fastly/models/network_protect_rule_timestamps.rb +228 -0
  340. data/lib/fastly/models/platform_values.rb +3568 -137
  341. data/lib/fastly/models/realtime_entry_aggregated.rb +314 -4
  342. data/lib/fastly/models/realtime_entry_datacenter.rb +314 -4
  343. data/lib/fastly/models/realtime_measurements.rb +314 -4
  344. data/lib/fastly/models/results.rb +311 -1
  345. data/lib/fastly/models/values.rb +14 -4
  346. data/lib/fastly/version.rb +1 -1
  347. data/lib/fastly.rb +143 -1
  348. data/sig.json +1 -1
  349. metadata +288 -4
  350. data/docs/AutomationTokenCreateRequestAttributes.md +0 -15
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **region** | **String** | The region that log data will be sent to. | [optional][default to 'US'] |
8
- | **format** | **String** | A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). Must produce valid JSON that Datadog can ingest. | [optional][default to '{\"ddsource\":\"fastly\",\"service\":\"%{req.service_id}V\",\"date\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_start\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_end\":\"%{end:%Y-%m-%dT%H:%M:%S%Z}t\",\"http\":{\"request_time_ms\":\"%D\",\"method\":\"%m\",\"url\":\"%{json.escape(req.url)}V\",\"useragent\":\"%{User-Agent}i\",\"referer\":\"%{Referer}i\",\"protocol\":\"%H\",\"request_x_forwarded_for\":\"%{X-Forwarded-For}i\",\"status_code\":\"%s\"},\"network\":{\"client\":{\"ip\":\"%h\",\"name\":\"%{client.as.name}V\",\"number\":\"%{client.as.number}V\",\"connection_speed\":\"%{client.geo.conn_speed}V\"},\"destination\":{\"ip\":\"%A\"},\"geoip\":{\"geo_city\":\"%{client.geo.city.utf8}V\",\"geo_country_code\":\"%{client.geo.country_code}V\",\"geo_continent_code\":\"%{client.geo.continent_code}V\",\"geo_region\":\"%{client.geo.region}V\"},\"bytes_written\":\"%B\",\"bytes_read\":\"%{req.body_bytes_read}V\"},\"host\":\"%{Fastly-Orig-Host}i\",\"origin_host\":\"%v\",\"is_ipv6\":\"%{if(req.is_ipv6, \\\"true\\\", \\\"false\\\")}V\",\"is_tls\":\"%{if(req.is_ssl, \\\"true\\\", \\\"false\\\")}V\",\"tls_client_protocol\":\"%{json.escape(tls.client.protocol)}V\",\"tls_client_servername\":\"%{json.escape(tls.client.servername)}V\",\"tls_client_cipher\":\"%{json.escape(tls.client.cipher)}V\",\"tls_client_cipher_sha\":\"%{json.escape(tls.client.ciphers_sha)}V\",\"tls_client_tlsexts_sha\":\"%{json.escape(tls.client.tlsexts_sha)}V\",\"is_h2\":\"%{if(fastly_info.is_h2, \\\"true\\\", \\\"false\\\")}V\",\"is_h2_push\":\"%{if(fastly_info.h2.is_push, \\\"true\\\", \\\"false\\\")}V\",\"h2_stream_id\":\"%{fastly_info.h2.stream_id}V\",\"request_accept_content\":\"%{Accept}i\",\"request_accept_language\":\"%{Accept-Language}i\",\"request_accept_encoding\":\"%{Accept-Encoding}i\",\"request_accept_charset\":\"%{Accept-Charset}i\",\"request_connection\":\"%{Connection}i\",\"request_dnt\":\"%{DNT}i\",\"request_forwarded\":\"%{Forwarded}i\",\"request_via\":\"%{Via}i\",\"request_cache_control\":\"%{Cache-Control}i\",\"request_x_requested_with\":\"%{X-Requested-With}i\",\"request_x_att_device_id\":\"%{X-ATT-Device-Id}i\",\"content_type\":\"%{Content-Type}o\",\"is_cacheable\":\"%{if(fastly_info.state~\\\"^(HIT|MISS)$\\\", \\\"true\\\", \\\"false\\\")}V\",\"response_age\":\"%{Age}o\",\"response_cache_control\":\"%{Cache-Control}o\",\"response_expires\":\"%{Expires}o\",\"response_last_modified\":\"%{Last-Modified}o\",\"response_tsv\":\"%{TSV}o\",\"server_datacenter\":\"%{server.datacenter}V\",\"req_header_size\":\"%{req.header_bytes_read}V\",\"resp_header_size\":\"%{resp.header_bytes_written}V\",\"socket_cwnd\":\"%{client.socket.cwnd}V\",\"socket_nexthop\":\"%{client.socket.nexthop}V\",\"socket_tcpi_rcv_mss\":\"%{client.socket.tcpi_rcv_mss}V\",\"socket_tcpi_snd_mss\":\"%{client.socket.tcpi_snd_mss}V\",\"socket_tcpi_rtt\":\"%{client.socket.tcpi_rtt}V\",\"socket_tcpi_rttvar\":\"%{client.socket.tcpi_rttvar}V\",\"socket_tcpi_rcv_rtt\":\"%{client.socket.tcpi_rcv_rtt}V\",\"socket_tcpi_rcv_space\":\"%{client.socket.tcpi_rcv_space}V\",\"socket_tcpi_last_data_sent\":\"%{client.socket.tcpi_last_data_sent}V\",\"socket_tcpi_total_retrans\":\"%{client.socket.tcpi_total_retrans}V\",\"socket_tcpi_delta_retrans\":\"%{client.socket.tcpi_delta_retrans}V\",\"socket_ploss\":\"%{client.socket.ploss}V\"}'] |
8
+ | **format** | **String** | A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). Must produce valid JSON that Datadog can ingest. | [optional][default to '{\"ddsource\":\"fastly\",\"service\":\"%{req.service_id}V\",\"date\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_start\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_end\":\"%{end:%Y-%m-%dT%H:%M:%S%Z}t\",\"http\":{\"request_time_ms\": %{time.elapsed.msec}V,\"method\":\"%m\",\"url\":\"%{json.escape(req.url)}V\",\"useragent\":\"%{User-Agent}i\",\"referer\":\"%{Referer}i\",\"protocol\":\"%H\",\"request_x_forwarded_for\":\"%{X-Forwarded-For}i\",\"status_code\":\"%s\"},\"network\":{\"client\":{\"ip\":\"%h\",\"name\":\"%{client.as.name}V\",\"number\":\"%{client.as.number}V\",\"connection_speed\":\"%{client.geo.conn_speed}V\"},\"destination\":{\"ip\":\"%A\"},\"geoip\":{\"geo_city\":\"%{client.geo.city.utf8}V\",\"geo_country_code\":\"%{client.geo.country_code}V\",\"geo_continent_code\":\"%{client.geo.continent_code}V\",\"geo_region\":\"%{client.geo.region}V\"},\"bytes_written\":\"%B\",\"bytes_read\":\"%{req.body_bytes_read}V\"},\"host\":\"%{Fastly-Orig-Host}i\",\"origin_host\":\"%v\",\"is_ipv6\":\"%{if(req.is_ipv6, \\\"true\\\", \\\"false\\\")}V\",\"is_tls\":\"%{if(req.is_ssl, \\\"true\\\", \\\"false\\\")}V\",\"tls_client_protocol\":\"%{json.escape(tls.client.protocol)}V\",\"tls_client_servername\":\"%{json.escape(tls.client.servername)}V\",\"tls_client_cipher\":\"%{json.escape(tls.client.cipher)}V\",\"tls_client_cipher_sha\":\"%{json.escape(tls.client.ciphers_sha)}V\",\"tls_client_tlsexts_sha\":\"%{json.escape(tls.client.tlsexts_sha)}V\",\"is_h2\":\"%{if(fastly_info.is_h2, \\\"true\\\", \\\"false\\\")}V\",\"is_h2_push\":\"%{if(fastly_info.h2.is_push, \\\"true\\\", \\\"false\\\")}V\",\"h2_stream_id\":\"%{fastly_info.h2.stream_id}V\",\"request_accept_content\":\"%{Accept}i\",\"request_accept_language\":\"%{Accept-Language}i\",\"request_accept_encoding\":\"%{Accept-Encoding}i\",\"request_accept_charset\":\"%{Accept-Charset}i\",\"request_connection\":\"%{Connection}i\",\"request_dnt\":\"%{DNT}i\",\"request_forwarded\":\"%{Forwarded}i\",\"request_via\":\"%{Via}i\",\"request_cache_control\":\"%{Cache-Control}i\",\"request_x_requested_with\":\"%{X-Requested-With}i\",\"request_x_att_device_id\":\"%{X-ATT-Device-Id}i\",\"content_type\":\"%{Content-Type}o\",\"is_cacheable\":\"%{if(fastly_info.state~\\\"^(HIT|MISS)$\\\", \\\"true\\\", \\\"false\\\")}V\",\"response_age\":\"%{Age}o\",\"response_cache_control\":\"%{Cache-Control}o\",\"response_expires\":\"%{Expires}o\",\"response_last_modified\":\"%{Last-Modified}o\",\"response_tsv\":\"%{TSV}o\",\"server_datacenter\":\"%{server.datacenter}V\",\"req_header_size\":\"%{req.header_bytes_read}V\",\"resp_header_size\":\"%{resp.header_bytes_written}V\",\"socket_cwnd\":\"%{client.socket.cwnd}V\",\"socket_nexthop\":\"%{client.socket.nexthop}V\",\"socket_tcpi_rcv_mss\":\"%{client.socket.tcpi_rcv_mss}V\",\"socket_tcpi_snd_mss\":\"%{client.socket.tcpi_snd_mss}V\",\"socket_tcpi_rtt\":\"%{client.socket.tcpi_rtt}V\",\"socket_tcpi_rttvar\":\"%{client.socket.tcpi_rttvar}V\",\"socket_tcpi_rcv_rtt\":\"%{client.socket.tcpi_rcv_rtt}V\",\"socket_tcpi_rcv_space\":\"%{client.socket.tcpi_rcv_space}V\",\"socket_tcpi_last_data_sent\":\"%{client.socket.tcpi_last_data_sent}V\",\"socket_tcpi_total_retrans\":\"%{client.socket.tcpi_total_retrans}V\",\"socket_tcpi_delta_retrans\":\"%{client.socket.tcpi_delta_retrans}V\",\"socket_ploss\":\"%{client.socket.ploss}V\"}'] |
9
9
  | **token** | **String** | The API key from your Datadog account. Required. | [optional] |
10
10
 
11
11
  [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -63,7 +63,7 @@ end
63
63
  | **name** | **String** | The name for the real-time logging configuration. | [optional] |
64
64
  | **placement** | **String** | Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. | [optional] |
65
65
  | **response_condition** | **String** | The name of an existing condition in the configured endpoint, or leave blank to always execute. | [optional] |
66
- | **format** | **String** | A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). Must produce valid JSON that Datadog can ingest. | [optional][default to '{\"ddsource\":\"fastly\",\"service\":\"%{req.service_id}V\",\"date\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_start\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_end\":\"%{end:%Y-%m-%dT%H:%M:%S%Z}t\",\"http\":{\"request_time_ms\":\"%D\",\"method\":\"%m\",\"url\":\"%{json.escape(req.url)}V\",\"useragent\":\"%{User-Agent}i\",\"referer\":\"%{Referer}i\",\"protocol\":\"%H\",\"request_x_forwarded_for\":\"%{X-Forwarded-For}i\",\"status_code\":\"%s\"},\"network\":{\"client\":{\"ip\":\"%h\",\"name\":\"%{client.as.name}V\",\"number\":\"%{client.as.number}V\",\"connection_speed\":\"%{client.geo.conn_speed}V\"},\"destination\":{\"ip\":\"%A\"},\"geoip\":{\"geo_city\":\"%{client.geo.city.utf8}V\",\"geo_country_code\":\"%{client.geo.country_code}V\",\"geo_continent_code\":\"%{client.geo.continent_code}V\",\"geo_region\":\"%{client.geo.region}V\"},\"bytes_written\":\"%B\",\"bytes_read\":\"%{req.body_bytes_read}V\"},\"host\":\"%{Fastly-Orig-Host}i\",\"origin_host\":\"%v\",\"is_ipv6\":\"%{if(req.is_ipv6, \\\"true\\\", \\\"false\\\")}V\",\"is_tls\":\"%{if(req.is_ssl, \\\"true\\\", \\\"false\\\")}V\",\"tls_client_protocol\":\"%{json.escape(tls.client.protocol)}V\",\"tls_client_servername\":\"%{json.escape(tls.client.servername)}V\",\"tls_client_cipher\":\"%{json.escape(tls.client.cipher)}V\",\"tls_client_cipher_sha\":\"%{json.escape(tls.client.ciphers_sha)}V\",\"tls_client_tlsexts_sha\":\"%{json.escape(tls.client.tlsexts_sha)}V\",\"is_h2\":\"%{if(fastly_info.is_h2, \\\"true\\\", \\\"false\\\")}V\",\"is_h2_push\":\"%{if(fastly_info.h2.is_push, \\\"true\\\", \\\"false\\\")}V\",\"h2_stream_id\":\"%{fastly_info.h2.stream_id}V\",\"request_accept_content\":\"%{Accept}i\",\"request_accept_language\":\"%{Accept-Language}i\",\"request_accept_encoding\":\"%{Accept-Encoding}i\",\"request_accept_charset\":\"%{Accept-Charset}i\",\"request_connection\":\"%{Connection}i\",\"request_dnt\":\"%{DNT}i\",\"request_forwarded\":\"%{Forwarded}i\",\"request_via\":\"%{Via}i\",\"request_cache_control\":\"%{Cache-Control}i\",\"request_x_requested_with\":\"%{X-Requested-With}i\",\"request_x_att_device_id\":\"%{X-ATT-Device-Id}i\",\"content_type\":\"%{Content-Type}o\",\"is_cacheable\":\"%{if(fastly_info.state~\\\"^(HIT|MISS)$\\\", \\\"true\\\", \\\"false\\\")}V\",\"response_age\":\"%{Age}o\",\"response_cache_control\":\"%{Cache-Control}o\",\"response_expires\":\"%{Expires}o\",\"response_last_modified\":\"%{Last-Modified}o\",\"response_tsv\":\"%{TSV}o\",\"server_datacenter\":\"%{server.datacenter}V\",\"req_header_size\":\"%{req.header_bytes_read}V\",\"resp_header_size\":\"%{resp.header_bytes_written}V\",\"socket_cwnd\":\"%{client.socket.cwnd}V\",\"socket_nexthop\":\"%{client.socket.nexthop}V\",\"socket_tcpi_rcv_mss\":\"%{client.socket.tcpi_rcv_mss}V\",\"socket_tcpi_snd_mss\":\"%{client.socket.tcpi_snd_mss}V\",\"socket_tcpi_rtt\":\"%{client.socket.tcpi_rtt}V\",\"socket_tcpi_rttvar\":\"%{client.socket.tcpi_rttvar}V\",\"socket_tcpi_rcv_rtt\":\"%{client.socket.tcpi_rcv_rtt}V\",\"socket_tcpi_rcv_space\":\"%{client.socket.tcpi_rcv_space}V\",\"socket_tcpi_last_data_sent\":\"%{client.socket.tcpi_last_data_sent}V\",\"socket_tcpi_total_retrans\":\"%{client.socket.tcpi_total_retrans}V\",\"socket_tcpi_delta_retrans\":\"%{client.socket.tcpi_delta_retrans}V\",\"socket_ploss\":\"%{client.socket.ploss}V\"}'] |
66
+ | **format** | **String** | A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). Must produce valid JSON that Datadog can ingest. | [optional][default to '{\"ddsource\":\"fastly\",\"service\":\"%{req.service_id}V\",\"date\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_start\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_end\":\"%{end:%Y-%m-%dT%H:%M:%S%Z}t\",\"http\":{\"request_time_ms\": %{time.elapsed.msec}V,\"method\":\"%m\",\"url\":\"%{json.escape(req.url)}V\",\"useragent\":\"%{User-Agent}i\",\"referer\":\"%{Referer}i\",\"protocol\":\"%H\",\"request_x_forwarded_for\":\"%{X-Forwarded-For}i\",\"status_code\":\"%s\"},\"network\":{\"client\":{\"ip\":\"%h\",\"name\":\"%{client.as.name}V\",\"number\":\"%{client.as.number}V\",\"connection_speed\":\"%{client.geo.conn_speed}V\"},\"destination\":{\"ip\":\"%A\"},\"geoip\":{\"geo_city\":\"%{client.geo.city.utf8}V\",\"geo_country_code\":\"%{client.geo.country_code}V\",\"geo_continent_code\":\"%{client.geo.continent_code}V\",\"geo_region\":\"%{client.geo.region}V\"},\"bytes_written\":\"%B\",\"bytes_read\":\"%{req.body_bytes_read}V\"},\"host\":\"%{Fastly-Orig-Host}i\",\"origin_host\":\"%v\",\"is_ipv6\":\"%{if(req.is_ipv6, \\\"true\\\", \\\"false\\\")}V\",\"is_tls\":\"%{if(req.is_ssl, \\\"true\\\", \\\"false\\\")}V\",\"tls_client_protocol\":\"%{json.escape(tls.client.protocol)}V\",\"tls_client_servername\":\"%{json.escape(tls.client.servername)}V\",\"tls_client_cipher\":\"%{json.escape(tls.client.cipher)}V\",\"tls_client_cipher_sha\":\"%{json.escape(tls.client.ciphers_sha)}V\",\"tls_client_tlsexts_sha\":\"%{json.escape(tls.client.tlsexts_sha)}V\",\"is_h2\":\"%{if(fastly_info.is_h2, \\\"true\\\", \\\"false\\\")}V\",\"is_h2_push\":\"%{if(fastly_info.h2.is_push, \\\"true\\\", \\\"false\\\")}V\",\"h2_stream_id\":\"%{fastly_info.h2.stream_id}V\",\"request_accept_content\":\"%{Accept}i\",\"request_accept_language\":\"%{Accept-Language}i\",\"request_accept_encoding\":\"%{Accept-Encoding}i\",\"request_accept_charset\":\"%{Accept-Charset}i\",\"request_connection\":\"%{Connection}i\",\"request_dnt\":\"%{DNT}i\",\"request_forwarded\":\"%{Forwarded}i\",\"request_via\":\"%{Via}i\",\"request_cache_control\":\"%{Cache-Control}i\",\"request_x_requested_with\":\"%{X-Requested-With}i\",\"request_x_att_device_id\":\"%{X-ATT-Device-Id}i\",\"content_type\":\"%{Content-Type}o\",\"is_cacheable\":\"%{if(fastly_info.state~\\\"^(HIT|MISS)$\\\", \\\"true\\\", \\\"false\\\")}V\",\"response_age\":\"%{Age}o\",\"response_cache_control\":\"%{Cache-Control}o\",\"response_expires\":\"%{Expires}o\",\"response_last_modified\":\"%{Last-Modified}o\",\"response_tsv\":\"%{TSV}o\",\"server_datacenter\":\"%{server.datacenter}V\",\"req_header_size\":\"%{req.header_bytes_read}V\",\"resp_header_size\":\"%{resp.header_bytes_written}V\",\"socket_cwnd\":\"%{client.socket.cwnd}V\",\"socket_nexthop\":\"%{client.socket.nexthop}V\",\"socket_tcpi_rcv_mss\":\"%{client.socket.tcpi_rcv_mss}V\",\"socket_tcpi_snd_mss\":\"%{client.socket.tcpi_snd_mss}V\",\"socket_tcpi_rtt\":\"%{client.socket.tcpi_rtt}V\",\"socket_tcpi_rttvar\":\"%{client.socket.tcpi_rttvar}V\",\"socket_tcpi_rcv_rtt\":\"%{client.socket.tcpi_rcv_rtt}V\",\"socket_tcpi_rcv_space\":\"%{client.socket.tcpi_rcv_space}V\",\"socket_tcpi_last_data_sent\":\"%{client.socket.tcpi_last_data_sent}V\",\"socket_tcpi_total_retrans\":\"%{client.socket.tcpi_total_retrans}V\",\"socket_tcpi_delta_retrans\":\"%{client.socket.tcpi_delta_retrans}V\",\"socket_ploss\":\"%{client.socket.ploss}V\"}'] |
67
67
  | **log_processing_region** | **String** | The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. | [optional][default to 'none'] |
68
68
  | **format_version** | **Integer** | The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. | [optional][default to FORMAT_VERSION::v2] |
69
69
  | **region** | **String** | The region that log data will be sent to. | [optional][default to 'US'] |
@@ -241,7 +241,7 @@ end
241
241
  | **name** | **String** | The name for the real-time logging configuration. | [optional] |
242
242
  | **placement** | **String** | Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. | [optional] |
243
243
  | **response_condition** | **String** | The name of an existing condition in the configured endpoint, or leave blank to always execute. | [optional] |
244
- | **format** | **String** | A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). Must produce valid JSON that Datadog can ingest. | [optional][default to '{\"ddsource\":\"fastly\",\"service\":\"%{req.service_id}V\",\"date\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_start\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_end\":\"%{end:%Y-%m-%dT%H:%M:%S%Z}t\",\"http\":{\"request_time_ms\":\"%D\",\"method\":\"%m\",\"url\":\"%{json.escape(req.url)}V\",\"useragent\":\"%{User-Agent}i\",\"referer\":\"%{Referer}i\",\"protocol\":\"%H\",\"request_x_forwarded_for\":\"%{X-Forwarded-For}i\",\"status_code\":\"%s\"},\"network\":{\"client\":{\"ip\":\"%h\",\"name\":\"%{client.as.name}V\",\"number\":\"%{client.as.number}V\",\"connection_speed\":\"%{client.geo.conn_speed}V\"},\"destination\":{\"ip\":\"%A\"},\"geoip\":{\"geo_city\":\"%{client.geo.city.utf8}V\",\"geo_country_code\":\"%{client.geo.country_code}V\",\"geo_continent_code\":\"%{client.geo.continent_code}V\",\"geo_region\":\"%{client.geo.region}V\"},\"bytes_written\":\"%B\",\"bytes_read\":\"%{req.body_bytes_read}V\"},\"host\":\"%{Fastly-Orig-Host}i\",\"origin_host\":\"%v\",\"is_ipv6\":\"%{if(req.is_ipv6, \\\"true\\\", \\\"false\\\")}V\",\"is_tls\":\"%{if(req.is_ssl, \\\"true\\\", \\\"false\\\")}V\",\"tls_client_protocol\":\"%{json.escape(tls.client.protocol)}V\",\"tls_client_servername\":\"%{json.escape(tls.client.servername)}V\",\"tls_client_cipher\":\"%{json.escape(tls.client.cipher)}V\",\"tls_client_cipher_sha\":\"%{json.escape(tls.client.ciphers_sha)}V\",\"tls_client_tlsexts_sha\":\"%{json.escape(tls.client.tlsexts_sha)}V\",\"is_h2\":\"%{if(fastly_info.is_h2, \\\"true\\\", \\\"false\\\")}V\",\"is_h2_push\":\"%{if(fastly_info.h2.is_push, \\\"true\\\", \\\"false\\\")}V\",\"h2_stream_id\":\"%{fastly_info.h2.stream_id}V\",\"request_accept_content\":\"%{Accept}i\",\"request_accept_language\":\"%{Accept-Language}i\",\"request_accept_encoding\":\"%{Accept-Encoding}i\",\"request_accept_charset\":\"%{Accept-Charset}i\",\"request_connection\":\"%{Connection}i\",\"request_dnt\":\"%{DNT}i\",\"request_forwarded\":\"%{Forwarded}i\",\"request_via\":\"%{Via}i\",\"request_cache_control\":\"%{Cache-Control}i\",\"request_x_requested_with\":\"%{X-Requested-With}i\",\"request_x_att_device_id\":\"%{X-ATT-Device-Id}i\",\"content_type\":\"%{Content-Type}o\",\"is_cacheable\":\"%{if(fastly_info.state~\\\"^(HIT|MISS)$\\\", \\\"true\\\", \\\"false\\\")}V\",\"response_age\":\"%{Age}o\",\"response_cache_control\":\"%{Cache-Control}o\",\"response_expires\":\"%{Expires}o\",\"response_last_modified\":\"%{Last-Modified}o\",\"response_tsv\":\"%{TSV}o\",\"server_datacenter\":\"%{server.datacenter}V\",\"req_header_size\":\"%{req.header_bytes_read}V\",\"resp_header_size\":\"%{resp.header_bytes_written}V\",\"socket_cwnd\":\"%{client.socket.cwnd}V\",\"socket_nexthop\":\"%{client.socket.nexthop}V\",\"socket_tcpi_rcv_mss\":\"%{client.socket.tcpi_rcv_mss}V\",\"socket_tcpi_snd_mss\":\"%{client.socket.tcpi_snd_mss}V\",\"socket_tcpi_rtt\":\"%{client.socket.tcpi_rtt}V\",\"socket_tcpi_rttvar\":\"%{client.socket.tcpi_rttvar}V\",\"socket_tcpi_rcv_rtt\":\"%{client.socket.tcpi_rcv_rtt}V\",\"socket_tcpi_rcv_space\":\"%{client.socket.tcpi_rcv_space}V\",\"socket_tcpi_last_data_sent\":\"%{client.socket.tcpi_last_data_sent}V\",\"socket_tcpi_total_retrans\":\"%{client.socket.tcpi_total_retrans}V\",\"socket_tcpi_delta_retrans\":\"%{client.socket.tcpi_delta_retrans}V\",\"socket_ploss\":\"%{client.socket.ploss}V\"}'] |
244
+ | **format** | **String** | A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). Must produce valid JSON that Datadog can ingest. | [optional][default to '{\"ddsource\":\"fastly\",\"service\":\"%{req.service_id}V\",\"date\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_start\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_end\":\"%{end:%Y-%m-%dT%H:%M:%S%Z}t\",\"http\":{\"request_time_ms\": %{time.elapsed.msec}V,\"method\":\"%m\",\"url\":\"%{json.escape(req.url)}V\",\"useragent\":\"%{User-Agent}i\",\"referer\":\"%{Referer}i\",\"protocol\":\"%H\",\"request_x_forwarded_for\":\"%{X-Forwarded-For}i\",\"status_code\":\"%s\"},\"network\":{\"client\":{\"ip\":\"%h\",\"name\":\"%{client.as.name}V\",\"number\":\"%{client.as.number}V\",\"connection_speed\":\"%{client.geo.conn_speed}V\"},\"destination\":{\"ip\":\"%A\"},\"geoip\":{\"geo_city\":\"%{client.geo.city.utf8}V\",\"geo_country_code\":\"%{client.geo.country_code}V\",\"geo_continent_code\":\"%{client.geo.continent_code}V\",\"geo_region\":\"%{client.geo.region}V\"},\"bytes_written\":\"%B\",\"bytes_read\":\"%{req.body_bytes_read}V\"},\"host\":\"%{Fastly-Orig-Host}i\",\"origin_host\":\"%v\",\"is_ipv6\":\"%{if(req.is_ipv6, \\\"true\\\", \\\"false\\\")}V\",\"is_tls\":\"%{if(req.is_ssl, \\\"true\\\", \\\"false\\\")}V\",\"tls_client_protocol\":\"%{json.escape(tls.client.protocol)}V\",\"tls_client_servername\":\"%{json.escape(tls.client.servername)}V\",\"tls_client_cipher\":\"%{json.escape(tls.client.cipher)}V\",\"tls_client_cipher_sha\":\"%{json.escape(tls.client.ciphers_sha)}V\",\"tls_client_tlsexts_sha\":\"%{json.escape(tls.client.tlsexts_sha)}V\",\"is_h2\":\"%{if(fastly_info.is_h2, \\\"true\\\", \\\"false\\\")}V\",\"is_h2_push\":\"%{if(fastly_info.h2.is_push, \\\"true\\\", \\\"false\\\")}V\",\"h2_stream_id\":\"%{fastly_info.h2.stream_id}V\",\"request_accept_content\":\"%{Accept}i\",\"request_accept_language\":\"%{Accept-Language}i\",\"request_accept_encoding\":\"%{Accept-Encoding}i\",\"request_accept_charset\":\"%{Accept-Charset}i\",\"request_connection\":\"%{Connection}i\",\"request_dnt\":\"%{DNT}i\",\"request_forwarded\":\"%{Forwarded}i\",\"request_via\":\"%{Via}i\",\"request_cache_control\":\"%{Cache-Control}i\",\"request_x_requested_with\":\"%{X-Requested-With}i\",\"request_x_att_device_id\":\"%{X-ATT-Device-Id}i\",\"content_type\":\"%{Content-Type}o\",\"is_cacheable\":\"%{if(fastly_info.state~\\\"^(HIT|MISS)$\\\", \\\"true\\\", \\\"false\\\")}V\",\"response_age\":\"%{Age}o\",\"response_cache_control\":\"%{Cache-Control}o\",\"response_expires\":\"%{Expires}o\",\"response_last_modified\":\"%{Last-Modified}o\",\"response_tsv\":\"%{TSV}o\",\"server_datacenter\":\"%{server.datacenter}V\",\"req_header_size\":\"%{req.header_bytes_read}V\",\"resp_header_size\":\"%{resp.header_bytes_written}V\",\"socket_cwnd\":\"%{client.socket.cwnd}V\",\"socket_nexthop\":\"%{client.socket.nexthop}V\",\"socket_tcpi_rcv_mss\":\"%{client.socket.tcpi_rcv_mss}V\",\"socket_tcpi_snd_mss\":\"%{client.socket.tcpi_snd_mss}V\",\"socket_tcpi_rtt\":\"%{client.socket.tcpi_rtt}V\",\"socket_tcpi_rttvar\":\"%{client.socket.tcpi_rttvar}V\",\"socket_tcpi_rcv_rtt\":\"%{client.socket.tcpi_rcv_rtt}V\",\"socket_tcpi_rcv_space\":\"%{client.socket.tcpi_rcv_space}V\",\"socket_tcpi_last_data_sent\":\"%{client.socket.tcpi_last_data_sent}V\",\"socket_tcpi_total_retrans\":\"%{client.socket.tcpi_total_retrans}V\",\"socket_tcpi_delta_retrans\":\"%{client.socket.tcpi_delta_retrans}V\",\"socket_ploss\":\"%{client.socket.ploss}V\"}'] |
245
245
  | **log_processing_region** | **String** | The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. | [optional][default to 'none'] |
246
246
  | **format_version** | **Integer** | The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. | [optional][default to FORMAT_VERSION::v2] |
247
247
  | **region** | **String** | The region that log data will be sent to. | [optional][default to 'US'] |
@@ -7,7 +7,7 @@
7
7
  | **name** | **String** | The name for the real-time logging configuration. | [optional] |
8
8
  | **placement** | **String** | Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. | [optional] |
9
9
  | **response_condition** | **String** | The name of an existing condition in the configured endpoint, or leave blank to always execute. | [optional] |
10
- | **format** | **String** | A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). Must produce valid JSON that Datadog can ingest. | [optional][default to '{\"ddsource\":\"fastly\",\"service\":\"%{req.service_id}V\",\"date\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_start\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_end\":\"%{end:%Y-%m-%dT%H:%M:%S%Z}t\",\"http\":{\"request_time_ms\":\"%D\",\"method\":\"%m\",\"url\":\"%{json.escape(req.url)}V\",\"useragent\":\"%{User-Agent}i\",\"referer\":\"%{Referer}i\",\"protocol\":\"%H\",\"request_x_forwarded_for\":\"%{X-Forwarded-For}i\",\"status_code\":\"%s\"},\"network\":{\"client\":{\"ip\":\"%h\",\"name\":\"%{client.as.name}V\",\"number\":\"%{client.as.number}V\",\"connection_speed\":\"%{client.geo.conn_speed}V\"},\"destination\":{\"ip\":\"%A\"},\"geoip\":{\"geo_city\":\"%{client.geo.city.utf8}V\",\"geo_country_code\":\"%{client.geo.country_code}V\",\"geo_continent_code\":\"%{client.geo.continent_code}V\",\"geo_region\":\"%{client.geo.region}V\"},\"bytes_written\":\"%B\",\"bytes_read\":\"%{req.body_bytes_read}V\"},\"host\":\"%{Fastly-Orig-Host}i\",\"origin_host\":\"%v\",\"is_ipv6\":\"%{if(req.is_ipv6, \\\"true\\\", \\\"false\\\")}V\",\"is_tls\":\"%{if(req.is_ssl, \\\"true\\\", \\\"false\\\")}V\",\"tls_client_protocol\":\"%{json.escape(tls.client.protocol)}V\",\"tls_client_servername\":\"%{json.escape(tls.client.servername)}V\",\"tls_client_cipher\":\"%{json.escape(tls.client.cipher)}V\",\"tls_client_cipher_sha\":\"%{json.escape(tls.client.ciphers_sha)}V\",\"tls_client_tlsexts_sha\":\"%{json.escape(tls.client.tlsexts_sha)}V\",\"is_h2\":\"%{if(fastly_info.is_h2, \\\"true\\\", \\\"false\\\")}V\",\"is_h2_push\":\"%{if(fastly_info.h2.is_push, \\\"true\\\", \\\"false\\\")}V\",\"h2_stream_id\":\"%{fastly_info.h2.stream_id}V\",\"request_accept_content\":\"%{Accept}i\",\"request_accept_language\":\"%{Accept-Language}i\",\"request_accept_encoding\":\"%{Accept-Encoding}i\",\"request_accept_charset\":\"%{Accept-Charset}i\",\"request_connection\":\"%{Connection}i\",\"request_dnt\":\"%{DNT}i\",\"request_forwarded\":\"%{Forwarded}i\",\"request_via\":\"%{Via}i\",\"request_cache_control\":\"%{Cache-Control}i\",\"request_x_requested_with\":\"%{X-Requested-With}i\",\"request_x_att_device_id\":\"%{X-ATT-Device-Id}i\",\"content_type\":\"%{Content-Type}o\",\"is_cacheable\":\"%{if(fastly_info.state~\\\"^(HIT|MISS)$\\\", \\\"true\\\", \\\"false\\\")}V\",\"response_age\":\"%{Age}o\",\"response_cache_control\":\"%{Cache-Control}o\",\"response_expires\":\"%{Expires}o\",\"response_last_modified\":\"%{Last-Modified}o\",\"response_tsv\":\"%{TSV}o\",\"server_datacenter\":\"%{server.datacenter}V\",\"req_header_size\":\"%{req.header_bytes_read}V\",\"resp_header_size\":\"%{resp.header_bytes_written}V\",\"socket_cwnd\":\"%{client.socket.cwnd}V\",\"socket_nexthop\":\"%{client.socket.nexthop}V\",\"socket_tcpi_rcv_mss\":\"%{client.socket.tcpi_rcv_mss}V\",\"socket_tcpi_snd_mss\":\"%{client.socket.tcpi_snd_mss}V\",\"socket_tcpi_rtt\":\"%{client.socket.tcpi_rtt}V\",\"socket_tcpi_rttvar\":\"%{client.socket.tcpi_rttvar}V\",\"socket_tcpi_rcv_rtt\":\"%{client.socket.tcpi_rcv_rtt}V\",\"socket_tcpi_rcv_space\":\"%{client.socket.tcpi_rcv_space}V\",\"socket_tcpi_last_data_sent\":\"%{client.socket.tcpi_last_data_sent}V\",\"socket_tcpi_total_retrans\":\"%{client.socket.tcpi_total_retrans}V\",\"socket_tcpi_delta_retrans\":\"%{client.socket.tcpi_delta_retrans}V\",\"socket_ploss\":\"%{client.socket.ploss}V\"}'] |
10
+ | **format** | **String** | A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/). Must produce valid JSON that Datadog can ingest. | [optional][default to '{\"ddsource\":\"fastly\",\"service\":\"%{req.service_id}V\",\"date\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_start\":\"%{begin:%Y-%m-%dT%H:%M:%S%Z}t\",\"time_end\":\"%{end:%Y-%m-%dT%H:%M:%S%Z}t\",\"http\":{\"request_time_ms\": %{time.elapsed.msec}V,\"method\":\"%m\",\"url\":\"%{json.escape(req.url)}V\",\"useragent\":\"%{User-Agent}i\",\"referer\":\"%{Referer}i\",\"protocol\":\"%H\",\"request_x_forwarded_for\":\"%{X-Forwarded-For}i\",\"status_code\":\"%s\"},\"network\":{\"client\":{\"ip\":\"%h\",\"name\":\"%{client.as.name}V\",\"number\":\"%{client.as.number}V\",\"connection_speed\":\"%{client.geo.conn_speed}V\"},\"destination\":{\"ip\":\"%A\"},\"geoip\":{\"geo_city\":\"%{client.geo.city.utf8}V\",\"geo_country_code\":\"%{client.geo.country_code}V\",\"geo_continent_code\":\"%{client.geo.continent_code}V\",\"geo_region\":\"%{client.geo.region}V\"},\"bytes_written\":\"%B\",\"bytes_read\":\"%{req.body_bytes_read}V\"},\"host\":\"%{Fastly-Orig-Host}i\",\"origin_host\":\"%v\",\"is_ipv6\":\"%{if(req.is_ipv6, \\\"true\\\", \\\"false\\\")}V\",\"is_tls\":\"%{if(req.is_ssl, \\\"true\\\", \\\"false\\\")}V\",\"tls_client_protocol\":\"%{json.escape(tls.client.protocol)}V\",\"tls_client_servername\":\"%{json.escape(tls.client.servername)}V\",\"tls_client_cipher\":\"%{json.escape(tls.client.cipher)}V\",\"tls_client_cipher_sha\":\"%{json.escape(tls.client.ciphers_sha)}V\",\"tls_client_tlsexts_sha\":\"%{json.escape(tls.client.tlsexts_sha)}V\",\"is_h2\":\"%{if(fastly_info.is_h2, \\\"true\\\", \\\"false\\\")}V\",\"is_h2_push\":\"%{if(fastly_info.h2.is_push, \\\"true\\\", \\\"false\\\")}V\",\"h2_stream_id\":\"%{fastly_info.h2.stream_id}V\",\"request_accept_content\":\"%{Accept}i\",\"request_accept_language\":\"%{Accept-Language}i\",\"request_accept_encoding\":\"%{Accept-Encoding}i\",\"request_accept_charset\":\"%{Accept-Charset}i\",\"request_connection\":\"%{Connection}i\",\"request_dnt\":\"%{DNT}i\",\"request_forwarded\":\"%{Forwarded}i\",\"request_via\":\"%{Via}i\",\"request_cache_control\":\"%{Cache-Control}i\",\"request_x_requested_with\":\"%{X-Requested-With}i\",\"request_x_att_device_id\":\"%{X-ATT-Device-Id}i\",\"content_type\":\"%{Content-Type}o\",\"is_cacheable\":\"%{if(fastly_info.state~\\\"^(HIT|MISS)$\\\", \\\"true\\\", \\\"false\\\")}V\",\"response_age\":\"%{Age}o\",\"response_cache_control\":\"%{Cache-Control}o\",\"response_expires\":\"%{Expires}o\",\"response_last_modified\":\"%{Last-Modified}o\",\"response_tsv\":\"%{TSV}o\",\"server_datacenter\":\"%{server.datacenter}V\",\"req_header_size\":\"%{req.header_bytes_read}V\",\"resp_header_size\":\"%{resp.header_bytes_written}V\",\"socket_cwnd\":\"%{client.socket.cwnd}V\",\"socket_nexthop\":\"%{client.socket.nexthop}V\",\"socket_tcpi_rcv_mss\":\"%{client.socket.tcpi_rcv_mss}V\",\"socket_tcpi_snd_mss\":\"%{client.socket.tcpi_snd_mss}V\",\"socket_tcpi_rtt\":\"%{client.socket.tcpi_rtt}V\",\"socket_tcpi_rttvar\":\"%{client.socket.tcpi_rttvar}V\",\"socket_tcpi_rcv_rtt\":\"%{client.socket.tcpi_rcv_rtt}V\",\"socket_tcpi_rcv_space\":\"%{client.socket.tcpi_rcv_space}V\",\"socket_tcpi_last_data_sent\":\"%{client.socket.tcpi_last_data_sent}V\",\"socket_tcpi_total_retrans\":\"%{client.socket.tcpi_total_retrans}V\",\"socket_tcpi_delta_retrans\":\"%{client.socket.tcpi_delta_retrans}V\",\"socket_ploss\":\"%{client.socket.ploss}V\"}'] |
11
11
  | **log_processing_region** | **String** | The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global. | [optional][default to 'none'] |
12
12
  | **format_version** | **String** | The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. | [optional][default to '2'] |
13
13
  | **region** | **String** | The region that log data will be sent to. | [optional][default to 'US'] |
@@ -13,28 +13,28 @@ api_instance = Fastly::MetricsPlatformApi.new
13
13
 
14
14
  Method | HTTP request | Description
15
15
  ------ | ------------ | -----------
16
- [**get_platform_metrics_service_historical**](MetricsPlatformApi.md#get_platform_metrics_service_historical) | **GET** /metrics/platform/services/{service_id}/{granularity} | Get historical time series metrics for a single service
16
+ [**get_platform_metrics_aggregate_historical**](MetricsPlatformApi.md#get_platform_metrics_aggregate_historical) | **GET** /metrics/v2/platform/aggregate/{granularity} | Get aggregated historical time series metrics for all entities
17
+ [**get_platform_metrics_entity_historical**](MetricsPlatformApi.md#get_platform_metrics_entity_historical) | **GET** /metrics/v2/platform/entities/{entity_id}/{granularity} | Get historical time series metrics for a single entity.
17
18
 
18
19
 
19
- ## `get_platform_metrics_service_historical()`
20
+ ## `get_platform_metrics_aggregate_historical()`
20
21
 
21
22
  ```ruby
22
- get_platform_metrics_service_historical(opts): <PlatformMetricsResponse> # Get historical time series metrics for a single service
23
+ get_platform_metrics_aggregate_historical(opts): <PlatformMetricsResponse> # Get aggregated historical time series metrics for all entities
23
24
  ```
24
25
 
25
- Fetches historical metrics for a single service for a given granularity.
26
+ 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.
26
27
 
27
28
  ### Examples
28
29
 
29
30
  ```ruby
30
31
  api_instance = Fastly::MetricsPlatformApi.new
31
32
  opts = {
32
- service_id: 'service_id_example', # String | Alphanumeric string identifying the service.
33
33
  granularity: 'minutely', # String | Duration of sample windows.
34
34
  from: '2025-06-08T00:00:00.000Z', # String | 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.
35
35
  to: '2025-08-02T00:00:00.000Z', # String | 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.
36
- metric: 'ttfb_edge_p95_us,ttfb_edge_p99_us', # String | The metric(s) to retrieve. Multiple values should be comma-separated.
37
- metric_set: 'ttfb', # String | The metric set(s) to retrieve. Multiple values should be comma-separated.
36
+ metric: 'status_4xx,status_5xx,ipv6,http3', # String | One or more metrics to retrieve. Multiple values should be comma-separated.
37
+ metric_set: 'delivery_traffic_flow', # String | 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.
38
38
  group_by: 'datacenter', # String | Field to group_by in the query. For example, `group_by=region` will return entries for grouped by timestamp and region.
39
39
  region: 'africa_std', # String | Limit query to one or more specific geographic regions. Values should be comma-separated.
40
40
  datacenter: 'SJC,STP', # String | Limit query to one or more specific POPs. Values should be comma-separated.
@@ -43,11 +43,11 @@ opts = {
43
43
  }
44
44
 
45
45
  begin
46
- # Get historical time series metrics for a single service
47
- result = api_instance.get_platform_metrics_service_historical(opts)
46
+ # Get aggregated historical time series metrics for all entities
47
+ result = api_instance.get_platform_metrics_aggregate_historical(opts)
48
48
  p result
49
49
  rescue Fastly::ApiError => e
50
- puts "Error when calling MetricsPlatformApi->get_platform_metrics_service_historical: #{e}"
50
+ puts "Error when calling MetricsPlatformApi->get_platform_metrics_aggregate_historical: #{e}"
51
51
  end
52
52
  ```
53
53
 
@@ -55,12 +55,68 @@ end
55
55
 
56
56
  | Name | Type | Description | Notes |
57
57
  | ---- | ---- | ----------- | ----- |
58
- | **service_id** | **String** | Alphanumeric string identifying the service. | |
59
58
  | **granularity** | **String** | Duration of sample windows. | |
60
59
  | **from** | **String** | 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. | [optional] |
61
60
  | **to** | **String** | 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. | [optional] |
62
- | **metric** | **String** | The metric(s) to retrieve. Multiple values should be comma-separated. | [optional] |
63
- | **metric_set** | **String** | The metric set(s) to retrieve. Multiple values should be comma-separated. | [optional] |
61
+ | **metric** | **String** | One or more metrics to retrieve. Multiple values should be comma-separated. | [optional] |
62
+ | **metric_set** | **String** | 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. | [optional] |
63
+ | **group_by** | **String** | Field to group_by in the query. For example, `group_by&#x3D;region` will return entries for grouped by timestamp and region. | [optional] |
64
+ | **region** | **String** | Limit query to one or more specific geographic regions. Values should be comma-separated. | [optional] |
65
+ | **datacenter** | **String** | Limit query to one or more specific POPs. Values should be comma-separated. | [optional] |
66
+ | **cursor** | **String** | 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. | [optional] |
67
+ | **limit** | **String** | Number of results per page. The maximum is 10000. | [optional][default to &#39;1000&#39;] |
68
+
69
+ ### Return type
70
+
71
+ [**PlatformMetricsResponse**](PlatformMetricsResponse.md)
72
+
73
+ [[Back to top]](#) [[Back to API list]](../../README.md#endpoints)
74
+ [[Back to README]](../../README.md)
75
+ ## `get_platform_metrics_entity_historical()`
76
+
77
+ ```ruby
78
+ get_platform_metrics_entity_historical(opts): <PlatformMetricsResponse> # Get historical time series metrics for a single entity.
79
+ ```
80
+
81
+ 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.
82
+
83
+ ### Examples
84
+
85
+ ```ruby
86
+ api_instance = Fastly::MetricsPlatformApi.new
87
+ opts = {
88
+ entity_id: 'l4c2G719JnG5z0qbt512fG', # String | Alphanumeric string identifying the entity.
89
+ granularity: 'minutely', # String | Duration of sample windows.
90
+ from: '2025-06-08T00:00:00.000Z', # String | 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.
91
+ to: '2025-08-02T00:00:00.000Z', # String | 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.
92
+ metric: 'status_4xx,status_5xx,ipv6,http3', # String | One or more metrics to retrieve. Multiple values should be comma-separated.
93
+ metric_set: 'delivery_traffic_flow', # String | 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.
94
+ group_by: 'datacenter', # String | Field to group_by in the query. For example, `group_by=region` will return entries for grouped by timestamp and region.
95
+ region: 'africa_std', # String | Limit query to one or more specific geographic regions. Values should be comma-separated.
96
+ datacenter: 'SJC,STP', # String | Limit query to one or more specific POPs. Values should be comma-separated.
97
+ cursor: 'cursor_example', # String | 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.
98
+ limit: 'limit_example', # String | Number of results per page. The maximum is 10000.
99
+ }
100
+
101
+ begin
102
+ # Get historical time series metrics for a single entity.
103
+ result = api_instance.get_platform_metrics_entity_historical(opts)
104
+ p result
105
+ rescue Fastly::ApiError => e
106
+ puts "Error when calling MetricsPlatformApi->get_platform_metrics_entity_historical: #{e}"
107
+ end
108
+ ```
109
+
110
+ ### Options
111
+
112
+ | Name | Type | Description | Notes |
113
+ | ---- | ---- | ----------- | ----- |
114
+ | **entity_id** | **String** | Alphanumeric string identifying the entity. | |
115
+ | **granularity** | **String** | Duration of sample windows. | |
116
+ | **from** | **String** | 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. | [optional] |
117
+ | **to** | **String** | 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. | [optional] |
118
+ | **metric** | **String** | One or more metrics to retrieve. Multiple values should be comma-separated. | [optional] |
119
+ | **metric_set** | **String** | 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. | [optional] |
64
120
  | **group_by** | **String** | Field to group_by in the query. For example, `group_by&#x3D;region` will return entries for grouped by timestamp and region. | [optional] |
65
121
  | **region** | **String** | Limit query to one or more specific geographic regions. Values should be comma-separated. | [optional] |
66
122
  | **datacenter** | **String** | Limit query to one or more specific POPs. Values should be comma-separated. | [optional] |