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
@@ -12,188 +12,3276 @@ require 'date'
12
12
  require 'time'
13
13
 
14
14
  module Fastly
15
- # The results of the query, optionally filtered and grouped over the requested timespan.
15
+ # Metric values for the timestamp field. Note that this dataset is sparse: only the keys with non-zero values will be included in the record.
16
16
  class PlatformValues
17
- # Timestamp of the metrics data point.
17
+ # Timestamp for the start of the time period being reported
18
18
  attr_accessor :timestamp
19
19
 
20
- # 25th percentile of time to first byte from origin, in microseconds.
21
- attr_accessor :ttfb_origin_p25_us
20
+ # Datacenter for this data point. Only present if the request was made with `group_by=datacenter`.
21
+ attr_accessor :datacenter
22
22
 
23
- # 50th percentile of time to first byte from origin, in microseconds.
24
- attr_accessor :ttfb_origin_p50_us
23
+ # Region for this data point. Only present if the request was made with `group_by=region`.
24
+ attr_accessor :region
25
25
 
26
- # 75th percentile of time to first byte from origin, in microseconds.
27
- attr_accessor :ttfb_origin_p75_us
26
+ # Number of requests processed.
27
+ attr_accessor :requests
28
28
 
29
- # 95th percentile of time to first byte from origin, in microseconds.
30
- attr_accessor :ttfb_origin_p95_us
29
+ # Number of cache hits.
30
+ attr_accessor :hits
31
31
 
32
- # 99th percentile of time to first byte from origin, in microseconds.
33
- attr_accessor :ttfb_origin_p99_us
32
+ # Total amount of time spent processing cache hits (in seconds).
33
+ attr_accessor :hits_time
34
34
 
35
- # 25th percentile of time to first byte from shield, in microseconds.
36
- attr_accessor :ttfb_shield_p25_us
35
+ # Number of cache misses.
36
+ attr_accessor :miss
37
37
 
38
- # 50th percentile of time to first byte from shield, in microseconds.
39
- attr_accessor :ttfb_shield_p50_us
38
+ # Total amount of time spent processing cache misses (in seconds).
39
+ attr_accessor :miss_time
40
40
 
41
- # 75th percentile of time to first byte from shield, in microseconds.
42
- attr_accessor :ttfb_shield_p75_us
41
+ # Number of requests that passed through the CDN without being cached.
42
+ attr_accessor :pass
43
43
 
44
- # 95th percentile of time to first byte from shield, in microseconds.
45
- attr_accessor :ttfb_shield_p95_us
44
+ # Total amount of time spent processing cache passes (in seconds).
45
+ attr_accessor :pass_time
46
46
 
47
- # 99th percentile of time to first byte from shield, in microseconds.
48
- attr_accessor :ttfb_shield_p99_us
47
+ # Number of cache errors.
48
+ attr_accessor :errors
49
49
 
50
- # 25th percentile of time to first byte from edge, in microseconds.
51
- attr_accessor :ttfb_edge_p25_us
50
+ # Number of restarts performed.
51
+ attr_accessor :restarts
52
52
 
53
- # 50th percentile of time to first byte from edge, in microseconds.
54
- attr_accessor :ttfb_edge_p50_us
53
+ # Ratio of cache hits to cache misses (between 0 and 1).
54
+ attr_accessor :hit_ratio
55
55
 
56
- # 75th percentile of time to first byte from edge, in microseconds.
57
- attr_accessor :ttfb_edge_p75_us
56
+ # Total bytes delivered (`resp_header_bytes` + `resp_body_bytes` + `bereq_header_bytes` + `bereq_body_bytes` + `compute_resp_header_bytes` + `compute_resp_body_bytes` + `compute_bereq_header_bytes` + `compute_bereq_body_bytes` + `websocket_resp_header_bytes` + `websocket_resp_body_bytes` + `websocket_bereq_header_bytes` + `websocket_bereq_body_bytes` + `fanout_resp_header_bytes` + `fanout_resp_body_bytes` + `fanout_bereq_header_bytes` + `fanout_bereq_body_bytes`).
57
+ attr_accessor :bandwidth
58
58
 
59
- # 95th percentile of time to first byte from edge, in microseconds.
60
- attr_accessor :ttfb_edge_p95_us
59
+ # Total body bytes received.
60
+ attr_accessor :req_body_bytes
61
61
 
62
- # 99th percentile of time to first byte from edge, in microseconds.
63
- attr_accessor :ttfb_edge_p99_us
62
+ # Total header bytes received.
63
+ attr_accessor :req_header_bytes
64
+
65
+ # Total body bytes delivered (edge_resp_body_bytes + shield_resp_body_bytes).
66
+ attr_accessor :resp_body_bytes
67
+
68
+ # Total header bytes delivered (edge_resp_header_bytes + shield_resp_header_bytes).
69
+ attr_accessor :resp_header_bytes
70
+
71
+ # Total body bytes sent to origin.
72
+ attr_accessor :bereq_body_bytes
73
+
74
+ # Total header bytes sent to origin.
75
+ attr_accessor :bereq_header_bytes
76
+
77
+ # Number of requests that were designated uncachable.
78
+ attr_accessor :uncacheable
79
+
80
+ # Optional. Pipe operations performed (legacy feature).
81
+ attr_accessor :pipe
82
+
83
+ # Number of requests that returned a synthetic response (i.e., response objects created with the `synthetic` VCL statement).
84
+ attr_accessor :synth
85
+
86
+ # Number of requests that were received over TLS.
87
+ attr_accessor :tls
88
+
89
+ # Number of requests received over TLS 1.0.
90
+ attr_accessor :tls_v10
91
+
92
+ # Number of requests received over TLS 1.1.
93
+ attr_accessor :tls_v11
94
+
95
+ # Number of requests received over TLS 1.2.
96
+ attr_accessor :tls_v12
97
+
98
+ # Number of requests received over TLS 1.3.
99
+ attr_accessor :tls_v13
100
+
101
+ # Number of requests sent by end users to Fastly.
102
+ attr_accessor :edge_requests
103
+
104
+ # Total header bytes delivered from Fastly to the end user.
105
+ attr_accessor :edge_resp_header_bytes
106
+
107
+ # Total body bytes delivered from Fastly to the end user.
108
+ attr_accessor :edge_resp_body_bytes
109
+
110
+ # Number of requests sent by end users to Fastly that resulted in a hit at the edge.
111
+ attr_accessor :edge_hit_requests
112
+
113
+ # Number of requests sent by end users to Fastly that resulted in a miss at the edge.
114
+ attr_accessor :edge_miss_requests
115
+
116
+ # Number of requests sent to origin.
117
+ attr_accessor :origin_fetches
118
+
119
+ # Total request header bytes sent to origin.
120
+ attr_accessor :origin_fetch_header_bytes
121
+
122
+ # Total request body bytes sent to origin.
123
+ attr_accessor :origin_fetch_body_bytes
124
+
125
+ # Total header bytes received from origin.
126
+ attr_accessor :origin_fetch_resp_header_bytes
127
+
128
+ # Total body bytes received from origin.
129
+ attr_accessor :origin_fetch_resp_body_bytes
130
+
131
+ # Number of responses received from origin with a `304` status code in response to an `If-Modified-Since` or `If-None-Match` request. Under regular scenarios, a revalidation will imply a cache hit. However, if using Fastly Image Optimizer or segmented caching this may result in a cache miss.
132
+ attr_accessor :origin_revalidations
133
+
134
+ # The total number of completed requests made to backends (origins) that returned cacheable content.
135
+ attr_accessor :origin_cache_fetches
136
+
137
+ # Number of requests from edge to the shield POP.
138
+ attr_accessor :shield
139
+
140
+ # Total body bytes delivered via a shield.
141
+ attr_accessor :shield_resp_body_bytes
142
+
143
+ # Total header bytes delivered via a shield.
144
+ attr_accessor :shield_resp_header_bytes
145
+
146
+ # Number of requests made from one Fastly POP to another, as part of shielding.
147
+ attr_accessor :shield_fetches
148
+
149
+ # Total request header bytes sent to a shield.
150
+ attr_accessor :shield_fetch_header_bytes
151
+
152
+ # Total request body bytes sent to a shield.
153
+ attr_accessor :shield_fetch_body_bytes
154
+
155
+ # Total response header bytes sent from a shield to the edge.
156
+ attr_accessor :shield_fetch_resp_header_bytes
157
+
158
+ # Total response body bytes sent from a shield to the edge.
159
+ attr_accessor :shield_fetch_resp_body_bytes
160
+
161
+ # Number of responses received from origin with a `304` status code, in response to an `If-Modified-Since` or `If-None-Match` request to a shield. Under regular scenarios, a revalidation will imply a cache hit. However, if using segmented caching this may result in a cache miss.
162
+ attr_accessor :shield_revalidations
163
+
164
+ # The total number of completed requests made to shields that returned cacheable content.
165
+ attr_accessor :shield_cache_fetches
166
+
167
+ # Number of requests that were received over IPv6.
168
+ attr_accessor :ipv6
169
+
170
+ # Number of responses that came from the Fastly On-the-Fly Packaging service for video-on-demand.
171
+ attr_accessor :otfp
172
+
173
+ # Total body bytes delivered from the Fastly On-the-Fly Packaging service for video-on-demand.
174
+ attr_accessor :otfp_resp_body_bytes
175
+
176
+ # Total header bytes delivered from the Fastly On-the-Fly Packaging service for video-on-demand.
177
+ attr_accessor :otfp_resp_header_bytes
178
+
179
+ # Total body bytes delivered via a shield for the Fastly On-the-Fly Packaging service for video-on-demand.
180
+ attr_accessor :otfp_shield_resp_body_bytes
181
+
182
+ # Total header bytes delivered via a shield for the Fastly On-the-Fly Packaging service for video-on-demand.
183
+ attr_accessor :otfp_shield_resp_header_bytes
184
+
185
+ # Number of responses that were manifest files from the Fastly On-the-Fly Packaging service for video-on-demand.
186
+ attr_accessor :otfp_manifests
187
+
188
+ # Total amount of time spent delivering a response from the Fastly On-the-Fly Packaging service for video-on-demand (in seconds).
189
+ attr_accessor :otfp_deliver_time
190
+
191
+ # Total amount of time spent delivering a response via a shield from the Fastly On-the-Fly Packaging service for video-on-demand (in seconds).
192
+ attr_accessor :otfp_shield_time
193
+
194
+ # Number of responses with the video segment or video manifest MIME type (i.e., application/x-mpegurl, application/vnd.apple.mpegurl, application/f4m, application/dash+xml, application/vnd.ms-sstr+xml, ideo/mp2t, audio/aac, video/f4f, video/x-flv, video/mp4, audio/mp4).
195
+ attr_accessor :video
196
+
197
+ # Number of responses with the PCI flag turned on.
198
+ attr_accessor :pci
199
+
200
+ # Number of log lines sent.
201
+ attr_accessor :log
202
+
203
+ # Total log bytes sent.
204
+ attr_accessor :log_bytes
205
+
206
+ # Number of requests received over HTTP/2.
207
+ attr_accessor :http2
208
+
209
+ # Number of requests received over HTTP/3.
210
+ attr_accessor :http3
211
+
212
+ # Total body bytes received from requests that triggered a WAF rule.
213
+ attr_accessor :attack_req_body_bytes
214
+
215
+ # Total header bytes received from requests that triggered a WAF rule.
216
+ attr_accessor :attack_req_header_bytes
217
+
218
+ # Total body bytes received from requests that triggered a WAF rule that was logged.
219
+ attr_accessor :attack_logged_req_body_bytes
220
+
221
+ # Total header bytes received from requests that triggered a WAF rule that was logged.
222
+ attr_accessor :attack_logged_req_header_bytes
223
+
224
+ # Total body bytes received from requests that triggered a WAF rule that was blocked.
225
+ attr_accessor :attack_blocked_req_body_bytes
226
+
227
+ # Total header bytes received from requests that triggered a WAF rule that was blocked.
228
+ attr_accessor :attack_blocked_req_header_bytes
229
+
230
+ # Total body bytes received from requests that triggered a WAF rule that was passed.
231
+ attr_accessor :attack_passed_req_body_bytes
232
+
233
+ # Total header bytes received from requests that triggered a WAF rule that was passed.
234
+ attr_accessor :attack_passed_req_header_bytes
235
+
236
+ # Total bytes delivered for requests that triggered a WAF rule and returned a synthetic response.
237
+ attr_accessor :attack_resp_synth_bytes
238
+
239
+ # Number of responses that came from the Fastly Image Optimizer service. If the service receives 10 requests for an image, this stat will be 10 regardless of how many times the image was transformed.
240
+ attr_accessor :imgopto
241
+
242
+ # The total image bytes that would have been delivered if the images had not been transformed by the Fastly Image Optimizer. Bytes are counted once per client request. Byte counts exclude shield traffic and requests where Fastly Image Optimizer proxied a request without attempting to transform it (e.g., file types that are not supported by Image Optimizer).
243
+ attr_accessor :imgopto_input_image_bytes
244
+
245
+ # The total image bytes delivered that have been transformed by the Fastly Image Optimizer. Bytes are counted once per client request. Byte counts exclude shield traffic and requests where Fastly Image Optimizer proxied a request without attempting to transform it (e.g., file types that are not supported by Image Optimizer).
246
+ attr_accessor :imgopto_output_image_bytes
247
+
248
+ # Total body bytes delivered from the Fastly Image Optimizer service, including shield traffic.
249
+ attr_accessor :imgopto_resp_body_bytes
250
+
251
+ # Total header bytes delivered from the Fastly Image Optimizer service, including shield traffic.
252
+ attr_accessor :imgopto_resp_header_bytes
253
+
254
+ # Number of responses that came from the Fastly Image Optimizer service via a shield.
255
+ attr_accessor :imgopto_shield
256
+
257
+ # Total body bytes delivered via a shield from the Fastly Image Optimizer service.
258
+ attr_accessor :imgopto_shield_resp_body_bytes
259
+
260
+ # Total header bytes delivered via a shield from the Fastly Image Optimizer service.
261
+ attr_accessor :imgopto_shield_resp_header_bytes
262
+
263
+ # Number of transforms performed by the Fastly Image Optimizer service.
264
+ attr_accessor :imgopto_transforms
265
+
266
+ # Number of video responses that came from the Fastly Image Optimizer service.
267
+ attr_accessor :imgvideo
268
+
269
+ # Number of video frames that came from the Fastly Image Optimizer service. A video frame is an individual image within a sequence of video.
270
+ attr_accessor :imgvideo_frames
271
+
272
+ # Total header bytes of video delivered from the Fastly Image Optimizer service.
273
+ attr_accessor :imgvideo_resp_header_bytes
274
+
275
+ # Total body bytes of video delivered from the Fastly Image Optimizer service.
276
+ attr_accessor :imgvideo_resp_body_bytes
277
+
278
+ # Total header bytes of video delivered via a shield from the Fastly Image Optimizer service.
279
+ attr_accessor :imgvideo_shield_resp_header_bytes
280
+
281
+ # Total body bytes of video delivered via a shield from the Fastly Image Optimizer service.
282
+ attr_accessor :imgvideo_shield_resp_body_bytes
283
+
284
+ # Number of video responses delivered via a shield that came from the Fastly Image Optimizer service.
285
+ attr_accessor :imgvideo_shield
286
+
287
+ # Number of video frames delivered via a shield that came from the Fastly Image Optimizer service. A video frame is an individual image within a sequence of video.
288
+ attr_accessor :imgvideo_shield_frames
289
+
290
+ # Number of responses sent with status code 200 (Success).
291
+ attr_accessor :status_200
292
+
293
+ # Number of responses sent with status code 204 (No Content).
294
+ attr_accessor :status_204
295
+
296
+ # Number of responses sent with status code 206 (Partial Content).
297
+ attr_accessor :status_206
298
+
299
+ # Number of responses sent with status code 301 (Moved Permanently).
300
+ attr_accessor :status_301
301
+
302
+ # Number of responses sent with status code 302 (Found).
303
+ attr_accessor :status_302
304
+
305
+ # Number of responses sent with status code 304 (Not Modified).
306
+ attr_accessor :status_304
307
+
308
+ # Number of responses sent with status code 400 (Bad Request).
309
+ attr_accessor :status_400
310
+
311
+ # Number of responses sent with status code 401 (Unauthorized).
312
+ attr_accessor :status_401
313
+
314
+ # Number of responses sent with status code 403 (Forbidden).
315
+ attr_accessor :status_403
316
+
317
+ # Number of responses sent with status code 404 (Not Found).
318
+ attr_accessor :status_404
319
+
320
+ # Number of responses sent with status code 406 (Not Acceptable).
321
+ attr_accessor :status_406
322
+
323
+ # Number of responses sent with status code 416 (Range Not Satisfiable).
324
+ attr_accessor :status_416
325
+
326
+ # Number of responses sent with status code 429 (Too Many Requests).
327
+ attr_accessor :status_429
328
+
329
+ # Number of responses sent with status code 500 (Internal Server Error).
330
+ attr_accessor :status_500
331
+
332
+ # Number of responses sent with status code 501 (Not Implemented).
333
+ attr_accessor :status_501
334
+
335
+ # Number of responses sent with status code 502 (Bad Gateway).
336
+ attr_accessor :status_502
337
+
338
+ # Number of responses sent with status code 503 (Service Unavailable).
339
+ attr_accessor :status_503
340
+
341
+ # Number of responses sent with status code 504 (Gateway Timeout).
342
+ attr_accessor :status_504
343
+
344
+ # Number of responses sent with status code 505 (HTTP Version Not Supported).
345
+ attr_accessor :status_505
346
+
347
+ # Number of responses sent with status code 530.
348
+ attr_accessor :status_530
349
+
350
+ # Number of \"Informational\" category status codes delivered.
351
+ attr_accessor :status_1xx
352
+
353
+ # Number of \"Success\" status codes delivered.
354
+ attr_accessor :status_2xx
355
+
356
+ # Number of \"Redirection\" codes delivered.
357
+ attr_accessor :status_3xx
358
+
359
+ # Number of \"Client Error\" codes delivered.
360
+ attr_accessor :status_4xx
361
+
362
+ # Number of \"Server Error\" codes delivered.
363
+ attr_accessor :status_5xx
364
+
365
+ # Number of objects served that were under 1KB in size.
366
+ attr_accessor :object_size_1k
367
+
368
+ # Number of objects served that were between 1KB and 10KB in size.
369
+ attr_accessor :object_size_10k
370
+
371
+ # Number of objects served that were between 10KB and 100KB in size.
372
+ attr_accessor :object_size_100k
373
+
374
+ # Number of objects served that were between 100KB and 1MB in size.
375
+ attr_accessor :object_size_1m
376
+
377
+ # Number of objects served that were between 1MB and 10MB in size.
378
+ attr_accessor :object_size_10m
379
+
380
+ # Number of objects served that were between 10MB and 100MB in size.
381
+ attr_accessor :object_size_100m
382
+
383
+ # Number of objects served that were between 100MB and 1GB in size.
384
+ attr_accessor :object_size_1g
385
+
386
+ # Time spent inside the `vcl_recv` Varnish subroutine (in seconds).
387
+ attr_accessor :recv_sub_time
388
+
389
+ # Number of executions of the `vcl_recv` Varnish subroutine.
390
+ attr_accessor :recv_sub_count
391
+
392
+ # Time spent inside the `vcl_hash` Varnish subroutine (in seconds).
393
+ attr_accessor :hash_sub_time
394
+
395
+ # Number of executions of the `vcl_hash` Varnish subroutine.
396
+ attr_accessor :hash_sub_count
397
+
398
+ # Time spent inside the `vcl_miss` Varnish subroutine (in seconds).
399
+ attr_accessor :miss_sub_time
400
+
401
+ # Number of executions of the `vcl_miss` Varnish subroutine.
402
+ attr_accessor :miss_sub_count
403
+
404
+ # Time spent inside the `vcl_fetch` Varnish subroutine (in seconds).
405
+ attr_accessor :fetch_sub_time
406
+
407
+ # Number of executions of the `vcl_fetch` Varnish subroutine.
408
+ attr_accessor :fetch_sub_count
409
+
410
+ # Time spent inside the `vcl_pass` Varnish subroutine (in seconds).
411
+ attr_accessor :pass_sub_time
412
+
413
+ # Number of executions of the `vcl_pass` Varnish subroutine.
414
+ attr_accessor :pass_sub_count
415
+
416
+ # Time spent inside the `vcl_pipe` Varnish subroutine (in seconds).
417
+ attr_accessor :pipe_sub_time
418
+
419
+ # Number of executions of the `vcl_pipe` Varnish subroutine.
420
+ attr_accessor :pipe_sub_count
421
+
422
+ # Time spent inside the `vcl_deliver` Varnish subroutine (in seconds).
423
+ attr_accessor :deliver_sub_time
424
+
425
+ # Number of executions of the `vcl_deliver` Varnish subroutine.
426
+ attr_accessor :deliver_sub_count
427
+
428
+ # Time spent inside the `vcl_error` Varnish subroutine (in seconds).
429
+ attr_accessor :error_sub_time
430
+
431
+ # Number of executions of the `vcl_error` Varnish subroutine.
432
+ attr_accessor :error_sub_count
433
+
434
+ # Time spent inside the `vcl_hit` Varnish subroutine (in seconds).
435
+ attr_accessor :hit_sub_time
436
+
437
+ # Number of executions of the `vcl_hit` Varnish subroutine.
438
+ attr_accessor :hit_sub_count
439
+
440
+ # Time spent inside the `vcl_prehash` Varnish subroutine (in seconds).
441
+ attr_accessor :prehash_sub_time
442
+
443
+ # Number of executions of the `vcl_prehash` Varnish subroutine.
444
+ attr_accessor :prehash_sub_count
445
+
446
+ # Time spent inside the `vcl_predeliver` Varnish subroutine (in seconds).
447
+ attr_accessor :predeliver_sub_time
448
+
449
+ # Number of executions of the `vcl_predeliver` Varnish subroutine.
450
+ attr_accessor :predeliver_sub_count
451
+
452
+ # Number of bytes transferred during TLS handshake.
453
+ attr_accessor :tls_handshake_sent_bytes
454
+
455
+ # Total body bytes delivered for cache hits.
456
+ attr_accessor :hit_resp_body_bytes
457
+
458
+ # Total body bytes delivered for cache misses.
459
+ attr_accessor :miss_resp_body_bytes
460
+
461
+ # Total body bytes delivered for cache passes.
462
+ attr_accessor :pass_resp_body_bytes
463
+
464
+ # Number of `Range` requests to origin for segments of resources when using segmented caching.
465
+ attr_accessor :segblock_origin_fetches
466
+
467
+ # Number of `Range` requests to a shield for segments of resources when using segmented caching.
468
+ attr_accessor :segblock_shield_fetches
469
+
470
+ # The total number of requests that were received for your service by Fastly.
471
+ attr_accessor :compute_requests
472
+
473
+ # The total, actual amount of time used to process your requests, including active CPU time (in milliseconds).
474
+ attr_accessor :compute_request_time_ms
475
+
476
+ # The total amount of request processing time you will be billed for, measured in 50 millisecond increments.
477
+ attr_accessor :compute_request_time_billed_ms
478
+
479
+ # The amount of RAM used for your service by Fastly (in bytes).
480
+ attr_accessor :compute_ram_used
481
+
482
+ # The amount of active CPU time used to process your requests (in milliseconds).
483
+ attr_accessor :compute_execution_time_ms
484
+
485
+ # Total header bytes received by the Compute platform.
486
+ attr_accessor :compute_req_header_bytes
487
+
488
+ # Total body bytes received by the Compute platform.
489
+ attr_accessor :compute_req_body_bytes
490
+
491
+ # Total header bytes sent from Compute to end user.
492
+ attr_accessor :compute_resp_header_bytes
493
+
494
+ # Total body bytes sent from Compute to end user.
495
+ attr_accessor :compute_resp_body_bytes
496
+
497
+ # Number of \"Informational\" category status codes delivered by the Compute platform.
498
+ attr_accessor :compute_resp_status_1xx
499
+
500
+ # Number of \"Success\" category status codes delivered by the Compute platform.
501
+ attr_accessor :compute_resp_status_2xx
502
+
503
+ # Number of \"Redirection\" category status codes delivered by the Compute platform.
504
+ attr_accessor :compute_resp_status_3xx
505
+
506
+ # Number of \"Client Error\" category status codes delivered by the Compute platform.
507
+ attr_accessor :compute_resp_status_4xx
508
+
509
+ # Number of \"Server Error\" category status codes delivered by the Compute platform.
510
+ attr_accessor :compute_resp_status_5xx
511
+
512
+ # Total header bytes sent to backends (origins) by the Compute platform.
513
+ attr_accessor :compute_bereq_header_bytes
514
+
515
+ # Total body bytes sent to backends (origins) by the Compute platform.
516
+ attr_accessor :compute_bereq_body_bytes
517
+
518
+ # Total header bytes received from backends (origins) by the Compute platform.
519
+ attr_accessor :compute_beresp_header_bytes
520
+
521
+ # Total body bytes received from backends (origins) by the Compute platform.
522
+ attr_accessor :compute_beresp_body_bytes
523
+
524
+ # Number of backend requests started.
525
+ attr_accessor :compute_bereqs
526
+
527
+ # Number of backend request errors, including timeouts.
528
+ attr_accessor :compute_service_bereq_error
529
+
530
+ # Number of times a guest exceeded its heap limit.
531
+ attr_accessor :compute_service_memory_exceeded_error
532
+
533
+ # Body bytes delivered for edge hits.
534
+ attr_accessor :edge_hit_resp_body_bytes
535
+
536
+ # Header bytes delivered for edge hits.
537
+ attr_accessor :edge_hit_resp_header_bytes
538
+
539
+ # Body bytes delivered for edge misses.
540
+ attr_accessor :edge_miss_resp_body_bytes
541
+
542
+ # Header bytes delivered for edge misses.
543
+ attr_accessor :edge_miss_resp_header_bytes
544
+
545
+ # Body bytes received from origin for cacheable content.
546
+ attr_accessor :origin_cache_fetch_resp_body_bytes
547
+
548
+ # Header bytes received from an origin for cacheable content.
549
+ attr_accessor :origin_cache_fetch_resp_header_bytes
550
+
551
+ # Number of requests that resulted in a hit at a shield.
552
+ attr_accessor :shield_hit_requests
553
+
554
+ # Number of requests that resulted in a miss at a shield.
555
+ attr_accessor :shield_miss_requests
556
+
557
+ # Header bytes delivered for shield hits.
558
+ attr_accessor :shield_hit_resp_header_bytes
559
+
560
+ # Body bytes delivered for shield hits.
561
+ attr_accessor :shield_hit_resp_body_bytes
562
+
563
+ # Header bytes delivered for shield misses.
564
+ attr_accessor :shield_miss_resp_header_bytes
565
+
566
+ # Body bytes delivered for shield misses.
567
+ attr_accessor :shield_miss_resp_body_bytes
568
+
569
+ # Total header bytes received from end users over passthrough WebSocket connections.
570
+ attr_accessor :websocket_req_header_bytes
571
+
572
+ # Total message content bytes received from end users over passthrough WebSocket connections.
573
+ attr_accessor :websocket_req_body_bytes
574
+
575
+ # Total header bytes sent to end users over passthrough WebSocket connections.
576
+ attr_accessor :websocket_resp_header_bytes
577
+
578
+ # Total message content bytes sent to end users over passthrough WebSocket connections.
579
+ attr_accessor :websocket_resp_body_bytes
580
+
581
+ # Total header bytes sent to backends over passthrough WebSocket connections.
582
+ attr_accessor :websocket_bereq_header_bytes
583
+
584
+ # Total message content bytes sent to backends over passthrough WebSocket connections.
585
+ attr_accessor :websocket_bereq_body_bytes
586
+
587
+ # Total header bytes received from backends over passthrough WebSocket connections.
588
+ attr_accessor :websocket_beresp_header_bytes
589
+
590
+ # Total message content bytes received from backends over passthrough WebSocket connections.
591
+ attr_accessor :websocket_beresp_body_bytes
592
+
593
+ # Total duration of passthrough WebSocket connections with end users.
594
+ attr_accessor :websocket_conn_time_ms
595
+
596
+ # Total published messages received from the publish API endpoint.
597
+ attr_accessor :fanout_recv_publishes
598
+
599
+ # Total published messages sent to end users.
600
+ attr_accessor :fanout_send_publishes
601
+
602
+ # The total number of class a operations for the KV store.
603
+ attr_accessor :kv_store_class_a_operations
604
+
605
+ # The total number of class b operations for the KV store.
606
+ attr_accessor :kv_store_class_b_operations
607
+
608
+ # Total header bytes received from end users over Fanout connections.
609
+ attr_accessor :fanout_req_header_bytes
610
+
611
+ # Total body or message content bytes received from end users over Fanout connections.
612
+ attr_accessor :fanout_req_body_bytes
613
+
614
+ # Total header bytes sent to end users over Fanout connections.
615
+ attr_accessor :fanout_resp_header_bytes
616
+
617
+ # Total body or message content bytes sent to end users over Fanout connections, excluding published message content.
618
+ attr_accessor :fanout_resp_body_bytes
619
+
620
+ # Total header bytes sent to backends over Fanout connections.
621
+ attr_accessor :fanout_bereq_header_bytes
622
+
623
+ # Total body or message content bytes sent to backends over Fanout connections.
624
+ attr_accessor :fanout_bereq_body_bytes
625
+
626
+ # Total header bytes received from backends over Fanout connections.
627
+ attr_accessor :fanout_beresp_header_bytes
628
+
629
+ # Total body or message content bytes received from backends over Fanout connections.
630
+ attr_accessor :fanout_beresp_body_bytes
631
+
632
+ # Total duration of Fanout connections with end users.
633
+ attr_accessor :fanout_conn_time_ms
634
+
635
+ # For HTTP/2, the number of connections the limit-streams action was applied to. The limit-streams action caps the allowed number of concurrent streams in a connection.
636
+ attr_accessor :ddos_action_limit_streams_connections
637
+
638
+ # For HTTP/2, the number of requests made on a connection for which the limit-streams action was taken. The limit-streams action caps the allowed number of concurrent streams in a connection.
639
+ attr_accessor :ddos_action_limit_streams_requests
640
+
641
+ # The number of times the tarpit-accept action was taken. The tarpit-accept action adds a delay when accepting future connections.
642
+ attr_accessor :ddos_action_tarpit_accept
643
+
644
+ # The number of times the tarpit action was taken. The tarpit action delays writing the response to the client.
645
+ attr_accessor :ddos_action_tarpit
646
+
647
+ # The number of times the close action was taken. The close action aborts the connection as soon as possible. The close action takes effect either right after accept, right after the client hello, or right after the response was sent.
648
+ attr_accessor :ddos_action_close
649
+
650
+ # The number of times the blackhole action was taken. The blackhole action quietly closes a TCP connection without sending a reset. The blackhole action quietly closes a TCP connection without notifying its peer (all TCP state is dropped).
651
+ attr_accessor :ddos_action_blackhole
652
+
653
+ # The number of challenge-start tokens created.
654
+ attr_accessor :bot_challenge_starts
655
+
656
+ # The number of challenge-complete tokens that passed validation.
657
+ attr_accessor :bot_challenge_complete_tokens_passed
658
+
659
+ # The number of challenge-complete tokens that failed validation.
660
+ attr_accessor :bot_challenge_complete_tokens_failed
661
+
662
+ # The number of challenge-complete tokens checked.
663
+ attr_accessor :bot_challenge_complete_tokens_checked
664
+
665
+ # The number of challenge-complete tokens not checked because the feature was disabled.
666
+ attr_accessor :bot_challenge_complete_tokens_disabled
667
+
668
+ # The number of challenge-complete tokens issued. For example, issuing a challenge-complete token after a series of CAPTCHA challenges ending in success.
669
+ attr_accessor :bot_challenge_complete_tokens_issued
670
+
671
+ # The number of challenges issued. For example, the issuance of a CAPTCHA challenge.
672
+ attr_accessor :bot_challenges_issued
673
+
674
+ # The number of successful challenge solutions processed. For example, a correct CAPTCHA solution.
675
+ attr_accessor :bot_challenges_succeeded
676
+
677
+ # The number of failed challenge solutions processed. For example, an incorrect CAPTCHA solution.
678
+ attr_accessor :bot_challenges_failed
679
+
680
+ # The number of times the downgrade action was taken. The downgrade action restricts the client to http1.
681
+ attr_accessor :ddos_action_downgrade
682
+
683
+ # The number of connections the downgrade action was applied to. The downgrade action restricts the connection to http1.
684
+ attr_accessor :ddos_action_downgraded_connections
685
+
686
+ # Number of cache hits for a VCL service.
687
+ attr_accessor :all_hit_requests
688
+
689
+ # Number of cache misses for a VCL service.
690
+ attr_accessor :all_miss_requests
691
+
692
+ # Number of requests that passed through the CDN without being cached for a VCL service.
693
+ attr_accessor :all_pass_requests
694
+
695
+ # Number of cache errors for a VCL service.
696
+ attr_accessor :all_error_requests
697
+
698
+ # Number of requests that returned a synthetic response (i.e., response objects created with the `synthetic` VCL statement) for a VCL service.
699
+ attr_accessor :all_synth_requests
700
+
701
+ # Number of requests sent by end users to Fastly that resulted in a hit at the edge for a VCL service.
702
+ attr_accessor :all_edge_hit_requests
703
+
704
+ # Number of requests sent by end users to Fastly that resulted in a miss at the edge for a VCL service.
705
+ attr_accessor :all_edge_miss_requests
706
+
707
+ # Number of \"Informational\" category status codes delivered for all sources.
708
+ attr_accessor :all_status_1xx
709
+
710
+ # Number of \"Success\" status codes delivered for all sources.
711
+ attr_accessor :all_status_2xx
712
+
713
+ # Number of \"Redirection\" codes delivered for all sources.
714
+ attr_accessor :all_status_3xx
715
+
716
+ # Number of \"Client Error\" codes delivered for all sources.
717
+ attr_accessor :all_status_4xx
718
+
719
+ # Number of \"Server Error\" codes delivered for all sources.
720
+ attr_accessor :all_status_5xx
721
+
722
+ # Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`).
723
+ attr_accessor :origin_offload
724
+
725
+ # Number of requests where Fastly responded with 400 due to the request being a GET or HEAD request containing a body.
726
+ attr_accessor :request_denied_get_head_body
727
+
728
+ # Number of requests classified as a DDoS attack against a customer origin or service.
729
+ attr_accessor :ddos_protection_requests_detect_count
730
+
731
+ # Number of requests classified as a DDoS attack against a customer origin or service that were mitigated by the Fastly platform.
732
+ attr_accessor :ddos_protection_requests_mitigate_count
733
+
734
+ # Number of requests analyzed for DDoS attacks against a customer origin or service, but with no DDoS detected.
735
+ attr_accessor :ddos_protection_requests_allow_count
736
+
737
+ # A count of the number of Class A Object Storage operations.
738
+ attr_accessor :object_storage_class_a_operations_count
739
+
740
+ # A count of the number of Class B Object Storage operations.
741
+ attr_accessor :object_storage_class_b_operations_count
742
+
743
+ # Number of requests received by AI Accelerator.
744
+ attr_accessor :aia_requests
745
+
746
+ # Number of \"Informational\" category status codes received from AI provider.
747
+ attr_accessor :aia_status_1xx
748
+
749
+ # Number of \"Success\" status codes received from AI provider.
750
+ attr_accessor :aia_status_2xx
751
+
752
+ # Number of \"Redirection\" received from AI provider.
753
+ attr_accessor :aia_status_3xx
754
+
755
+ # Number of \"Client Error\" received from AI provider.
756
+ attr_accessor :aia_status_4xx
757
+
758
+ # Number of \"Server Error\" received from AI provider.
759
+ attr_accessor :aia_status_5xx
760
+
761
+ # The usage tokens associated with the response returned from the AI Accelerator cache.
762
+ attr_accessor :aia_response_usage_tokens
763
+
764
+ # The number of usage tokens reported by the request to the origin from AI Accelerator.
765
+ attr_accessor :aia_origin_usage_tokens
766
+
767
+ # The estimated amount of time saved by responses served from the AI Accelerator semantic cache.
768
+ attr_accessor :aia_estimated_time_saved_ms
769
+
770
+ # Number of requests that were collapsed and satisfied by a usable cache object.
771
+ attr_accessor :request_collapse_usable_count
772
+
773
+ # Number of requests that were collapsed and unable to be satisfied by the resulting cache object.
774
+ attr_accessor :request_collapse_unusable_count
775
+
776
+ # Number of cache operations executed by the Compute platform.
777
+ attr_accessor :compute_cache_operations_count
778
+
779
+ # Total number of Next-Gen WAF (Edge WAF & Core WAF) requests.
780
+ attr_accessor :ngwaf_requests_total_count
781
+
782
+ # Count of Edge WAF requests with an unknown outcome.
783
+ attr_accessor :ngwaf_requests_unknown_count
784
+
785
+ # Count of Next-Gen WAF (Edge WAF & Core WAF) requests allowed.
786
+ attr_accessor :ngwaf_requests_allowed_count
787
+
788
+ # Count of Edge WAF requests logged.
789
+ attr_accessor :ngwaf_requests_logged_count
790
+
791
+ # Count of Next-Gen WAF (Edge WAF & Core WAF) requests blocked.
792
+ attr_accessor :ngwaf_requests_blocked_count
793
+
794
+ # Count of Edge WAF requests timed outcome.
795
+ attr_accessor :ngwaf_requests_timeout_count
796
+
797
+ # Count of Edge WAF requests challenged.
798
+ attr_accessor :ngwaf_requests_challenged_count
799
+
800
+ # Number of requests processed by the API Discovery engine.
801
+ attr_accessor :api_discovery_requests_count
802
+
803
+ # Number of responses delivered with status code 103 (Early Hints) by the Compute platform.
804
+ attr_accessor :compute_resp_status_103
805
+
806
+ # Number of responses delivered with status code 200 (Success) by the Compute platform.
807
+ attr_accessor :compute_resp_status_200
808
+
809
+ # Number of responses delivered with status code 204 (No Content) by the Compute platform.
810
+ attr_accessor :compute_resp_status_204
811
+
812
+ # Number of responses delivered with status code 206 (Partial Content) by the Compute platform.
813
+ attr_accessor :compute_resp_status_206
814
+
815
+ # Number of responses delivered with status code 301 (Moved Permanently) by the Compute platform.
816
+ attr_accessor :compute_resp_status_301
817
+
818
+ # Number of responses delivered with status code 302 (Found) by the Compute platform.
819
+ attr_accessor :compute_resp_status_302
820
+
821
+ # Number of responses delivered with status code 304 (Not Modified) by the Compute platform.
822
+ attr_accessor :compute_resp_status_304
823
+
824
+ # Number of responses delivered with status code 400 (Bad Request) by the Compute platform.
825
+ attr_accessor :compute_resp_status_400
826
+
827
+ # Number of responses delivered with status code 401 (Unauthorized) by the Compute platform.
828
+ attr_accessor :compute_resp_status_401
829
+
830
+ # Number of responses delivered with status code 403 (Forbidden) by the Compute platform.
831
+ attr_accessor :compute_resp_status_403
832
+
833
+ # Number of responses delivered with status code 404 (Not Found) by the Compute platform.
834
+ attr_accessor :compute_resp_status_404
835
+
836
+ # Number of responses delivered with status code 416 (Range Not Satisfiable) by the Compute platform.
837
+ attr_accessor :compute_resp_status_416
838
+
839
+ # Number of responses delivered with status code 429 (Too Many Requests) by the Compute platform.
840
+ attr_accessor :compute_resp_status_429
841
+
842
+ # Number of responses delivered with status code 500 (Internal Server Error) by the Compute platform.
843
+ attr_accessor :compute_resp_status_500
844
+
845
+ # Number of responses delivered with status code 501 (Not Implemented) by the Compute platform.
846
+ attr_accessor :compute_resp_status_501
847
+
848
+ # Number of responses delivered with status code 502 (Bad Gateway) by the Compute platform.
849
+ attr_accessor :compute_resp_status_502
850
+
851
+ # Number of responses delivered with status code 503 (Service Unavailable) by the Compute platform.
852
+ attr_accessor :compute_resp_status_503
853
+
854
+ # Number of responses delivered with status code 504 (Gateway Timeout) by the Compute platform.
855
+ attr_accessor :compute_resp_status_504
856
+
857
+ # Number of responses delivered with status code 505 (HTTP Version Not Supported) by the Compute platform.
858
+ attr_accessor :compute_resp_status_505
859
+
860
+ # Number of responses delivered with status code 530 by the Compute platform.
861
+ attr_accessor :compute_resp_status_530
862
+
863
+ # The number of Image Optimizer requests made from Compute services.
864
+ attr_accessor :imgopto_compute_requests
865
+
866
+ # Number of billable DNS responses (e.g., A, CNAME).
867
+ attr_accessor :dns_billable_responses_count
868
+
869
+ # Number of non-billable DNS responses (e.g., NODATA, NXDOMAIN).
870
+ attr_accessor :dns_nonbillable_responses_count
871
+
872
+ # Number of requests that resulted in a WebSocket upgrade.
873
+ attr_accessor :upgrade
874
+
875
+ # Count of Next-Gen WAF Bot Management requests.
876
+ attr_accessor :ngwaf_bot_analysis_request_count
877
+
878
+ # Count of AVIF images delivered to end user by Image Optimizer.
879
+ attr_accessor :imgopto_avif_count
880
+
881
+ # Count of JPEG images delivered to end user by Image Optimizer.
882
+ attr_accessor :imgopto_jpeg_count
883
+
884
+ # Count of PNG images delivered to end user by Image Optimizer.
885
+ attr_accessor :imgopto_png_count
886
+
887
+ # Count of GIF images delivered to end user by Image Optimizer.
888
+ attr_accessor :imgopto_gif_count
889
+
890
+ # Count of WebP images delivered to end user by Image Optimizer.
891
+ attr_accessor :imgopto_webp_count
892
+
893
+ # Count of JPEGXL images delivered to end user by Image Optimizer.
894
+ attr_accessor :imgopto_jpegxl_count
895
+
896
+ # Count of SVG images delivered to end user by Image Optimizer.
897
+ attr_accessor :imgopto_svg_count
898
+
899
+ # Count of MP4s delivered to end user by Image Optimizer.
900
+ attr_accessor :imgopto_mp4_count
901
+
902
+ # Aggregate of fatal errors caused by exceeding allocated resource limits, specifically runtime duration, vCPU usage, and heap memory limits.
903
+ attr_accessor :compute_service_resource_limits_error
904
+
905
+ # Fatal errors caused by service logic faults, including stack overflows, unreachable code traps, illegal memory access, or attempts to send multiple responses.
906
+ attr_accessor :compute_service_runtime_error
907
+
908
+ # Fatal errors caused by the service path exceeding hop or service limits, or where a forwarding loop is detected via CDN-Loop headers.
909
+ attr_accessor :compute_service_chain_error
910
+
911
+ # Fatal errors caused by internal errors in Fastly’s Compute platform.
912
+ attr_accessor :compute_platform_internal_error
913
+
914
+ # Fatal errors caused by exceeding the per-request runtime limit.
915
+ attr_accessor :compute_service_timeout_error
916
+
917
+ # Fatal errors caused by exceeding the per-request vCPU time limit.
918
+ attr_accessor :compute_service_vcpu_exceeded_error
919
+
920
+ # Non-fatal errors caused by attempts to exceed defined operational limits, such as simultaneous backend requests or cache transactions.
921
+ attr_accessor :compute_service_limits_error
922
+
923
+ # Fatal errors caused by unprocessable requests to the service, such as requests with malformed CDN-Loop headers or invalid purge credentials.
924
+ attr_accessor :compute_platform_invalid_request_error
925
+
926
+ # Number of WebAssembly (Wasm) sandboxes created.
927
+ attr_accessor :compute_sandboxes
928
+
929
+ # Total number of Bot Management requests across all deployments.
930
+ attr_accessor :bot_requests_total_count
931
+
932
+ # Count of edge requests where bot detection analysis was performed.
933
+ attr_accessor :bot_edge_requests_analyzed_count
934
+
935
+ # Count of edge requests where a bot was detected.
936
+ attr_accessor :bot_edge_requests_detected_count
937
+
938
+ # Count of edge requests where a verified bot was detected.
939
+ attr_accessor :bot_edge_requests_verified_count
940
+
941
+ # Count of edge requests where an AI crawler was detected.
942
+ attr_accessor :bot_edge_requests_ai_crawler_count
943
+
944
+ # Count of edge requests where an AI fetcher was detected.
945
+ attr_accessor :bot_edge_requests_ai_fetcher_count
946
+
947
+ # Count of edge requests where an accessibility bot was detected.
948
+ attr_accessor :bot_edge_requests_accessibility_count
949
+
950
+ # Count of edge requests where a content fetcher was detected.
951
+ attr_accessor :bot_edge_requests_content_fetcher_count
952
+
953
+ # Count of edge requests where a monitoring and site tool was detected.
954
+ attr_accessor :bot_edge_requests_monitoring_count
955
+
956
+ # Count of edge requests where an online marketing bot was detected.
957
+ attr_accessor :bot_edge_requests_online_marketing_count
958
+
959
+ # Count of edge requests where a page preview bot was detected.
960
+ attr_accessor :bot_edge_requests_page_preview_count
961
+
962
+ # Count of edge requests where a platform integration was detected.
963
+ attr_accessor :bot_edge_requests_platform_integrations_count
964
+
965
+ # Count of edge requests where a research bot was detected.
966
+ attr_accessor :bot_edge_requests_research_count
967
+
968
+ # Count of edge requests where a search engine crawler was detected.
969
+ attr_accessor :bot_edge_requests_search_engine_crawler_count
970
+
971
+ # Count of edge requests where a search engine optimization bot was detected.
972
+ attr_accessor :bot_edge_requests_search_engine_optimization_count
973
+
974
+ # Count of edge requests where a security tool was detected.
975
+ attr_accessor :bot_edge_requests_security_tools_count
976
+
977
+ # The number of times Compute has handed off a request to the Fanout proxy or WebSocket proxy.
978
+ attr_accessor :compute_handoff
979
+
980
+ # Number of backend requests from a Compute service that failed during DNS resolution.
981
+ attr_accessor :compute_service_bereq_dns_error
982
+
983
+ # Number of backend requests from a Compute service where the connection to the origin timed out before being established.
984
+ attr_accessor :compute_service_bereq_conn_timeout_error
985
+
986
+ # Number of backend requests from a Compute service where the origin actively refused the connection.
987
+ attr_accessor :compute_service_bereq_conn_refused_error
988
+
989
+ # Number of backend requests from a Compute service that failed due to a connection error not classified as a timeout or refusal.
990
+ attr_accessor :compute_service_bereq_conn_other_error
991
+
992
+ # Number of backend requests from a Compute service that failed due to a TLS certificate validation error (e.g., expired, untrusted CA, hostname mismatch).
993
+ attr_accessor :compute_service_bereq_tls_server_cert_error
994
+
995
+ # Number of backend requests from a Compute service that failed due to a TLS error not classified as a certificate error.
996
+ attr_accessor :compute_service_bereq_tls_other_error
997
+
998
+ # Number of backend requests from a Compute service that failed due to an HTTP/1.x protocol violation after the request was transmitted.
999
+ attr_accessor :compute_service_bereq_http_proto_v1_error
1000
+
1001
+ # Number of backend requests from a Compute service that failed due to an HTTP/2 protocol error, typically a `RST_STREAM` or `GO_AWAY` from the origin.
1002
+ attr_accessor :compute_service_bereq_http_proto_v2_error
1003
+
1004
+ # Number of backend requests from a Compute service where the origin sent an incomplete HTTP response.
1005
+ attr_accessor :compute_service_bereq_http_incomplete_error
1006
+
1007
+ # Number of backend requests from a Compute service where the origin did not respond within the configured timeout period.
1008
+ attr_accessor :compute_service_bereq_http_timeout_error
1009
+
1010
+ # Number of backend requests from a Compute service that failed due to an HTTP-level error not classified in any category.
1011
+ attr_accessor :compute_service_bereq_http_other_error
1012
+
1013
+ # Number of backend requests from a Compute service that failed due to an error not classified into the DNS, connection, TLS, or HTTP categories.
1014
+ attr_accessor :compute_service_bereq_other_error
1015
+
1016
+ # Number of backend requests from a Compute service where the origin returned a 5xx status code.
1017
+ attr_accessor :compute_service_bereq_5xx_error
1018
+
1019
+ # Number of backend requests from a Compute service that failed at the TCP connection level. Sum of `compute_service_bereq_conn_timeout_error`, `compute_service_bereq_conn_refused_error`, and `compute_service_bereq_conn_other_error`.
1020
+ attr_accessor :compute_service_bereq_conn_error
1021
+
1022
+ # Number of backend requests from a Compute service that failed during the TLS handshake or session with the origin. Sum of `compute_service_bereq_tls_server_cert_error` and `compute_service_bereq_tls_other_error`.
1023
+ attr_accessor :compute_service_bereq_tls_error
1024
+
1025
+ # Number of backend requests from a Compute service that failed at the HTTP protocol level. Sum of `compute_service_bereq_http_proto_v1_error`, `compute_service_bereq_http_proto_v2_error`, `compute_service_bereq_http_incomplete_error`, `compute_service_bereq_http_timeout_error`, and `compute_service_bereq_http_other_error`.
1026
+ attr_accessor :compute_service_bereq_http_error
1027
+
1028
+ # Number of Private Access Token challenges issued.
1029
+ attr_accessor :bot_challenges_pats_issued
1030
+
1031
+ # Number of successful Private Access Token challenge solutions processed.
1032
+ attr_accessor :bot_challenges_pats_succeeded
1033
+
1034
+ # Number of edge requests where a headless bot was detected.
1035
+ attr_accessor :bot_edge_requests_headless_count
1036
+
1037
+ # Number of responses sent with status code 499 (Client Disconnected).
1038
+ attr_accessor :status_499
1039
+
1040
+ # Number of requests received by AI Runtime Control.
1041
+ attr_accessor :arc_requests
1042
+
1043
+ # The number of challenge-complete tokens checked while enforcing DDoS protection rules.
1044
+ attr_accessor :ddos_challenge_complete_tokens_checked
1045
+
1046
+ # The number of challenge-complete tokens that passed validation while enforcing DDoS protection rules.
1047
+ attr_accessor :ddos_challenge_complete_tokens_passed
1048
+
1049
+ # The number of challenge-complete tokens that failed validation while enforcing DDoS protection rules.
1050
+ attr_accessor :ddos_challenge_complete_tokens_failed
1051
+
1052
+ # The number of challenge-start tokens created while enforcing DDoS protection rules.
1053
+ attr_accessor :ddos_challenge_starts
1054
+
1055
+ # Number of challenge-complete tokens issued as a result of a DDoS action. For example, issuing a challenge-complete token after a series of CAPTCHA challenges ending in success.
1056
+ attr_accessor :ddos_challenge_complete_tokens_issued
1057
+
1058
+ # Number of challenges issued from a DDoS action.
1059
+ attr_accessor :ddos_challenges_issued
1060
+
1061
+ # Number of successful challenge solutions processed as a result of a DDoS action. For example, a correct CAPTCHA solution.
1062
+ attr_accessor :ddos_challenges_succeeded
1063
+
1064
+ # Number of failed challenge solutions processed as a result of a DDoS action. For example, an incorrect CAPTCHA solution.
1065
+ attr_accessor :ddos_challenges_failed
1066
+
1067
+ # Number of Private Access Token challenges issued as a result of a DDoS action.
1068
+ attr_accessor :ddos_challenges_pats_issued
1069
+
1070
+ # Number of successful Private Access Token challenge solutions processed as a result of a DDoS action.
1071
+ attr_accessor :ddos_challenges_pats_succeeded
1072
+
1073
+ # **Gauge.** The number of pages monitored by Content Security Policy.
1074
+ attr_accessor :csp_pages_gauge
1075
+
1076
+ # **Gauge.** The number of Next-Gen WAF rules defined at the account level.
1077
+ attr_accessor :ngwaf_account_rules_gauge
1078
+
1079
+ # **Gauge.** The number of Next-Gen WAF workspaces in the account.
1080
+ attr_accessor :ngwaf_account_workspaces
1081
+
1082
+ # **Gauge.** The number of Next-Gen WAF rules defined in a workspace.
1083
+ attr_accessor :ngwaf_workspace_rules_gauge
1084
+
1085
+ # **Gauge.** The number of Next-Gen WAF thresholds defined in a workspace.
1086
+ attr_accessor :ngwaf_workspace_thresholds_gauge
1087
+
1088
+ # **Gauge.** The number of Object Storage buckets.
1089
+ attr_accessor :object_storage_buckets_count
1090
+
1091
+ # **Gauge.** The number of bytes stored in Object Storage.
1092
+ attr_accessor :object_storage_bytes_count
64
1093
 
65
1094
  # Attribute mapping from ruby-style variable name to JSON key.
66
1095
  def self.attribute_map
67
1096
  {
68
1097
  :'timestamp' => :'timestamp',
69
- :'ttfb_origin_p25_us' => :'ttfb_origin_p25_us',
70
- :'ttfb_origin_p50_us' => :'ttfb_origin_p50_us',
71
- :'ttfb_origin_p75_us' => :'ttfb_origin_p75_us',
72
- :'ttfb_origin_p95_us' => :'ttfb_origin_p95_us',
73
- :'ttfb_origin_p99_us' => :'ttfb_origin_p99_us',
74
- :'ttfb_shield_p25_us' => :'ttfb_shield_p25_us',
75
- :'ttfb_shield_p50_us' => :'ttfb_shield_p50_us',
76
- :'ttfb_shield_p75_us' => :'ttfb_shield_p75_us',
77
- :'ttfb_shield_p95_us' => :'ttfb_shield_p95_us',
78
- :'ttfb_shield_p99_us' => :'ttfb_shield_p99_us',
79
- :'ttfb_edge_p25_us' => :'ttfb_edge_p25_us',
80
- :'ttfb_edge_p50_us' => :'ttfb_edge_p50_us',
81
- :'ttfb_edge_p75_us' => :'ttfb_edge_p75_us',
82
- :'ttfb_edge_p95_us' => :'ttfb_edge_p95_us',
83
- :'ttfb_edge_p99_us' => :'ttfb_edge_p99_us'
1098
+ :'datacenter' => :'datacenter',
1099
+ :'region' => :'region',
1100
+ :'requests' => :'requests',
1101
+ :'hits' => :'hits',
1102
+ :'hits_time' => :'hits_time',
1103
+ :'miss' => :'miss',
1104
+ :'miss_time' => :'miss_time',
1105
+ :'pass' => :'pass',
1106
+ :'pass_time' => :'pass_time',
1107
+ :'errors' => :'errors',
1108
+ :'restarts' => :'restarts',
1109
+ :'hit_ratio' => :'hit_ratio',
1110
+ :'bandwidth' => :'bandwidth',
1111
+ :'req_body_bytes' => :'req_body_bytes',
1112
+ :'req_header_bytes' => :'req_header_bytes',
1113
+ :'resp_body_bytes' => :'resp_body_bytes',
1114
+ :'resp_header_bytes' => :'resp_header_bytes',
1115
+ :'bereq_body_bytes' => :'bereq_body_bytes',
1116
+ :'bereq_header_bytes' => :'bereq_header_bytes',
1117
+ :'uncacheable' => :'uncacheable',
1118
+ :'pipe' => :'pipe',
1119
+ :'synth' => :'synth',
1120
+ :'tls' => :'tls',
1121
+ :'tls_v10' => :'tls_v10',
1122
+ :'tls_v11' => :'tls_v11',
1123
+ :'tls_v12' => :'tls_v12',
1124
+ :'tls_v13' => :'tls_v13',
1125
+ :'edge_requests' => :'edge_requests',
1126
+ :'edge_resp_header_bytes' => :'edge_resp_header_bytes',
1127
+ :'edge_resp_body_bytes' => :'edge_resp_body_bytes',
1128
+ :'edge_hit_requests' => :'edge_hit_requests',
1129
+ :'edge_miss_requests' => :'edge_miss_requests',
1130
+ :'origin_fetches' => :'origin_fetches',
1131
+ :'origin_fetch_header_bytes' => :'origin_fetch_header_bytes',
1132
+ :'origin_fetch_body_bytes' => :'origin_fetch_body_bytes',
1133
+ :'origin_fetch_resp_header_bytes' => :'origin_fetch_resp_header_bytes',
1134
+ :'origin_fetch_resp_body_bytes' => :'origin_fetch_resp_body_bytes',
1135
+ :'origin_revalidations' => :'origin_revalidations',
1136
+ :'origin_cache_fetches' => :'origin_cache_fetches',
1137
+ :'shield' => :'shield',
1138
+ :'shield_resp_body_bytes' => :'shield_resp_body_bytes',
1139
+ :'shield_resp_header_bytes' => :'shield_resp_header_bytes',
1140
+ :'shield_fetches' => :'shield_fetches',
1141
+ :'shield_fetch_header_bytes' => :'shield_fetch_header_bytes',
1142
+ :'shield_fetch_body_bytes' => :'shield_fetch_body_bytes',
1143
+ :'shield_fetch_resp_header_bytes' => :'shield_fetch_resp_header_bytes',
1144
+ :'shield_fetch_resp_body_bytes' => :'shield_fetch_resp_body_bytes',
1145
+ :'shield_revalidations' => :'shield_revalidations',
1146
+ :'shield_cache_fetches' => :'shield_cache_fetches',
1147
+ :'ipv6' => :'ipv6',
1148
+ :'otfp' => :'otfp',
1149
+ :'otfp_resp_body_bytes' => :'otfp_resp_body_bytes',
1150
+ :'otfp_resp_header_bytes' => :'otfp_resp_header_bytes',
1151
+ :'otfp_shield_resp_body_bytes' => :'otfp_shield_resp_body_bytes',
1152
+ :'otfp_shield_resp_header_bytes' => :'otfp_shield_resp_header_bytes',
1153
+ :'otfp_manifests' => :'otfp_manifests',
1154
+ :'otfp_deliver_time' => :'otfp_deliver_time',
1155
+ :'otfp_shield_time' => :'otfp_shield_time',
1156
+ :'video' => :'video',
1157
+ :'pci' => :'pci',
1158
+ :'log' => :'log',
1159
+ :'log_bytes' => :'log_bytes',
1160
+ :'http2' => :'http2',
1161
+ :'http3' => :'http3',
1162
+ :'attack_req_body_bytes' => :'attack_req_body_bytes',
1163
+ :'attack_req_header_bytes' => :'attack_req_header_bytes',
1164
+ :'attack_logged_req_body_bytes' => :'attack_logged_req_body_bytes',
1165
+ :'attack_logged_req_header_bytes' => :'attack_logged_req_header_bytes',
1166
+ :'attack_blocked_req_body_bytes' => :'attack_blocked_req_body_bytes',
1167
+ :'attack_blocked_req_header_bytes' => :'attack_blocked_req_header_bytes',
1168
+ :'attack_passed_req_body_bytes' => :'attack_passed_req_body_bytes',
1169
+ :'attack_passed_req_header_bytes' => :'attack_passed_req_header_bytes',
1170
+ :'attack_resp_synth_bytes' => :'attack_resp_synth_bytes',
1171
+ :'imgopto' => :'imgopto',
1172
+ :'imgopto_input_image_bytes' => :'imgopto_input_image_bytes',
1173
+ :'imgopto_output_image_bytes' => :'imgopto_output_image_bytes',
1174
+ :'imgopto_resp_body_bytes' => :'imgopto_resp_body_bytes',
1175
+ :'imgopto_resp_header_bytes' => :'imgopto_resp_header_bytes',
1176
+ :'imgopto_shield' => :'imgopto_shield',
1177
+ :'imgopto_shield_resp_body_bytes' => :'imgopto_shield_resp_body_bytes',
1178
+ :'imgopto_shield_resp_header_bytes' => :'imgopto_shield_resp_header_bytes',
1179
+ :'imgopto_transforms' => :'imgopto_transforms',
1180
+ :'imgvideo' => :'imgvideo',
1181
+ :'imgvideo_frames' => :'imgvideo_frames',
1182
+ :'imgvideo_resp_header_bytes' => :'imgvideo_resp_header_bytes',
1183
+ :'imgvideo_resp_body_bytes' => :'imgvideo_resp_body_bytes',
1184
+ :'imgvideo_shield_resp_header_bytes' => :'imgvideo_shield_resp_header_bytes',
1185
+ :'imgvideo_shield_resp_body_bytes' => :'imgvideo_shield_resp_body_bytes',
1186
+ :'imgvideo_shield' => :'imgvideo_shield',
1187
+ :'imgvideo_shield_frames' => :'imgvideo_shield_frames',
1188
+ :'status_200' => :'status_200',
1189
+ :'status_204' => :'status_204',
1190
+ :'status_206' => :'status_206',
1191
+ :'status_301' => :'status_301',
1192
+ :'status_302' => :'status_302',
1193
+ :'status_304' => :'status_304',
1194
+ :'status_400' => :'status_400',
1195
+ :'status_401' => :'status_401',
1196
+ :'status_403' => :'status_403',
1197
+ :'status_404' => :'status_404',
1198
+ :'status_406' => :'status_406',
1199
+ :'status_416' => :'status_416',
1200
+ :'status_429' => :'status_429',
1201
+ :'status_500' => :'status_500',
1202
+ :'status_501' => :'status_501',
1203
+ :'status_502' => :'status_502',
1204
+ :'status_503' => :'status_503',
1205
+ :'status_504' => :'status_504',
1206
+ :'status_505' => :'status_505',
1207
+ :'status_530' => :'status_530',
1208
+ :'status_1xx' => :'status_1xx',
1209
+ :'status_2xx' => :'status_2xx',
1210
+ :'status_3xx' => :'status_3xx',
1211
+ :'status_4xx' => :'status_4xx',
1212
+ :'status_5xx' => :'status_5xx',
1213
+ :'object_size_1k' => :'object_size_1k',
1214
+ :'object_size_10k' => :'object_size_10k',
1215
+ :'object_size_100k' => :'object_size_100k',
1216
+ :'object_size_1m' => :'object_size_1m',
1217
+ :'object_size_10m' => :'object_size_10m',
1218
+ :'object_size_100m' => :'object_size_100m',
1219
+ :'object_size_1g' => :'object_size_1g',
1220
+ :'recv_sub_time' => :'recv_sub_time',
1221
+ :'recv_sub_count' => :'recv_sub_count',
1222
+ :'hash_sub_time' => :'hash_sub_time',
1223
+ :'hash_sub_count' => :'hash_sub_count',
1224
+ :'miss_sub_time' => :'miss_sub_time',
1225
+ :'miss_sub_count' => :'miss_sub_count',
1226
+ :'fetch_sub_time' => :'fetch_sub_time',
1227
+ :'fetch_sub_count' => :'fetch_sub_count',
1228
+ :'pass_sub_time' => :'pass_sub_time',
1229
+ :'pass_sub_count' => :'pass_sub_count',
1230
+ :'pipe_sub_time' => :'pipe_sub_time',
1231
+ :'pipe_sub_count' => :'pipe_sub_count',
1232
+ :'deliver_sub_time' => :'deliver_sub_time',
1233
+ :'deliver_sub_count' => :'deliver_sub_count',
1234
+ :'error_sub_time' => :'error_sub_time',
1235
+ :'error_sub_count' => :'error_sub_count',
1236
+ :'hit_sub_time' => :'hit_sub_time',
1237
+ :'hit_sub_count' => :'hit_sub_count',
1238
+ :'prehash_sub_time' => :'prehash_sub_time',
1239
+ :'prehash_sub_count' => :'prehash_sub_count',
1240
+ :'predeliver_sub_time' => :'predeliver_sub_time',
1241
+ :'predeliver_sub_count' => :'predeliver_sub_count',
1242
+ :'tls_handshake_sent_bytes' => :'tls_handshake_sent_bytes',
1243
+ :'hit_resp_body_bytes' => :'hit_resp_body_bytes',
1244
+ :'miss_resp_body_bytes' => :'miss_resp_body_bytes',
1245
+ :'pass_resp_body_bytes' => :'pass_resp_body_bytes',
1246
+ :'segblock_origin_fetches' => :'segblock_origin_fetches',
1247
+ :'segblock_shield_fetches' => :'segblock_shield_fetches',
1248
+ :'compute_requests' => :'compute_requests',
1249
+ :'compute_request_time_ms' => :'compute_request_time_ms',
1250
+ :'compute_request_time_billed_ms' => :'compute_request_time_billed_ms',
1251
+ :'compute_ram_used' => :'compute_ram_used',
1252
+ :'compute_execution_time_ms' => :'compute_execution_time_ms',
1253
+ :'compute_req_header_bytes' => :'compute_req_header_bytes',
1254
+ :'compute_req_body_bytes' => :'compute_req_body_bytes',
1255
+ :'compute_resp_header_bytes' => :'compute_resp_header_bytes',
1256
+ :'compute_resp_body_bytes' => :'compute_resp_body_bytes',
1257
+ :'compute_resp_status_1xx' => :'compute_resp_status_1xx',
1258
+ :'compute_resp_status_2xx' => :'compute_resp_status_2xx',
1259
+ :'compute_resp_status_3xx' => :'compute_resp_status_3xx',
1260
+ :'compute_resp_status_4xx' => :'compute_resp_status_4xx',
1261
+ :'compute_resp_status_5xx' => :'compute_resp_status_5xx',
1262
+ :'compute_bereq_header_bytes' => :'compute_bereq_header_bytes',
1263
+ :'compute_bereq_body_bytes' => :'compute_bereq_body_bytes',
1264
+ :'compute_beresp_header_bytes' => :'compute_beresp_header_bytes',
1265
+ :'compute_beresp_body_bytes' => :'compute_beresp_body_bytes',
1266
+ :'compute_bereqs' => :'compute_bereqs',
1267
+ :'compute_service_bereq_error' => :'compute_service_bereq_error',
1268
+ :'compute_service_memory_exceeded_error' => :'compute_service_memory_exceeded_error',
1269
+ :'edge_hit_resp_body_bytes' => :'edge_hit_resp_body_bytes',
1270
+ :'edge_hit_resp_header_bytes' => :'edge_hit_resp_header_bytes',
1271
+ :'edge_miss_resp_body_bytes' => :'edge_miss_resp_body_bytes',
1272
+ :'edge_miss_resp_header_bytes' => :'edge_miss_resp_header_bytes',
1273
+ :'origin_cache_fetch_resp_body_bytes' => :'origin_cache_fetch_resp_body_bytes',
1274
+ :'origin_cache_fetch_resp_header_bytes' => :'origin_cache_fetch_resp_header_bytes',
1275
+ :'shield_hit_requests' => :'shield_hit_requests',
1276
+ :'shield_miss_requests' => :'shield_miss_requests',
1277
+ :'shield_hit_resp_header_bytes' => :'shield_hit_resp_header_bytes',
1278
+ :'shield_hit_resp_body_bytes' => :'shield_hit_resp_body_bytes',
1279
+ :'shield_miss_resp_header_bytes' => :'shield_miss_resp_header_bytes',
1280
+ :'shield_miss_resp_body_bytes' => :'shield_miss_resp_body_bytes',
1281
+ :'websocket_req_header_bytes' => :'websocket_req_header_bytes',
1282
+ :'websocket_req_body_bytes' => :'websocket_req_body_bytes',
1283
+ :'websocket_resp_header_bytes' => :'websocket_resp_header_bytes',
1284
+ :'websocket_resp_body_bytes' => :'websocket_resp_body_bytes',
1285
+ :'websocket_bereq_header_bytes' => :'websocket_bereq_header_bytes',
1286
+ :'websocket_bereq_body_bytes' => :'websocket_bereq_body_bytes',
1287
+ :'websocket_beresp_header_bytes' => :'websocket_beresp_header_bytes',
1288
+ :'websocket_beresp_body_bytes' => :'websocket_beresp_body_bytes',
1289
+ :'websocket_conn_time_ms' => :'websocket_conn_time_ms',
1290
+ :'fanout_recv_publishes' => :'fanout_recv_publishes',
1291
+ :'fanout_send_publishes' => :'fanout_send_publishes',
1292
+ :'kv_store_class_a_operations' => :'kv_store_class_a_operations',
1293
+ :'kv_store_class_b_operations' => :'kv_store_class_b_operations',
1294
+ :'fanout_req_header_bytes' => :'fanout_req_header_bytes',
1295
+ :'fanout_req_body_bytes' => :'fanout_req_body_bytes',
1296
+ :'fanout_resp_header_bytes' => :'fanout_resp_header_bytes',
1297
+ :'fanout_resp_body_bytes' => :'fanout_resp_body_bytes',
1298
+ :'fanout_bereq_header_bytes' => :'fanout_bereq_header_bytes',
1299
+ :'fanout_bereq_body_bytes' => :'fanout_bereq_body_bytes',
1300
+ :'fanout_beresp_header_bytes' => :'fanout_beresp_header_bytes',
1301
+ :'fanout_beresp_body_bytes' => :'fanout_beresp_body_bytes',
1302
+ :'fanout_conn_time_ms' => :'fanout_conn_time_ms',
1303
+ :'ddos_action_limit_streams_connections' => :'ddos_action_limit_streams_connections',
1304
+ :'ddos_action_limit_streams_requests' => :'ddos_action_limit_streams_requests',
1305
+ :'ddos_action_tarpit_accept' => :'ddos_action_tarpit_accept',
1306
+ :'ddos_action_tarpit' => :'ddos_action_tarpit',
1307
+ :'ddos_action_close' => :'ddos_action_close',
1308
+ :'ddos_action_blackhole' => :'ddos_action_blackhole',
1309
+ :'bot_challenge_starts' => :'bot_challenge_starts',
1310
+ :'bot_challenge_complete_tokens_passed' => :'bot_challenge_complete_tokens_passed',
1311
+ :'bot_challenge_complete_tokens_failed' => :'bot_challenge_complete_tokens_failed',
1312
+ :'bot_challenge_complete_tokens_checked' => :'bot_challenge_complete_tokens_checked',
1313
+ :'bot_challenge_complete_tokens_disabled' => :'bot_challenge_complete_tokens_disabled',
1314
+ :'bot_challenge_complete_tokens_issued' => :'bot_challenge_complete_tokens_issued',
1315
+ :'bot_challenges_issued' => :'bot_challenges_issued',
1316
+ :'bot_challenges_succeeded' => :'bot_challenges_succeeded',
1317
+ :'bot_challenges_failed' => :'bot_challenges_failed',
1318
+ :'ddos_action_downgrade' => :'ddos_action_downgrade',
1319
+ :'ddos_action_downgraded_connections' => :'ddos_action_downgraded_connections',
1320
+ :'all_hit_requests' => :'all_hit_requests',
1321
+ :'all_miss_requests' => :'all_miss_requests',
1322
+ :'all_pass_requests' => :'all_pass_requests',
1323
+ :'all_error_requests' => :'all_error_requests',
1324
+ :'all_synth_requests' => :'all_synth_requests',
1325
+ :'all_edge_hit_requests' => :'all_edge_hit_requests',
1326
+ :'all_edge_miss_requests' => :'all_edge_miss_requests',
1327
+ :'all_status_1xx' => :'all_status_1xx',
1328
+ :'all_status_2xx' => :'all_status_2xx',
1329
+ :'all_status_3xx' => :'all_status_3xx',
1330
+ :'all_status_4xx' => :'all_status_4xx',
1331
+ :'all_status_5xx' => :'all_status_5xx',
1332
+ :'origin_offload' => :'origin_offload',
1333
+ :'request_denied_get_head_body' => :'request_denied_get_head_body',
1334
+ :'ddos_protection_requests_detect_count' => :'ddos_protection_requests_detect_count',
1335
+ :'ddos_protection_requests_mitigate_count' => :'ddos_protection_requests_mitigate_count',
1336
+ :'ddos_protection_requests_allow_count' => :'ddos_protection_requests_allow_count',
1337
+ :'object_storage_class_a_operations_count' => :'object_storage_class_a_operations_count',
1338
+ :'object_storage_class_b_operations_count' => :'object_storage_class_b_operations_count',
1339
+ :'aia_requests' => :'aia_requests',
1340
+ :'aia_status_1xx' => :'aia_status_1xx',
1341
+ :'aia_status_2xx' => :'aia_status_2xx',
1342
+ :'aia_status_3xx' => :'aia_status_3xx',
1343
+ :'aia_status_4xx' => :'aia_status_4xx',
1344
+ :'aia_status_5xx' => :'aia_status_5xx',
1345
+ :'aia_response_usage_tokens' => :'aia_response_usage_tokens',
1346
+ :'aia_origin_usage_tokens' => :'aia_origin_usage_tokens',
1347
+ :'aia_estimated_time_saved_ms' => :'aia_estimated_time_saved_ms',
1348
+ :'request_collapse_usable_count' => :'request_collapse_usable_count',
1349
+ :'request_collapse_unusable_count' => :'request_collapse_unusable_count',
1350
+ :'compute_cache_operations_count' => :'compute_cache_operations_count',
1351
+ :'ngwaf_requests_total_count' => :'ngwaf_requests_total_count',
1352
+ :'ngwaf_requests_unknown_count' => :'ngwaf_requests_unknown_count',
1353
+ :'ngwaf_requests_allowed_count' => :'ngwaf_requests_allowed_count',
1354
+ :'ngwaf_requests_logged_count' => :'ngwaf_requests_logged_count',
1355
+ :'ngwaf_requests_blocked_count' => :'ngwaf_requests_blocked_count',
1356
+ :'ngwaf_requests_timeout_count' => :'ngwaf_requests_timeout_count',
1357
+ :'ngwaf_requests_challenged_count' => :'ngwaf_requests_challenged_count',
1358
+ :'api_discovery_requests_count' => :'api_discovery_requests_count',
1359
+ :'compute_resp_status_103' => :'compute_resp_status_103',
1360
+ :'compute_resp_status_200' => :'compute_resp_status_200',
1361
+ :'compute_resp_status_204' => :'compute_resp_status_204',
1362
+ :'compute_resp_status_206' => :'compute_resp_status_206',
1363
+ :'compute_resp_status_301' => :'compute_resp_status_301',
1364
+ :'compute_resp_status_302' => :'compute_resp_status_302',
1365
+ :'compute_resp_status_304' => :'compute_resp_status_304',
1366
+ :'compute_resp_status_400' => :'compute_resp_status_400',
1367
+ :'compute_resp_status_401' => :'compute_resp_status_401',
1368
+ :'compute_resp_status_403' => :'compute_resp_status_403',
1369
+ :'compute_resp_status_404' => :'compute_resp_status_404',
1370
+ :'compute_resp_status_416' => :'compute_resp_status_416',
1371
+ :'compute_resp_status_429' => :'compute_resp_status_429',
1372
+ :'compute_resp_status_500' => :'compute_resp_status_500',
1373
+ :'compute_resp_status_501' => :'compute_resp_status_501',
1374
+ :'compute_resp_status_502' => :'compute_resp_status_502',
1375
+ :'compute_resp_status_503' => :'compute_resp_status_503',
1376
+ :'compute_resp_status_504' => :'compute_resp_status_504',
1377
+ :'compute_resp_status_505' => :'compute_resp_status_505',
1378
+ :'compute_resp_status_530' => :'compute_resp_status_530',
1379
+ :'imgopto_compute_requests' => :'imgopto_compute_requests',
1380
+ :'dns_billable_responses_count' => :'dns_billable_responses_count',
1381
+ :'dns_nonbillable_responses_count' => :'dns_nonbillable_responses_count',
1382
+ :'upgrade' => :'upgrade',
1383
+ :'ngwaf_bot_analysis_request_count' => :'ngwaf_bot_analysis_request_count',
1384
+ :'imgopto_avif_count' => :'imgopto_avif_count',
1385
+ :'imgopto_jpeg_count' => :'imgopto_jpeg_count',
1386
+ :'imgopto_png_count' => :'imgopto_png_count',
1387
+ :'imgopto_gif_count' => :'imgopto_gif_count',
1388
+ :'imgopto_webp_count' => :'imgopto_webp_count',
1389
+ :'imgopto_jpegxl_count' => :'imgopto_jpegxl_count',
1390
+ :'imgopto_svg_count' => :'imgopto_svg_count',
1391
+ :'imgopto_mp4_count' => :'imgopto_mp4_count',
1392
+ :'compute_service_resource_limits_error' => :'compute_service_resource_limits_error',
1393
+ :'compute_service_runtime_error' => :'compute_service_runtime_error',
1394
+ :'compute_service_chain_error' => :'compute_service_chain_error',
1395
+ :'compute_platform_internal_error' => :'compute_platform_internal_error',
1396
+ :'compute_service_timeout_error' => :'compute_service_timeout_error',
1397
+ :'compute_service_vcpu_exceeded_error' => :'compute_service_vcpu_exceeded_error',
1398
+ :'compute_service_limits_error' => :'compute_service_limits_error',
1399
+ :'compute_platform_invalid_request_error' => :'compute_platform_invalid_request_error',
1400
+ :'compute_sandboxes' => :'compute_sandboxes',
1401
+ :'bot_requests_total_count' => :'bot_requests_total_count',
1402
+ :'bot_edge_requests_analyzed_count' => :'bot_edge_requests_analyzed_count',
1403
+ :'bot_edge_requests_detected_count' => :'bot_edge_requests_detected_count',
1404
+ :'bot_edge_requests_verified_count' => :'bot_edge_requests_verified_count',
1405
+ :'bot_edge_requests_ai_crawler_count' => :'bot_edge_requests_ai_crawler_count',
1406
+ :'bot_edge_requests_ai_fetcher_count' => :'bot_edge_requests_ai_fetcher_count',
1407
+ :'bot_edge_requests_accessibility_count' => :'bot_edge_requests_accessibility_count',
1408
+ :'bot_edge_requests_content_fetcher_count' => :'bot_edge_requests_content_fetcher_count',
1409
+ :'bot_edge_requests_monitoring_count' => :'bot_edge_requests_monitoring_count',
1410
+ :'bot_edge_requests_online_marketing_count' => :'bot_edge_requests_online_marketing_count',
1411
+ :'bot_edge_requests_page_preview_count' => :'bot_edge_requests_page_preview_count',
1412
+ :'bot_edge_requests_platform_integrations_count' => :'bot_edge_requests_platform_integrations_count',
1413
+ :'bot_edge_requests_research_count' => :'bot_edge_requests_research_count',
1414
+ :'bot_edge_requests_search_engine_crawler_count' => :'bot_edge_requests_search_engine_crawler_count',
1415
+ :'bot_edge_requests_search_engine_optimization_count' => :'bot_edge_requests_search_engine_optimization_count',
1416
+ :'bot_edge_requests_security_tools_count' => :'bot_edge_requests_security_tools_count',
1417
+ :'compute_handoff' => :'compute_handoff',
1418
+ :'compute_service_bereq_dns_error' => :'compute_service_bereq_dns_error',
1419
+ :'compute_service_bereq_conn_timeout_error' => :'compute_service_bereq_conn_timeout_error',
1420
+ :'compute_service_bereq_conn_refused_error' => :'compute_service_bereq_conn_refused_error',
1421
+ :'compute_service_bereq_conn_other_error' => :'compute_service_bereq_conn_other_error',
1422
+ :'compute_service_bereq_tls_server_cert_error' => :'compute_service_bereq_tls_server_cert_error',
1423
+ :'compute_service_bereq_tls_other_error' => :'compute_service_bereq_tls_other_error',
1424
+ :'compute_service_bereq_http_proto_v1_error' => :'compute_service_bereq_http_proto_v1_error',
1425
+ :'compute_service_bereq_http_proto_v2_error' => :'compute_service_bereq_http_proto_v2_error',
1426
+ :'compute_service_bereq_http_incomplete_error' => :'compute_service_bereq_http_incomplete_error',
1427
+ :'compute_service_bereq_http_timeout_error' => :'compute_service_bereq_http_timeout_error',
1428
+ :'compute_service_bereq_http_other_error' => :'compute_service_bereq_http_other_error',
1429
+ :'compute_service_bereq_other_error' => :'compute_service_bereq_other_error',
1430
+ :'compute_service_bereq_5xx_error' => :'compute_service_bereq_5xx_error',
1431
+ :'compute_service_bereq_conn_error' => :'compute_service_bereq_conn_error',
1432
+ :'compute_service_bereq_tls_error' => :'compute_service_bereq_tls_error',
1433
+ :'compute_service_bereq_http_error' => :'compute_service_bereq_http_error',
1434
+ :'bot_challenges_pats_issued' => :'bot_challenges_pats_issued',
1435
+ :'bot_challenges_pats_succeeded' => :'bot_challenges_pats_succeeded',
1436
+ :'bot_edge_requests_headless_count' => :'bot_edge_requests_headless_count',
1437
+ :'status_499' => :'status_499',
1438
+ :'arc_requests' => :'arc_requests',
1439
+ :'ddos_challenge_complete_tokens_checked' => :'ddos_challenge_complete_tokens_checked',
1440
+ :'ddos_challenge_complete_tokens_passed' => :'ddos_challenge_complete_tokens_passed',
1441
+ :'ddos_challenge_complete_tokens_failed' => :'ddos_challenge_complete_tokens_failed',
1442
+ :'ddos_challenge_starts' => :'ddos_challenge_starts',
1443
+ :'ddos_challenge_complete_tokens_issued' => :'ddos_challenge_complete_tokens_issued',
1444
+ :'ddos_challenges_issued' => :'ddos_challenges_issued',
1445
+ :'ddos_challenges_succeeded' => :'ddos_challenges_succeeded',
1446
+ :'ddos_challenges_failed' => :'ddos_challenges_failed',
1447
+ :'ddos_challenges_pats_issued' => :'ddos_challenges_pats_issued',
1448
+ :'ddos_challenges_pats_succeeded' => :'ddos_challenges_pats_succeeded',
1449
+ :'csp_pages_gauge' => :'csp_pages_gauge',
1450
+ :'ngwaf_account_rules_gauge' => :'ngwaf_account_rules_gauge',
1451
+ :'ngwaf_account_workspaces' => :'ngwaf_account_workspaces',
1452
+ :'ngwaf_workspace_rules_gauge' => :'ngwaf_workspace_rules_gauge',
1453
+ :'ngwaf_workspace_thresholds_gauge' => :'ngwaf_workspace_thresholds_gauge',
1454
+ :'object_storage_buckets_count' => :'object_storage_buckets_count',
1455
+ :'object_storage_bytes_count' => :'object_storage_bytes_count'
1456
+ }
1457
+ end
1458
+
1459
+ # Returns all the JSON keys this model knows about
1460
+ def self.acceptable_attributes
1461
+ attribute_map.values
1462
+ end
1463
+
1464
+ # Attribute type mapping.
1465
+ def self.fastly_types
1466
+ {
1467
+ :'timestamp' => :'Time',
1468
+ :'datacenter' => :'String',
1469
+ :'region' => :'String',
1470
+ :'requests' => :'Integer',
1471
+ :'hits' => :'Integer',
1472
+ :'hits_time' => :'Float',
1473
+ :'miss' => :'Integer',
1474
+ :'miss_time' => :'Float',
1475
+ :'pass' => :'Integer',
1476
+ :'pass_time' => :'Float',
1477
+ :'errors' => :'Integer',
1478
+ :'restarts' => :'Integer',
1479
+ :'hit_ratio' => :'Float',
1480
+ :'bandwidth' => :'Integer',
1481
+ :'req_body_bytes' => :'Integer',
1482
+ :'req_header_bytes' => :'Integer',
1483
+ :'resp_body_bytes' => :'Integer',
1484
+ :'resp_header_bytes' => :'Integer',
1485
+ :'bereq_body_bytes' => :'Integer',
1486
+ :'bereq_header_bytes' => :'Integer',
1487
+ :'uncacheable' => :'Integer',
1488
+ :'pipe' => :'Integer',
1489
+ :'synth' => :'Integer',
1490
+ :'tls' => :'Integer',
1491
+ :'tls_v10' => :'Integer',
1492
+ :'tls_v11' => :'Integer',
1493
+ :'tls_v12' => :'Integer',
1494
+ :'tls_v13' => :'Integer',
1495
+ :'edge_requests' => :'Integer',
1496
+ :'edge_resp_header_bytes' => :'Integer',
1497
+ :'edge_resp_body_bytes' => :'Integer',
1498
+ :'edge_hit_requests' => :'Integer',
1499
+ :'edge_miss_requests' => :'Integer',
1500
+ :'origin_fetches' => :'Integer',
1501
+ :'origin_fetch_header_bytes' => :'Integer',
1502
+ :'origin_fetch_body_bytes' => :'Integer',
1503
+ :'origin_fetch_resp_header_bytes' => :'Integer',
1504
+ :'origin_fetch_resp_body_bytes' => :'Integer',
1505
+ :'origin_revalidations' => :'Integer',
1506
+ :'origin_cache_fetches' => :'Integer',
1507
+ :'shield' => :'Integer',
1508
+ :'shield_resp_body_bytes' => :'Integer',
1509
+ :'shield_resp_header_bytes' => :'Integer',
1510
+ :'shield_fetches' => :'Integer',
1511
+ :'shield_fetch_header_bytes' => :'Integer',
1512
+ :'shield_fetch_body_bytes' => :'Integer',
1513
+ :'shield_fetch_resp_header_bytes' => :'Integer',
1514
+ :'shield_fetch_resp_body_bytes' => :'Integer',
1515
+ :'shield_revalidations' => :'Integer',
1516
+ :'shield_cache_fetches' => :'Integer',
1517
+ :'ipv6' => :'Integer',
1518
+ :'otfp' => :'Integer',
1519
+ :'otfp_resp_body_bytes' => :'Integer',
1520
+ :'otfp_resp_header_bytes' => :'Integer',
1521
+ :'otfp_shield_resp_body_bytes' => :'Integer',
1522
+ :'otfp_shield_resp_header_bytes' => :'Integer',
1523
+ :'otfp_manifests' => :'Integer',
1524
+ :'otfp_deliver_time' => :'Float',
1525
+ :'otfp_shield_time' => :'Float',
1526
+ :'video' => :'Integer',
1527
+ :'pci' => :'Integer',
1528
+ :'log' => :'Integer',
1529
+ :'log_bytes' => :'Integer',
1530
+ :'http2' => :'Integer',
1531
+ :'http3' => :'Integer',
1532
+ :'attack_req_body_bytes' => :'Integer',
1533
+ :'attack_req_header_bytes' => :'Integer',
1534
+ :'attack_logged_req_body_bytes' => :'Integer',
1535
+ :'attack_logged_req_header_bytes' => :'Integer',
1536
+ :'attack_blocked_req_body_bytes' => :'Integer',
1537
+ :'attack_blocked_req_header_bytes' => :'Integer',
1538
+ :'attack_passed_req_body_bytes' => :'Integer',
1539
+ :'attack_passed_req_header_bytes' => :'Integer',
1540
+ :'attack_resp_synth_bytes' => :'Integer',
1541
+ :'imgopto' => :'Integer',
1542
+ :'imgopto_input_image_bytes' => :'Integer',
1543
+ :'imgopto_output_image_bytes' => :'Integer',
1544
+ :'imgopto_resp_body_bytes' => :'Integer',
1545
+ :'imgopto_resp_header_bytes' => :'Integer',
1546
+ :'imgopto_shield' => :'Integer',
1547
+ :'imgopto_shield_resp_body_bytes' => :'Integer',
1548
+ :'imgopto_shield_resp_header_bytes' => :'Integer',
1549
+ :'imgopto_transforms' => :'Integer',
1550
+ :'imgvideo' => :'Integer',
1551
+ :'imgvideo_frames' => :'Integer',
1552
+ :'imgvideo_resp_header_bytes' => :'Integer',
1553
+ :'imgvideo_resp_body_bytes' => :'Integer',
1554
+ :'imgvideo_shield_resp_header_bytes' => :'Integer',
1555
+ :'imgvideo_shield_resp_body_bytes' => :'Integer',
1556
+ :'imgvideo_shield' => :'Integer',
1557
+ :'imgvideo_shield_frames' => :'Integer',
1558
+ :'status_200' => :'Integer',
1559
+ :'status_204' => :'Integer',
1560
+ :'status_206' => :'Integer',
1561
+ :'status_301' => :'Integer',
1562
+ :'status_302' => :'Integer',
1563
+ :'status_304' => :'Integer',
1564
+ :'status_400' => :'Integer',
1565
+ :'status_401' => :'Integer',
1566
+ :'status_403' => :'Integer',
1567
+ :'status_404' => :'Integer',
1568
+ :'status_406' => :'Integer',
1569
+ :'status_416' => :'Integer',
1570
+ :'status_429' => :'Integer',
1571
+ :'status_500' => :'Integer',
1572
+ :'status_501' => :'Integer',
1573
+ :'status_502' => :'Integer',
1574
+ :'status_503' => :'Integer',
1575
+ :'status_504' => :'Integer',
1576
+ :'status_505' => :'Integer',
1577
+ :'status_530' => :'Integer',
1578
+ :'status_1xx' => :'Integer',
1579
+ :'status_2xx' => :'Integer',
1580
+ :'status_3xx' => :'Integer',
1581
+ :'status_4xx' => :'Integer',
1582
+ :'status_5xx' => :'Integer',
1583
+ :'object_size_1k' => :'Integer',
1584
+ :'object_size_10k' => :'Integer',
1585
+ :'object_size_100k' => :'Integer',
1586
+ :'object_size_1m' => :'Integer',
1587
+ :'object_size_10m' => :'Integer',
1588
+ :'object_size_100m' => :'Integer',
1589
+ :'object_size_1g' => :'Integer',
1590
+ :'recv_sub_time' => :'Float',
1591
+ :'recv_sub_count' => :'Integer',
1592
+ :'hash_sub_time' => :'Float',
1593
+ :'hash_sub_count' => :'Integer',
1594
+ :'miss_sub_time' => :'Float',
1595
+ :'miss_sub_count' => :'Integer',
1596
+ :'fetch_sub_time' => :'Float',
1597
+ :'fetch_sub_count' => :'Integer',
1598
+ :'pass_sub_time' => :'Float',
1599
+ :'pass_sub_count' => :'Integer',
1600
+ :'pipe_sub_time' => :'Float',
1601
+ :'pipe_sub_count' => :'Integer',
1602
+ :'deliver_sub_time' => :'Float',
1603
+ :'deliver_sub_count' => :'Integer',
1604
+ :'error_sub_time' => :'Float',
1605
+ :'error_sub_count' => :'Integer',
1606
+ :'hit_sub_time' => :'Float',
1607
+ :'hit_sub_count' => :'Integer',
1608
+ :'prehash_sub_time' => :'Float',
1609
+ :'prehash_sub_count' => :'Integer',
1610
+ :'predeliver_sub_time' => :'Float',
1611
+ :'predeliver_sub_count' => :'Integer',
1612
+ :'tls_handshake_sent_bytes' => :'Integer',
1613
+ :'hit_resp_body_bytes' => :'Integer',
1614
+ :'miss_resp_body_bytes' => :'Integer',
1615
+ :'pass_resp_body_bytes' => :'Integer',
1616
+ :'segblock_origin_fetches' => :'Integer',
1617
+ :'segblock_shield_fetches' => :'Integer',
1618
+ :'compute_requests' => :'Integer',
1619
+ :'compute_request_time_ms' => :'Float',
1620
+ :'compute_request_time_billed_ms' => :'Float',
1621
+ :'compute_ram_used' => :'Integer',
1622
+ :'compute_execution_time_ms' => :'Float',
1623
+ :'compute_req_header_bytes' => :'Integer',
1624
+ :'compute_req_body_bytes' => :'Integer',
1625
+ :'compute_resp_header_bytes' => :'Integer',
1626
+ :'compute_resp_body_bytes' => :'Integer',
1627
+ :'compute_resp_status_1xx' => :'Integer',
1628
+ :'compute_resp_status_2xx' => :'Integer',
1629
+ :'compute_resp_status_3xx' => :'Integer',
1630
+ :'compute_resp_status_4xx' => :'Integer',
1631
+ :'compute_resp_status_5xx' => :'Integer',
1632
+ :'compute_bereq_header_bytes' => :'Integer',
1633
+ :'compute_bereq_body_bytes' => :'Integer',
1634
+ :'compute_beresp_header_bytes' => :'Integer',
1635
+ :'compute_beresp_body_bytes' => :'Integer',
1636
+ :'compute_bereqs' => :'Integer',
1637
+ :'compute_service_bereq_error' => :'Integer',
1638
+ :'compute_service_memory_exceeded_error' => :'Integer',
1639
+ :'edge_hit_resp_body_bytes' => :'Integer',
1640
+ :'edge_hit_resp_header_bytes' => :'Integer',
1641
+ :'edge_miss_resp_body_bytes' => :'Integer',
1642
+ :'edge_miss_resp_header_bytes' => :'Integer',
1643
+ :'origin_cache_fetch_resp_body_bytes' => :'Integer',
1644
+ :'origin_cache_fetch_resp_header_bytes' => :'Integer',
1645
+ :'shield_hit_requests' => :'Integer',
1646
+ :'shield_miss_requests' => :'Integer',
1647
+ :'shield_hit_resp_header_bytes' => :'Integer',
1648
+ :'shield_hit_resp_body_bytes' => :'Integer',
1649
+ :'shield_miss_resp_header_bytes' => :'Integer',
1650
+ :'shield_miss_resp_body_bytes' => :'Integer',
1651
+ :'websocket_req_header_bytes' => :'Integer',
1652
+ :'websocket_req_body_bytes' => :'Integer',
1653
+ :'websocket_resp_header_bytes' => :'Integer',
1654
+ :'websocket_resp_body_bytes' => :'Integer',
1655
+ :'websocket_bereq_header_bytes' => :'Integer',
1656
+ :'websocket_bereq_body_bytes' => :'Integer',
1657
+ :'websocket_beresp_header_bytes' => :'Integer',
1658
+ :'websocket_beresp_body_bytes' => :'Integer',
1659
+ :'websocket_conn_time_ms' => :'Integer',
1660
+ :'fanout_recv_publishes' => :'Integer',
1661
+ :'fanout_send_publishes' => :'Integer',
1662
+ :'kv_store_class_a_operations' => :'Integer',
1663
+ :'kv_store_class_b_operations' => :'Integer',
1664
+ :'fanout_req_header_bytes' => :'Integer',
1665
+ :'fanout_req_body_bytes' => :'Integer',
1666
+ :'fanout_resp_header_bytes' => :'Integer',
1667
+ :'fanout_resp_body_bytes' => :'Integer',
1668
+ :'fanout_bereq_header_bytes' => :'Integer',
1669
+ :'fanout_bereq_body_bytes' => :'Integer',
1670
+ :'fanout_beresp_header_bytes' => :'Integer',
1671
+ :'fanout_beresp_body_bytes' => :'Integer',
1672
+ :'fanout_conn_time_ms' => :'Integer',
1673
+ :'ddos_action_limit_streams_connections' => :'Integer',
1674
+ :'ddos_action_limit_streams_requests' => :'Integer',
1675
+ :'ddos_action_tarpit_accept' => :'Integer',
1676
+ :'ddos_action_tarpit' => :'Integer',
1677
+ :'ddos_action_close' => :'Integer',
1678
+ :'ddos_action_blackhole' => :'Integer',
1679
+ :'bot_challenge_starts' => :'Integer',
1680
+ :'bot_challenge_complete_tokens_passed' => :'Integer',
1681
+ :'bot_challenge_complete_tokens_failed' => :'Integer',
1682
+ :'bot_challenge_complete_tokens_checked' => :'Integer',
1683
+ :'bot_challenge_complete_tokens_disabled' => :'Integer',
1684
+ :'bot_challenge_complete_tokens_issued' => :'Integer',
1685
+ :'bot_challenges_issued' => :'Integer',
1686
+ :'bot_challenges_succeeded' => :'Integer',
1687
+ :'bot_challenges_failed' => :'Integer',
1688
+ :'ddos_action_downgrade' => :'Integer',
1689
+ :'ddos_action_downgraded_connections' => :'Integer',
1690
+ :'all_hit_requests' => :'Integer',
1691
+ :'all_miss_requests' => :'Integer',
1692
+ :'all_pass_requests' => :'Integer',
1693
+ :'all_error_requests' => :'Integer',
1694
+ :'all_synth_requests' => :'Integer',
1695
+ :'all_edge_hit_requests' => :'Integer',
1696
+ :'all_edge_miss_requests' => :'Integer',
1697
+ :'all_status_1xx' => :'Integer',
1698
+ :'all_status_2xx' => :'Integer',
1699
+ :'all_status_3xx' => :'Integer',
1700
+ :'all_status_4xx' => :'Integer',
1701
+ :'all_status_5xx' => :'Integer',
1702
+ :'origin_offload' => :'Float',
1703
+ :'request_denied_get_head_body' => :'Integer',
1704
+ :'ddos_protection_requests_detect_count' => :'Integer',
1705
+ :'ddos_protection_requests_mitigate_count' => :'Integer',
1706
+ :'ddos_protection_requests_allow_count' => :'Integer',
1707
+ :'object_storage_class_a_operations_count' => :'Integer',
1708
+ :'object_storage_class_b_operations_count' => :'Integer',
1709
+ :'aia_requests' => :'Integer',
1710
+ :'aia_status_1xx' => :'Integer',
1711
+ :'aia_status_2xx' => :'Integer',
1712
+ :'aia_status_3xx' => :'Integer',
1713
+ :'aia_status_4xx' => :'Integer',
1714
+ :'aia_status_5xx' => :'Integer',
1715
+ :'aia_response_usage_tokens' => :'Integer',
1716
+ :'aia_origin_usage_tokens' => :'Integer',
1717
+ :'aia_estimated_time_saved_ms' => :'Integer',
1718
+ :'request_collapse_usable_count' => :'Integer',
1719
+ :'request_collapse_unusable_count' => :'Integer',
1720
+ :'compute_cache_operations_count' => :'Integer',
1721
+ :'ngwaf_requests_total_count' => :'Integer',
1722
+ :'ngwaf_requests_unknown_count' => :'Integer',
1723
+ :'ngwaf_requests_allowed_count' => :'Integer',
1724
+ :'ngwaf_requests_logged_count' => :'Integer',
1725
+ :'ngwaf_requests_blocked_count' => :'Integer',
1726
+ :'ngwaf_requests_timeout_count' => :'Integer',
1727
+ :'ngwaf_requests_challenged_count' => :'Integer',
1728
+ :'api_discovery_requests_count' => :'Integer',
1729
+ :'compute_resp_status_103' => :'Integer',
1730
+ :'compute_resp_status_200' => :'Integer',
1731
+ :'compute_resp_status_204' => :'Integer',
1732
+ :'compute_resp_status_206' => :'Integer',
1733
+ :'compute_resp_status_301' => :'Integer',
1734
+ :'compute_resp_status_302' => :'Integer',
1735
+ :'compute_resp_status_304' => :'Integer',
1736
+ :'compute_resp_status_400' => :'Integer',
1737
+ :'compute_resp_status_401' => :'Integer',
1738
+ :'compute_resp_status_403' => :'Integer',
1739
+ :'compute_resp_status_404' => :'Integer',
1740
+ :'compute_resp_status_416' => :'Integer',
1741
+ :'compute_resp_status_429' => :'Integer',
1742
+ :'compute_resp_status_500' => :'Integer',
1743
+ :'compute_resp_status_501' => :'Integer',
1744
+ :'compute_resp_status_502' => :'Integer',
1745
+ :'compute_resp_status_503' => :'Integer',
1746
+ :'compute_resp_status_504' => :'Integer',
1747
+ :'compute_resp_status_505' => :'Integer',
1748
+ :'compute_resp_status_530' => :'Integer',
1749
+ :'imgopto_compute_requests' => :'Integer',
1750
+ :'dns_billable_responses_count' => :'Integer',
1751
+ :'dns_nonbillable_responses_count' => :'Integer',
1752
+ :'upgrade' => :'Integer',
1753
+ :'ngwaf_bot_analysis_request_count' => :'Integer',
1754
+ :'imgopto_avif_count' => :'Integer',
1755
+ :'imgopto_jpeg_count' => :'Integer',
1756
+ :'imgopto_png_count' => :'Integer',
1757
+ :'imgopto_gif_count' => :'Integer',
1758
+ :'imgopto_webp_count' => :'Integer',
1759
+ :'imgopto_jpegxl_count' => :'Integer',
1760
+ :'imgopto_svg_count' => :'Integer',
1761
+ :'imgopto_mp4_count' => :'Integer',
1762
+ :'compute_service_resource_limits_error' => :'Integer',
1763
+ :'compute_service_runtime_error' => :'Integer',
1764
+ :'compute_service_chain_error' => :'Integer',
1765
+ :'compute_platform_internal_error' => :'Integer',
1766
+ :'compute_service_timeout_error' => :'Integer',
1767
+ :'compute_service_vcpu_exceeded_error' => :'Integer',
1768
+ :'compute_service_limits_error' => :'Integer',
1769
+ :'compute_platform_invalid_request_error' => :'Integer',
1770
+ :'compute_sandboxes' => :'Integer',
1771
+ :'bot_requests_total_count' => :'Integer',
1772
+ :'bot_edge_requests_analyzed_count' => :'Integer',
1773
+ :'bot_edge_requests_detected_count' => :'Integer',
1774
+ :'bot_edge_requests_verified_count' => :'Integer',
1775
+ :'bot_edge_requests_ai_crawler_count' => :'Integer',
1776
+ :'bot_edge_requests_ai_fetcher_count' => :'Integer',
1777
+ :'bot_edge_requests_accessibility_count' => :'Integer',
1778
+ :'bot_edge_requests_content_fetcher_count' => :'Integer',
1779
+ :'bot_edge_requests_monitoring_count' => :'Integer',
1780
+ :'bot_edge_requests_online_marketing_count' => :'Integer',
1781
+ :'bot_edge_requests_page_preview_count' => :'Integer',
1782
+ :'bot_edge_requests_platform_integrations_count' => :'Integer',
1783
+ :'bot_edge_requests_research_count' => :'Integer',
1784
+ :'bot_edge_requests_search_engine_crawler_count' => :'Integer',
1785
+ :'bot_edge_requests_search_engine_optimization_count' => :'Integer',
1786
+ :'bot_edge_requests_security_tools_count' => :'Integer',
1787
+ :'compute_handoff' => :'Integer',
1788
+ :'compute_service_bereq_dns_error' => :'Integer',
1789
+ :'compute_service_bereq_conn_timeout_error' => :'Integer',
1790
+ :'compute_service_bereq_conn_refused_error' => :'Integer',
1791
+ :'compute_service_bereq_conn_other_error' => :'Integer',
1792
+ :'compute_service_bereq_tls_server_cert_error' => :'Integer',
1793
+ :'compute_service_bereq_tls_other_error' => :'Integer',
1794
+ :'compute_service_bereq_http_proto_v1_error' => :'Integer',
1795
+ :'compute_service_bereq_http_proto_v2_error' => :'Integer',
1796
+ :'compute_service_bereq_http_incomplete_error' => :'Integer',
1797
+ :'compute_service_bereq_http_timeout_error' => :'Integer',
1798
+ :'compute_service_bereq_http_other_error' => :'Integer',
1799
+ :'compute_service_bereq_other_error' => :'Integer',
1800
+ :'compute_service_bereq_5xx_error' => :'Integer',
1801
+ :'compute_service_bereq_conn_error' => :'Integer',
1802
+ :'compute_service_bereq_tls_error' => :'Integer',
1803
+ :'compute_service_bereq_http_error' => :'Integer',
1804
+ :'bot_challenges_pats_issued' => :'Integer',
1805
+ :'bot_challenges_pats_succeeded' => :'Integer',
1806
+ :'bot_edge_requests_headless_count' => :'Integer',
1807
+ :'status_499' => :'Integer',
1808
+ :'arc_requests' => :'Integer',
1809
+ :'ddos_challenge_complete_tokens_checked' => :'Integer',
1810
+ :'ddos_challenge_complete_tokens_passed' => :'Integer',
1811
+ :'ddos_challenge_complete_tokens_failed' => :'Integer',
1812
+ :'ddos_challenge_starts' => :'Integer',
1813
+ :'ddos_challenge_complete_tokens_issued' => :'Integer',
1814
+ :'ddos_challenges_issued' => :'Integer',
1815
+ :'ddos_challenges_succeeded' => :'Integer',
1816
+ :'ddos_challenges_failed' => :'Integer',
1817
+ :'ddos_challenges_pats_issued' => :'Integer',
1818
+ :'ddos_challenges_pats_succeeded' => :'Integer',
1819
+ :'csp_pages_gauge' => :'Integer',
1820
+ :'ngwaf_account_rules_gauge' => :'Integer',
1821
+ :'ngwaf_account_workspaces' => :'Integer',
1822
+ :'ngwaf_workspace_rules_gauge' => :'Integer',
1823
+ :'ngwaf_workspace_thresholds_gauge' => :'Integer',
1824
+ :'object_storage_buckets_count' => :'Integer',
1825
+ :'object_storage_bytes_count' => :'Integer'
84
1826
  }
85
1827
  end
86
1828
 
87
- # Returns all the JSON keys this model knows about
88
- def self.acceptable_attributes
89
- attribute_map.values
90
- end
1829
+ # List of attributes with nullable: true
1830
+ def self.fastly_nullable
1831
+ Set.new([
1832
+ :'hit_ratio',
1833
+ ])
1834
+ end
1835
+
1836
+ # Initializes the object
1837
+ # @param [Hash] attributes Model attributes in the form of hash
1838
+ def initialize(attributes = {})
1839
+ if (!attributes.is_a?(Hash))
1840
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::PlatformValues` initialize method"
1841
+ end
1842
+
1843
+ # check to see if the attribute exists and convert string to symbol for hash key
1844
+ attributes = attributes.each_with_object({}) { |(k, v), h|
1845
+ if (!self.class.attribute_map.key?(k.to_sym))
1846
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::PlatformValues`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
1847
+ end
1848
+ h[k.to_sym] = v
1849
+ }
1850
+
1851
+ if attributes.key?(:'timestamp')
1852
+ self.timestamp = attributes[:'timestamp']
1853
+ end
1854
+
1855
+ if attributes.key?(:'datacenter')
1856
+ self.datacenter = attributes[:'datacenter']
1857
+ end
1858
+
1859
+ if attributes.key?(:'region')
1860
+ self.region = attributes[:'region']
1861
+ end
1862
+
1863
+ if attributes.key?(:'requests')
1864
+ self.requests = attributes[:'requests']
1865
+ end
1866
+
1867
+ if attributes.key?(:'hits')
1868
+ self.hits = attributes[:'hits']
1869
+ end
1870
+
1871
+ if attributes.key?(:'hits_time')
1872
+ self.hits_time = attributes[:'hits_time']
1873
+ end
1874
+
1875
+ if attributes.key?(:'miss')
1876
+ self.miss = attributes[:'miss']
1877
+ end
1878
+
1879
+ if attributes.key?(:'miss_time')
1880
+ self.miss_time = attributes[:'miss_time']
1881
+ end
1882
+
1883
+ if attributes.key?(:'pass')
1884
+ self.pass = attributes[:'pass']
1885
+ end
1886
+
1887
+ if attributes.key?(:'pass_time')
1888
+ self.pass_time = attributes[:'pass_time']
1889
+ end
1890
+
1891
+ if attributes.key?(:'errors')
1892
+ self.errors = attributes[:'errors']
1893
+ end
1894
+
1895
+ if attributes.key?(:'restarts')
1896
+ self.restarts = attributes[:'restarts']
1897
+ end
1898
+
1899
+ if attributes.key?(:'hit_ratio')
1900
+ self.hit_ratio = attributes[:'hit_ratio']
1901
+ end
1902
+
1903
+ if attributes.key?(:'bandwidth')
1904
+ self.bandwidth = attributes[:'bandwidth']
1905
+ end
1906
+
1907
+ if attributes.key?(:'req_body_bytes')
1908
+ self.req_body_bytes = attributes[:'req_body_bytes']
1909
+ end
1910
+
1911
+ if attributes.key?(:'req_header_bytes')
1912
+ self.req_header_bytes = attributes[:'req_header_bytes']
1913
+ end
1914
+
1915
+ if attributes.key?(:'resp_body_bytes')
1916
+ self.resp_body_bytes = attributes[:'resp_body_bytes']
1917
+ end
1918
+
1919
+ if attributes.key?(:'resp_header_bytes')
1920
+ self.resp_header_bytes = attributes[:'resp_header_bytes']
1921
+ end
1922
+
1923
+ if attributes.key?(:'bereq_body_bytes')
1924
+ self.bereq_body_bytes = attributes[:'bereq_body_bytes']
1925
+ end
1926
+
1927
+ if attributes.key?(:'bereq_header_bytes')
1928
+ self.bereq_header_bytes = attributes[:'bereq_header_bytes']
1929
+ end
1930
+
1931
+ if attributes.key?(:'uncacheable')
1932
+ self.uncacheable = attributes[:'uncacheable']
1933
+ end
1934
+
1935
+ if attributes.key?(:'pipe')
1936
+ self.pipe = attributes[:'pipe']
1937
+ end
1938
+
1939
+ if attributes.key?(:'synth')
1940
+ self.synth = attributes[:'synth']
1941
+ end
1942
+
1943
+ if attributes.key?(:'tls')
1944
+ self.tls = attributes[:'tls']
1945
+ end
1946
+
1947
+ if attributes.key?(:'tls_v10')
1948
+ self.tls_v10 = attributes[:'tls_v10']
1949
+ end
1950
+
1951
+ if attributes.key?(:'tls_v11')
1952
+ self.tls_v11 = attributes[:'tls_v11']
1953
+ end
1954
+
1955
+ if attributes.key?(:'tls_v12')
1956
+ self.tls_v12 = attributes[:'tls_v12']
1957
+ end
1958
+
1959
+ if attributes.key?(:'tls_v13')
1960
+ self.tls_v13 = attributes[:'tls_v13']
1961
+ end
1962
+
1963
+ if attributes.key?(:'edge_requests')
1964
+ self.edge_requests = attributes[:'edge_requests']
1965
+ end
1966
+
1967
+ if attributes.key?(:'edge_resp_header_bytes')
1968
+ self.edge_resp_header_bytes = attributes[:'edge_resp_header_bytes']
1969
+ end
1970
+
1971
+ if attributes.key?(:'edge_resp_body_bytes')
1972
+ self.edge_resp_body_bytes = attributes[:'edge_resp_body_bytes']
1973
+ end
1974
+
1975
+ if attributes.key?(:'edge_hit_requests')
1976
+ self.edge_hit_requests = attributes[:'edge_hit_requests']
1977
+ end
1978
+
1979
+ if attributes.key?(:'edge_miss_requests')
1980
+ self.edge_miss_requests = attributes[:'edge_miss_requests']
1981
+ end
1982
+
1983
+ if attributes.key?(:'origin_fetches')
1984
+ self.origin_fetches = attributes[:'origin_fetches']
1985
+ end
1986
+
1987
+ if attributes.key?(:'origin_fetch_header_bytes')
1988
+ self.origin_fetch_header_bytes = attributes[:'origin_fetch_header_bytes']
1989
+ end
1990
+
1991
+ if attributes.key?(:'origin_fetch_body_bytes')
1992
+ self.origin_fetch_body_bytes = attributes[:'origin_fetch_body_bytes']
1993
+ end
1994
+
1995
+ if attributes.key?(:'origin_fetch_resp_header_bytes')
1996
+ self.origin_fetch_resp_header_bytes = attributes[:'origin_fetch_resp_header_bytes']
1997
+ end
1998
+
1999
+ if attributes.key?(:'origin_fetch_resp_body_bytes')
2000
+ self.origin_fetch_resp_body_bytes = attributes[:'origin_fetch_resp_body_bytes']
2001
+ end
2002
+
2003
+ if attributes.key?(:'origin_revalidations')
2004
+ self.origin_revalidations = attributes[:'origin_revalidations']
2005
+ end
2006
+
2007
+ if attributes.key?(:'origin_cache_fetches')
2008
+ self.origin_cache_fetches = attributes[:'origin_cache_fetches']
2009
+ end
2010
+
2011
+ if attributes.key?(:'shield')
2012
+ self.shield = attributes[:'shield']
2013
+ end
2014
+
2015
+ if attributes.key?(:'shield_resp_body_bytes')
2016
+ self.shield_resp_body_bytes = attributes[:'shield_resp_body_bytes']
2017
+ end
2018
+
2019
+ if attributes.key?(:'shield_resp_header_bytes')
2020
+ self.shield_resp_header_bytes = attributes[:'shield_resp_header_bytes']
2021
+ end
2022
+
2023
+ if attributes.key?(:'shield_fetches')
2024
+ self.shield_fetches = attributes[:'shield_fetches']
2025
+ end
2026
+
2027
+ if attributes.key?(:'shield_fetch_header_bytes')
2028
+ self.shield_fetch_header_bytes = attributes[:'shield_fetch_header_bytes']
2029
+ end
2030
+
2031
+ if attributes.key?(:'shield_fetch_body_bytes')
2032
+ self.shield_fetch_body_bytes = attributes[:'shield_fetch_body_bytes']
2033
+ end
2034
+
2035
+ if attributes.key?(:'shield_fetch_resp_header_bytes')
2036
+ self.shield_fetch_resp_header_bytes = attributes[:'shield_fetch_resp_header_bytes']
2037
+ end
2038
+
2039
+ if attributes.key?(:'shield_fetch_resp_body_bytes')
2040
+ self.shield_fetch_resp_body_bytes = attributes[:'shield_fetch_resp_body_bytes']
2041
+ end
2042
+
2043
+ if attributes.key?(:'shield_revalidations')
2044
+ self.shield_revalidations = attributes[:'shield_revalidations']
2045
+ end
2046
+
2047
+ if attributes.key?(:'shield_cache_fetches')
2048
+ self.shield_cache_fetches = attributes[:'shield_cache_fetches']
2049
+ end
2050
+
2051
+ if attributes.key?(:'ipv6')
2052
+ self.ipv6 = attributes[:'ipv6']
2053
+ end
2054
+
2055
+ if attributes.key?(:'otfp')
2056
+ self.otfp = attributes[:'otfp']
2057
+ end
2058
+
2059
+ if attributes.key?(:'otfp_resp_body_bytes')
2060
+ self.otfp_resp_body_bytes = attributes[:'otfp_resp_body_bytes']
2061
+ end
2062
+
2063
+ if attributes.key?(:'otfp_resp_header_bytes')
2064
+ self.otfp_resp_header_bytes = attributes[:'otfp_resp_header_bytes']
2065
+ end
2066
+
2067
+ if attributes.key?(:'otfp_shield_resp_body_bytes')
2068
+ self.otfp_shield_resp_body_bytes = attributes[:'otfp_shield_resp_body_bytes']
2069
+ end
2070
+
2071
+ if attributes.key?(:'otfp_shield_resp_header_bytes')
2072
+ self.otfp_shield_resp_header_bytes = attributes[:'otfp_shield_resp_header_bytes']
2073
+ end
2074
+
2075
+ if attributes.key?(:'otfp_manifests')
2076
+ self.otfp_manifests = attributes[:'otfp_manifests']
2077
+ end
2078
+
2079
+ if attributes.key?(:'otfp_deliver_time')
2080
+ self.otfp_deliver_time = attributes[:'otfp_deliver_time']
2081
+ end
2082
+
2083
+ if attributes.key?(:'otfp_shield_time')
2084
+ self.otfp_shield_time = attributes[:'otfp_shield_time']
2085
+ end
2086
+
2087
+ if attributes.key?(:'video')
2088
+ self.video = attributes[:'video']
2089
+ end
2090
+
2091
+ if attributes.key?(:'pci')
2092
+ self.pci = attributes[:'pci']
2093
+ end
2094
+
2095
+ if attributes.key?(:'log')
2096
+ self.log = attributes[:'log']
2097
+ end
2098
+
2099
+ if attributes.key?(:'log_bytes')
2100
+ self.log_bytes = attributes[:'log_bytes']
2101
+ end
2102
+
2103
+ if attributes.key?(:'http2')
2104
+ self.http2 = attributes[:'http2']
2105
+ end
2106
+
2107
+ if attributes.key?(:'http3')
2108
+ self.http3 = attributes[:'http3']
2109
+ end
2110
+
2111
+ if attributes.key?(:'attack_req_body_bytes')
2112
+ self.attack_req_body_bytes = attributes[:'attack_req_body_bytes']
2113
+ end
2114
+
2115
+ if attributes.key?(:'attack_req_header_bytes')
2116
+ self.attack_req_header_bytes = attributes[:'attack_req_header_bytes']
2117
+ end
2118
+
2119
+ if attributes.key?(:'attack_logged_req_body_bytes')
2120
+ self.attack_logged_req_body_bytes = attributes[:'attack_logged_req_body_bytes']
2121
+ end
2122
+
2123
+ if attributes.key?(:'attack_logged_req_header_bytes')
2124
+ self.attack_logged_req_header_bytes = attributes[:'attack_logged_req_header_bytes']
2125
+ end
2126
+
2127
+ if attributes.key?(:'attack_blocked_req_body_bytes')
2128
+ self.attack_blocked_req_body_bytes = attributes[:'attack_blocked_req_body_bytes']
2129
+ end
2130
+
2131
+ if attributes.key?(:'attack_blocked_req_header_bytes')
2132
+ self.attack_blocked_req_header_bytes = attributes[:'attack_blocked_req_header_bytes']
2133
+ end
2134
+
2135
+ if attributes.key?(:'attack_passed_req_body_bytes')
2136
+ self.attack_passed_req_body_bytes = attributes[:'attack_passed_req_body_bytes']
2137
+ end
2138
+
2139
+ if attributes.key?(:'attack_passed_req_header_bytes')
2140
+ self.attack_passed_req_header_bytes = attributes[:'attack_passed_req_header_bytes']
2141
+ end
2142
+
2143
+ if attributes.key?(:'attack_resp_synth_bytes')
2144
+ self.attack_resp_synth_bytes = attributes[:'attack_resp_synth_bytes']
2145
+ end
2146
+
2147
+ if attributes.key?(:'imgopto')
2148
+ self.imgopto = attributes[:'imgopto']
2149
+ end
2150
+
2151
+ if attributes.key?(:'imgopto_input_image_bytes')
2152
+ self.imgopto_input_image_bytes = attributes[:'imgopto_input_image_bytes']
2153
+ end
2154
+
2155
+ if attributes.key?(:'imgopto_output_image_bytes')
2156
+ self.imgopto_output_image_bytes = attributes[:'imgopto_output_image_bytes']
2157
+ end
2158
+
2159
+ if attributes.key?(:'imgopto_resp_body_bytes')
2160
+ self.imgopto_resp_body_bytes = attributes[:'imgopto_resp_body_bytes']
2161
+ end
2162
+
2163
+ if attributes.key?(:'imgopto_resp_header_bytes')
2164
+ self.imgopto_resp_header_bytes = attributes[:'imgopto_resp_header_bytes']
2165
+ end
2166
+
2167
+ if attributes.key?(:'imgopto_shield')
2168
+ self.imgopto_shield = attributes[:'imgopto_shield']
2169
+ end
2170
+
2171
+ if attributes.key?(:'imgopto_shield_resp_body_bytes')
2172
+ self.imgopto_shield_resp_body_bytes = attributes[:'imgopto_shield_resp_body_bytes']
2173
+ end
2174
+
2175
+ if attributes.key?(:'imgopto_shield_resp_header_bytes')
2176
+ self.imgopto_shield_resp_header_bytes = attributes[:'imgopto_shield_resp_header_bytes']
2177
+ end
2178
+
2179
+ if attributes.key?(:'imgopto_transforms')
2180
+ self.imgopto_transforms = attributes[:'imgopto_transforms']
2181
+ end
2182
+
2183
+ if attributes.key?(:'imgvideo')
2184
+ self.imgvideo = attributes[:'imgvideo']
2185
+ end
2186
+
2187
+ if attributes.key?(:'imgvideo_frames')
2188
+ self.imgvideo_frames = attributes[:'imgvideo_frames']
2189
+ end
2190
+
2191
+ if attributes.key?(:'imgvideo_resp_header_bytes')
2192
+ self.imgvideo_resp_header_bytes = attributes[:'imgvideo_resp_header_bytes']
2193
+ end
2194
+
2195
+ if attributes.key?(:'imgvideo_resp_body_bytes')
2196
+ self.imgvideo_resp_body_bytes = attributes[:'imgvideo_resp_body_bytes']
2197
+ end
2198
+
2199
+ if attributes.key?(:'imgvideo_shield_resp_header_bytes')
2200
+ self.imgvideo_shield_resp_header_bytes = attributes[:'imgvideo_shield_resp_header_bytes']
2201
+ end
2202
+
2203
+ if attributes.key?(:'imgvideo_shield_resp_body_bytes')
2204
+ self.imgvideo_shield_resp_body_bytes = attributes[:'imgvideo_shield_resp_body_bytes']
2205
+ end
2206
+
2207
+ if attributes.key?(:'imgvideo_shield')
2208
+ self.imgvideo_shield = attributes[:'imgvideo_shield']
2209
+ end
2210
+
2211
+ if attributes.key?(:'imgvideo_shield_frames')
2212
+ self.imgvideo_shield_frames = attributes[:'imgvideo_shield_frames']
2213
+ end
2214
+
2215
+ if attributes.key?(:'status_200')
2216
+ self.status_200 = attributes[:'status_200']
2217
+ end
2218
+
2219
+ if attributes.key?(:'status_204')
2220
+ self.status_204 = attributes[:'status_204']
2221
+ end
2222
+
2223
+ if attributes.key?(:'status_206')
2224
+ self.status_206 = attributes[:'status_206']
2225
+ end
2226
+
2227
+ if attributes.key?(:'status_301')
2228
+ self.status_301 = attributes[:'status_301']
2229
+ end
2230
+
2231
+ if attributes.key?(:'status_302')
2232
+ self.status_302 = attributes[:'status_302']
2233
+ end
2234
+
2235
+ if attributes.key?(:'status_304')
2236
+ self.status_304 = attributes[:'status_304']
2237
+ end
2238
+
2239
+ if attributes.key?(:'status_400')
2240
+ self.status_400 = attributes[:'status_400']
2241
+ end
2242
+
2243
+ if attributes.key?(:'status_401')
2244
+ self.status_401 = attributes[:'status_401']
2245
+ end
2246
+
2247
+ if attributes.key?(:'status_403')
2248
+ self.status_403 = attributes[:'status_403']
2249
+ end
2250
+
2251
+ if attributes.key?(:'status_404')
2252
+ self.status_404 = attributes[:'status_404']
2253
+ end
2254
+
2255
+ if attributes.key?(:'status_406')
2256
+ self.status_406 = attributes[:'status_406']
2257
+ end
2258
+
2259
+ if attributes.key?(:'status_416')
2260
+ self.status_416 = attributes[:'status_416']
2261
+ end
2262
+
2263
+ if attributes.key?(:'status_429')
2264
+ self.status_429 = attributes[:'status_429']
2265
+ end
2266
+
2267
+ if attributes.key?(:'status_500')
2268
+ self.status_500 = attributes[:'status_500']
2269
+ end
2270
+
2271
+ if attributes.key?(:'status_501')
2272
+ self.status_501 = attributes[:'status_501']
2273
+ end
2274
+
2275
+ if attributes.key?(:'status_502')
2276
+ self.status_502 = attributes[:'status_502']
2277
+ end
2278
+
2279
+ if attributes.key?(:'status_503')
2280
+ self.status_503 = attributes[:'status_503']
2281
+ end
2282
+
2283
+ if attributes.key?(:'status_504')
2284
+ self.status_504 = attributes[:'status_504']
2285
+ end
2286
+
2287
+ if attributes.key?(:'status_505')
2288
+ self.status_505 = attributes[:'status_505']
2289
+ end
2290
+
2291
+ if attributes.key?(:'status_530')
2292
+ self.status_530 = attributes[:'status_530']
2293
+ end
2294
+
2295
+ if attributes.key?(:'status_1xx')
2296
+ self.status_1xx = attributes[:'status_1xx']
2297
+ end
2298
+
2299
+ if attributes.key?(:'status_2xx')
2300
+ self.status_2xx = attributes[:'status_2xx']
2301
+ end
2302
+
2303
+ if attributes.key?(:'status_3xx')
2304
+ self.status_3xx = attributes[:'status_3xx']
2305
+ end
2306
+
2307
+ if attributes.key?(:'status_4xx')
2308
+ self.status_4xx = attributes[:'status_4xx']
2309
+ end
2310
+
2311
+ if attributes.key?(:'status_5xx')
2312
+ self.status_5xx = attributes[:'status_5xx']
2313
+ end
2314
+
2315
+ if attributes.key?(:'object_size_1k')
2316
+ self.object_size_1k = attributes[:'object_size_1k']
2317
+ end
2318
+
2319
+ if attributes.key?(:'object_size_10k')
2320
+ self.object_size_10k = attributes[:'object_size_10k']
2321
+ end
2322
+
2323
+ if attributes.key?(:'object_size_100k')
2324
+ self.object_size_100k = attributes[:'object_size_100k']
2325
+ end
2326
+
2327
+ if attributes.key?(:'object_size_1m')
2328
+ self.object_size_1m = attributes[:'object_size_1m']
2329
+ end
2330
+
2331
+ if attributes.key?(:'object_size_10m')
2332
+ self.object_size_10m = attributes[:'object_size_10m']
2333
+ end
2334
+
2335
+ if attributes.key?(:'object_size_100m')
2336
+ self.object_size_100m = attributes[:'object_size_100m']
2337
+ end
2338
+
2339
+ if attributes.key?(:'object_size_1g')
2340
+ self.object_size_1g = attributes[:'object_size_1g']
2341
+ end
2342
+
2343
+ if attributes.key?(:'recv_sub_time')
2344
+ self.recv_sub_time = attributes[:'recv_sub_time']
2345
+ end
2346
+
2347
+ if attributes.key?(:'recv_sub_count')
2348
+ self.recv_sub_count = attributes[:'recv_sub_count']
2349
+ end
2350
+
2351
+ if attributes.key?(:'hash_sub_time')
2352
+ self.hash_sub_time = attributes[:'hash_sub_time']
2353
+ end
2354
+
2355
+ if attributes.key?(:'hash_sub_count')
2356
+ self.hash_sub_count = attributes[:'hash_sub_count']
2357
+ end
2358
+
2359
+ if attributes.key?(:'miss_sub_time')
2360
+ self.miss_sub_time = attributes[:'miss_sub_time']
2361
+ end
2362
+
2363
+ if attributes.key?(:'miss_sub_count')
2364
+ self.miss_sub_count = attributes[:'miss_sub_count']
2365
+ end
2366
+
2367
+ if attributes.key?(:'fetch_sub_time')
2368
+ self.fetch_sub_time = attributes[:'fetch_sub_time']
2369
+ end
2370
+
2371
+ if attributes.key?(:'fetch_sub_count')
2372
+ self.fetch_sub_count = attributes[:'fetch_sub_count']
2373
+ end
2374
+
2375
+ if attributes.key?(:'pass_sub_time')
2376
+ self.pass_sub_time = attributes[:'pass_sub_time']
2377
+ end
2378
+
2379
+ if attributes.key?(:'pass_sub_count')
2380
+ self.pass_sub_count = attributes[:'pass_sub_count']
2381
+ end
2382
+
2383
+ if attributes.key?(:'pipe_sub_time')
2384
+ self.pipe_sub_time = attributes[:'pipe_sub_time']
2385
+ end
2386
+
2387
+ if attributes.key?(:'pipe_sub_count')
2388
+ self.pipe_sub_count = attributes[:'pipe_sub_count']
2389
+ end
2390
+
2391
+ if attributes.key?(:'deliver_sub_time')
2392
+ self.deliver_sub_time = attributes[:'deliver_sub_time']
2393
+ end
2394
+
2395
+ if attributes.key?(:'deliver_sub_count')
2396
+ self.deliver_sub_count = attributes[:'deliver_sub_count']
2397
+ end
2398
+
2399
+ if attributes.key?(:'error_sub_time')
2400
+ self.error_sub_time = attributes[:'error_sub_time']
2401
+ end
2402
+
2403
+ if attributes.key?(:'error_sub_count')
2404
+ self.error_sub_count = attributes[:'error_sub_count']
2405
+ end
2406
+
2407
+ if attributes.key?(:'hit_sub_time')
2408
+ self.hit_sub_time = attributes[:'hit_sub_time']
2409
+ end
2410
+
2411
+ if attributes.key?(:'hit_sub_count')
2412
+ self.hit_sub_count = attributes[:'hit_sub_count']
2413
+ end
2414
+
2415
+ if attributes.key?(:'prehash_sub_time')
2416
+ self.prehash_sub_time = attributes[:'prehash_sub_time']
2417
+ end
2418
+
2419
+ if attributes.key?(:'prehash_sub_count')
2420
+ self.prehash_sub_count = attributes[:'prehash_sub_count']
2421
+ end
2422
+
2423
+ if attributes.key?(:'predeliver_sub_time')
2424
+ self.predeliver_sub_time = attributes[:'predeliver_sub_time']
2425
+ end
2426
+
2427
+ if attributes.key?(:'predeliver_sub_count')
2428
+ self.predeliver_sub_count = attributes[:'predeliver_sub_count']
2429
+ end
2430
+
2431
+ if attributes.key?(:'tls_handshake_sent_bytes')
2432
+ self.tls_handshake_sent_bytes = attributes[:'tls_handshake_sent_bytes']
2433
+ end
2434
+
2435
+ if attributes.key?(:'hit_resp_body_bytes')
2436
+ self.hit_resp_body_bytes = attributes[:'hit_resp_body_bytes']
2437
+ end
2438
+
2439
+ if attributes.key?(:'miss_resp_body_bytes')
2440
+ self.miss_resp_body_bytes = attributes[:'miss_resp_body_bytes']
2441
+ end
2442
+
2443
+ if attributes.key?(:'pass_resp_body_bytes')
2444
+ self.pass_resp_body_bytes = attributes[:'pass_resp_body_bytes']
2445
+ end
2446
+
2447
+ if attributes.key?(:'segblock_origin_fetches')
2448
+ self.segblock_origin_fetches = attributes[:'segblock_origin_fetches']
2449
+ end
2450
+
2451
+ if attributes.key?(:'segblock_shield_fetches')
2452
+ self.segblock_shield_fetches = attributes[:'segblock_shield_fetches']
2453
+ end
2454
+
2455
+ if attributes.key?(:'compute_requests')
2456
+ self.compute_requests = attributes[:'compute_requests']
2457
+ end
2458
+
2459
+ if attributes.key?(:'compute_request_time_ms')
2460
+ self.compute_request_time_ms = attributes[:'compute_request_time_ms']
2461
+ end
2462
+
2463
+ if attributes.key?(:'compute_request_time_billed_ms')
2464
+ self.compute_request_time_billed_ms = attributes[:'compute_request_time_billed_ms']
2465
+ end
2466
+
2467
+ if attributes.key?(:'compute_ram_used')
2468
+ self.compute_ram_used = attributes[:'compute_ram_used']
2469
+ end
2470
+
2471
+ if attributes.key?(:'compute_execution_time_ms')
2472
+ self.compute_execution_time_ms = attributes[:'compute_execution_time_ms']
2473
+ end
2474
+
2475
+ if attributes.key?(:'compute_req_header_bytes')
2476
+ self.compute_req_header_bytes = attributes[:'compute_req_header_bytes']
2477
+ end
2478
+
2479
+ if attributes.key?(:'compute_req_body_bytes')
2480
+ self.compute_req_body_bytes = attributes[:'compute_req_body_bytes']
2481
+ end
2482
+
2483
+ if attributes.key?(:'compute_resp_header_bytes')
2484
+ self.compute_resp_header_bytes = attributes[:'compute_resp_header_bytes']
2485
+ end
2486
+
2487
+ if attributes.key?(:'compute_resp_body_bytes')
2488
+ self.compute_resp_body_bytes = attributes[:'compute_resp_body_bytes']
2489
+ end
2490
+
2491
+ if attributes.key?(:'compute_resp_status_1xx')
2492
+ self.compute_resp_status_1xx = attributes[:'compute_resp_status_1xx']
2493
+ end
2494
+
2495
+ if attributes.key?(:'compute_resp_status_2xx')
2496
+ self.compute_resp_status_2xx = attributes[:'compute_resp_status_2xx']
2497
+ end
2498
+
2499
+ if attributes.key?(:'compute_resp_status_3xx')
2500
+ self.compute_resp_status_3xx = attributes[:'compute_resp_status_3xx']
2501
+ end
2502
+
2503
+ if attributes.key?(:'compute_resp_status_4xx')
2504
+ self.compute_resp_status_4xx = attributes[:'compute_resp_status_4xx']
2505
+ end
2506
+
2507
+ if attributes.key?(:'compute_resp_status_5xx')
2508
+ self.compute_resp_status_5xx = attributes[:'compute_resp_status_5xx']
2509
+ end
2510
+
2511
+ if attributes.key?(:'compute_bereq_header_bytes')
2512
+ self.compute_bereq_header_bytes = attributes[:'compute_bereq_header_bytes']
2513
+ end
2514
+
2515
+ if attributes.key?(:'compute_bereq_body_bytes')
2516
+ self.compute_bereq_body_bytes = attributes[:'compute_bereq_body_bytes']
2517
+ end
2518
+
2519
+ if attributes.key?(:'compute_beresp_header_bytes')
2520
+ self.compute_beresp_header_bytes = attributes[:'compute_beresp_header_bytes']
2521
+ end
2522
+
2523
+ if attributes.key?(:'compute_beresp_body_bytes')
2524
+ self.compute_beresp_body_bytes = attributes[:'compute_beresp_body_bytes']
2525
+ end
2526
+
2527
+ if attributes.key?(:'compute_bereqs')
2528
+ self.compute_bereqs = attributes[:'compute_bereqs']
2529
+ end
2530
+
2531
+ if attributes.key?(:'compute_service_bereq_error')
2532
+ self.compute_service_bereq_error = attributes[:'compute_service_bereq_error']
2533
+ end
2534
+
2535
+ if attributes.key?(:'compute_service_memory_exceeded_error')
2536
+ self.compute_service_memory_exceeded_error = attributes[:'compute_service_memory_exceeded_error']
2537
+ end
2538
+
2539
+ if attributes.key?(:'edge_hit_resp_body_bytes')
2540
+ self.edge_hit_resp_body_bytes = attributes[:'edge_hit_resp_body_bytes']
2541
+ end
2542
+
2543
+ if attributes.key?(:'edge_hit_resp_header_bytes')
2544
+ self.edge_hit_resp_header_bytes = attributes[:'edge_hit_resp_header_bytes']
2545
+ end
2546
+
2547
+ if attributes.key?(:'edge_miss_resp_body_bytes')
2548
+ self.edge_miss_resp_body_bytes = attributes[:'edge_miss_resp_body_bytes']
2549
+ end
2550
+
2551
+ if attributes.key?(:'edge_miss_resp_header_bytes')
2552
+ self.edge_miss_resp_header_bytes = attributes[:'edge_miss_resp_header_bytes']
2553
+ end
2554
+
2555
+ if attributes.key?(:'origin_cache_fetch_resp_body_bytes')
2556
+ self.origin_cache_fetch_resp_body_bytes = attributes[:'origin_cache_fetch_resp_body_bytes']
2557
+ end
2558
+
2559
+ if attributes.key?(:'origin_cache_fetch_resp_header_bytes')
2560
+ self.origin_cache_fetch_resp_header_bytes = attributes[:'origin_cache_fetch_resp_header_bytes']
2561
+ end
2562
+
2563
+ if attributes.key?(:'shield_hit_requests')
2564
+ self.shield_hit_requests = attributes[:'shield_hit_requests']
2565
+ end
2566
+
2567
+ if attributes.key?(:'shield_miss_requests')
2568
+ self.shield_miss_requests = attributes[:'shield_miss_requests']
2569
+ end
2570
+
2571
+ if attributes.key?(:'shield_hit_resp_header_bytes')
2572
+ self.shield_hit_resp_header_bytes = attributes[:'shield_hit_resp_header_bytes']
2573
+ end
2574
+
2575
+ if attributes.key?(:'shield_hit_resp_body_bytes')
2576
+ self.shield_hit_resp_body_bytes = attributes[:'shield_hit_resp_body_bytes']
2577
+ end
2578
+
2579
+ if attributes.key?(:'shield_miss_resp_header_bytes')
2580
+ self.shield_miss_resp_header_bytes = attributes[:'shield_miss_resp_header_bytes']
2581
+ end
2582
+
2583
+ if attributes.key?(:'shield_miss_resp_body_bytes')
2584
+ self.shield_miss_resp_body_bytes = attributes[:'shield_miss_resp_body_bytes']
2585
+ end
2586
+
2587
+ if attributes.key?(:'websocket_req_header_bytes')
2588
+ self.websocket_req_header_bytes = attributes[:'websocket_req_header_bytes']
2589
+ end
2590
+
2591
+ if attributes.key?(:'websocket_req_body_bytes')
2592
+ self.websocket_req_body_bytes = attributes[:'websocket_req_body_bytes']
2593
+ end
2594
+
2595
+ if attributes.key?(:'websocket_resp_header_bytes')
2596
+ self.websocket_resp_header_bytes = attributes[:'websocket_resp_header_bytes']
2597
+ end
2598
+
2599
+ if attributes.key?(:'websocket_resp_body_bytes')
2600
+ self.websocket_resp_body_bytes = attributes[:'websocket_resp_body_bytes']
2601
+ end
2602
+
2603
+ if attributes.key?(:'websocket_bereq_header_bytes')
2604
+ self.websocket_bereq_header_bytes = attributes[:'websocket_bereq_header_bytes']
2605
+ end
2606
+
2607
+ if attributes.key?(:'websocket_bereq_body_bytes')
2608
+ self.websocket_bereq_body_bytes = attributes[:'websocket_bereq_body_bytes']
2609
+ end
2610
+
2611
+ if attributes.key?(:'websocket_beresp_header_bytes')
2612
+ self.websocket_beresp_header_bytes = attributes[:'websocket_beresp_header_bytes']
2613
+ end
2614
+
2615
+ if attributes.key?(:'websocket_beresp_body_bytes')
2616
+ self.websocket_beresp_body_bytes = attributes[:'websocket_beresp_body_bytes']
2617
+ end
2618
+
2619
+ if attributes.key?(:'websocket_conn_time_ms')
2620
+ self.websocket_conn_time_ms = attributes[:'websocket_conn_time_ms']
2621
+ end
2622
+
2623
+ if attributes.key?(:'fanout_recv_publishes')
2624
+ self.fanout_recv_publishes = attributes[:'fanout_recv_publishes']
2625
+ end
2626
+
2627
+ if attributes.key?(:'fanout_send_publishes')
2628
+ self.fanout_send_publishes = attributes[:'fanout_send_publishes']
2629
+ end
2630
+
2631
+ if attributes.key?(:'kv_store_class_a_operations')
2632
+ self.kv_store_class_a_operations = attributes[:'kv_store_class_a_operations']
2633
+ end
2634
+
2635
+ if attributes.key?(:'kv_store_class_b_operations')
2636
+ self.kv_store_class_b_operations = attributes[:'kv_store_class_b_operations']
2637
+ end
2638
+
2639
+ if attributes.key?(:'fanout_req_header_bytes')
2640
+ self.fanout_req_header_bytes = attributes[:'fanout_req_header_bytes']
2641
+ end
2642
+
2643
+ if attributes.key?(:'fanout_req_body_bytes')
2644
+ self.fanout_req_body_bytes = attributes[:'fanout_req_body_bytes']
2645
+ end
2646
+
2647
+ if attributes.key?(:'fanout_resp_header_bytes')
2648
+ self.fanout_resp_header_bytes = attributes[:'fanout_resp_header_bytes']
2649
+ end
2650
+
2651
+ if attributes.key?(:'fanout_resp_body_bytes')
2652
+ self.fanout_resp_body_bytes = attributes[:'fanout_resp_body_bytes']
2653
+ end
2654
+
2655
+ if attributes.key?(:'fanout_bereq_header_bytes')
2656
+ self.fanout_bereq_header_bytes = attributes[:'fanout_bereq_header_bytes']
2657
+ end
2658
+
2659
+ if attributes.key?(:'fanout_bereq_body_bytes')
2660
+ self.fanout_bereq_body_bytes = attributes[:'fanout_bereq_body_bytes']
2661
+ end
2662
+
2663
+ if attributes.key?(:'fanout_beresp_header_bytes')
2664
+ self.fanout_beresp_header_bytes = attributes[:'fanout_beresp_header_bytes']
2665
+ end
2666
+
2667
+ if attributes.key?(:'fanout_beresp_body_bytes')
2668
+ self.fanout_beresp_body_bytes = attributes[:'fanout_beresp_body_bytes']
2669
+ end
2670
+
2671
+ if attributes.key?(:'fanout_conn_time_ms')
2672
+ self.fanout_conn_time_ms = attributes[:'fanout_conn_time_ms']
2673
+ end
2674
+
2675
+ if attributes.key?(:'ddos_action_limit_streams_connections')
2676
+ self.ddos_action_limit_streams_connections = attributes[:'ddos_action_limit_streams_connections']
2677
+ end
2678
+
2679
+ if attributes.key?(:'ddos_action_limit_streams_requests')
2680
+ self.ddos_action_limit_streams_requests = attributes[:'ddos_action_limit_streams_requests']
2681
+ end
2682
+
2683
+ if attributes.key?(:'ddos_action_tarpit_accept')
2684
+ self.ddos_action_tarpit_accept = attributes[:'ddos_action_tarpit_accept']
2685
+ end
2686
+
2687
+ if attributes.key?(:'ddos_action_tarpit')
2688
+ self.ddos_action_tarpit = attributes[:'ddos_action_tarpit']
2689
+ end
2690
+
2691
+ if attributes.key?(:'ddos_action_close')
2692
+ self.ddos_action_close = attributes[:'ddos_action_close']
2693
+ end
2694
+
2695
+ if attributes.key?(:'ddos_action_blackhole')
2696
+ self.ddos_action_blackhole = attributes[:'ddos_action_blackhole']
2697
+ end
2698
+
2699
+ if attributes.key?(:'bot_challenge_starts')
2700
+ self.bot_challenge_starts = attributes[:'bot_challenge_starts']
2701
+ end
2702
+
2703
+ if attributes.key?(:'bot_challenge_complete_tokens_passed')
2704
+ self.bot_challenge_complete_tokens_passed = attributes[:'bot_challenge_complete_tokens_passed']
2705
+ end
2706
+
2707
+ if attributes.key?(:'bot_challenge_complete_tokens_failed')
2708
+ self.bot_challenge_complete_tokens_failed = attributes[:'bot_challenge_complete_tokens_failed']
2709
+ end
2710
+
2711
+ if attributes.key?(:'bot_challenge_complete_tokens_checked')
2712
+ self.bot_challenge_complete_tokens_checked = attributes[:'bot_challenge_complete_tokens_checked']
2713
+ end
2714
+
2715
+ if attributes.key?(:'bot_challenge_complete_tokens_disabled')
2716
+ self.bot_challenge_complete_tokens_disabled = attributes[:'bot_challenge_complete_tokens_disabled']
2717
+ end
2718
+
2719
+ if attributes.key?(:'bot_challenge_complete_tokens_issued')
2720
+ self.bot_challenge_complete_tokens_issued = attributes[:'bot_challenge_complete_tokens_issued']
2721
+ end
2722
+
2723
+ if attributes.key?(:'bot_challenges_issued')
2724
+ self.bot_challenges_issued = attributes[:'bot_challenges_issued']
2725
+ end
2726
+
2727
+ if attributes.key?(:'bot_challenges_succeeded')
2728
+ self.bot_challenges_succeeded = attributes[:'bot_challenges_succeeded']
2729
+ end
2730
+
2731
+ if attributes.key?(:'bot_challenges_failed')
2732
+ self.bot_challenges_failed = attributes[:'bot_challenges_failed']
2733
+ end
2734
+
2735
+ if attributes.key?(:'ddos_action_downgrade')
2736
+ self.ddos_action_downgrade = attributes[:'ddos_action_downgrade']
2737
+ end
2738
+
2739
+ if attributes.key?(:'ddos_action_downgraded_connections')
2740
+ self.ddos_action_downgraded_connections = attributes[:'ddos_action_downgraded_connections']
2741
+ end
2742
+
2743
+ if attributes.key?(:'all_hit_requests')
2744
+ self.all_hit_requests = attributes[:'all_hit_requests']
2745
+ end
2746
+
2747
+ if attributes.key?(:'all_miss_requests')
2748
+ self.all_miss_requests = attributes[:'all_miss_requests']
2749
+ end
2750
+
2751
+ if attributes.key?(:'all_pass_requests')
2752
+ self.all_pass_requests = attributes[:'all_pass_requests']
2753
+ end
2754
+
2755
+ if attributes.key?(:'all_error_requests')
2756
+ self.all_error_requests = attributes[:'all_error_requests']
2757
+ end
2758
+
2759
+ if attributes.key?(:'all_synth_requests')
2760
+ self.all_synth_requests = attributes[:'all_synth_requests']
2761
+ end
91
2762
 
92
- # Attribute type mapping.
93
- def self.fastly_types
94
- {
95
- :'timestamp' => :'Time',
96
- :'ttfb_origin_p25_us' => :'Float',
97
- :'ttfb_origin_p50_us' => :'Float',
98
- :'ttfb_origin_p75_us' => :'Float',
99
- :'ttfb_origin_p95_us' => :'Float',
100
- :'ttfb_origin_p99_us' => :'Float',
101
- :'ttfb_shield_p25_us' => :'Float',
102
- :'ttfb_shield_p50_us' => :'Float',
103
- :'ttfb_shield_p75_us' => :'Float',
104
- :'ttfb_shield_p95_us' => :'Float',
105
- :'ttfb_shield_p99_us' => :'Float',
106
- :'ttfb_edge_p25_us' => :'Float',
107
- :'ttfb_edge_p50_us' => :'Float',
108
- :'ttfb_edge_p75_us' => :'Float',
109
- :'ttfb_edge_p95_us' => :'Float',
110
- :'ttfb_edge_p99_us' => :'Float'
111
- }
112
- end
2763
+ if attributes.key?(:'all_edge_hit_requests')
2764
+ self.all_edge_hit_requests = attributes[:'all_edge_hit_requests']
2765
+ end
113
2766
 
114
- # List of attributes with nullable: true
115
- def self.fastly_nullable
116
- Set.new([
117
- ])
118
- end
2767
+ if attributes.key?(:'all_edge_miss_requests')
2768
+ self.all_edge_miss_requests = attributes[:'all_edge_miss_requests']
2769
+ end
119
2770
 
120
- # Initializes the object
121
- # @param [Hash] attributes Model attributes in the form of hash
122
- def initialize(attributes = {})
123
- if (!attributes.is_a?(Hash))
124
- fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::PlatformValues` initialize method"
2771
+ if attributes.key?(:'all_status_1xx')
2772
+ self.all_status_1xx = attributes[:'all_status_1xx']
125
2773
  end
126
2774
 
127
- # check to see if the attribute exists and convert string to symbol for hash key
128
- attributes = attributes.each_with_object({}) { |(k, v), h|
129
- if (!self.class.attribute_map.key?(k.to_sym))
130
- fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::PlatformValues`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
131
- end
132
- h[k.to_sym] = v
133
- }
2775
+ if attributes.key?(:'all_status_2xx')
2776
+ self.all_status_2xx = attributes[:'all_status_2xx']
2777
+ end
134
2778
 
135
- if attributes.key?(:'timestamp')
136
- self.timestamp = attributes[:'timestamp']
2779
+ if attributes.key?(:'all_status_3xx')
2780
+ self.all_status_3xx = attributes[:'all_status_3xx']
2781
+ end
2782
+
2783
+ if attributes.key?(:'all_status_4xx')
2784
+ self.all_status_4xx = attributes[:'all_status_4xx']
2785
+ end
2786
+
2787
+ if attributes.key?(:'all_status_5xx')
2788
+ self.all_status_5xx = attributes[:'all_status_5xx']
2789
+ end
2790
+
2791
+ if attributes.key?(:'origin_offload')
2792
+ self.origin_offload = attributes[:'origin_offload']
2793
+ end
2794
+
2795
+ if attributes.key?(:'request_denied_get_head_body')
2796
+ self.request_denied_get_head_body = attributes[:'request_denied_get_head_body']
2797
+ end
2798
+
2799
+ if attributes.key?(:'ddos_protection_requests_detect_count')
2800
+ self.ddos_protection_requests_detect_count = attributes[:'ddos_protection_requests_detect_count']
2801
+ end
2802
+
2803
+ if attributes.key?(:'ddos_protection_requests_mitigate_count')
2804
+ self.ddos_protection_requests_mitigate_count = attributes[:'ddos_protection_requests_mitigate_count']
2805
+ end
2806
+
2807
+ if attributes.key?(:'ddos_protection_requests_allow_count')
2808
+ self.ddos_protection_requests_allow_count = attributes[:'ddos_protection_requests_allow_count']
2809
+ end
2810
+
2811
+ if attributes.key?(:'object_storage_class_a_operations_count')
2812
+ self.object_storage_class_a_operations_count = attributes[:'object_storage_class_a_operations_count']
2813
+ end
2814
+
2815
+ if attributes.key?(:'object_storage_class_b_operations_count')
2816
+ self.object_storage_class_b_operations_count = attributes[:'object_storage_class_b_operations_count']
2817
+ end
2818
+
2819
+ if attributes.key?(:'aia_requests')
2820
+ self.aia_requests = attributes[:'aia_requests']
2821
+ end
2822
+
2823
+ if attributes.key?(:'aia_status_1xx')
2824
+ self.aia_status_1xx = attributes[:'aia_status_1xx']
2825
+ end
2826
+
2827
+ if attributes.key?(:'aia_status_2xx')
2828
+ self.aia_status_2xx = attributes[:'aia_status_2xx']
2829
+ end
2830
+
2831
+ if attributes.key?(:'aia_status_3xx')
2832
+ self.aia_status_3xx = attributes[:'aia_status_3xx']
2833
+ end
2834
+
2835
+ if attributes.key?(:'aia_status_4xx')
2836
+ self.aia_status_4xx = attributes[:'aia_status_4xx']
2837
+ end
2838
+
2839
+ if attributes.key?(:'aia_status_5xx')
2840
+ self.aia_status_5xx = attributes[:'aia_status_5xx']
2841
+ end
2842
+
2843
+ if attributes.key?(:'aia_response_usage_tokens')
2844
+ self.aia_response_usage_tokens = attributes[:'aia_response_usage_tokens']
2845
+ end
2846
+
2847
+ if attributes.key?(:'aia_origin_usage_tokens')
2848
+ self.aia_origin_usage_tokens = attributes[:'aia_origin_usage_tokens']
2849
+ end
2850
+
2851
+ if attributes.key?(:'aia_estimated_time_saved_ms')
2852
+ self.aia_estimated_time_saved_ms = attributes[:'aia_estimated_time_saved_ms']
2853
+ end
2854
+
2855
+ if attributes.key?(:'request_collapse_usable_count')
2856
+ self.request_collapse_usable_count = attributes[:'request_collapse_usable_count']
2857
+ end
2858
+
2859
+ if attributes.key?(:'request_collapse_unusable_count')
2860
+ self.request_collapse_unusable_count = attributes[:'request_collapse_unusable_count']
2861
+ end
2862
+
2863
+ if attributes.key?(:'compute_cache_operations_count')
2864
+ self.compute_cache_operations_count = attributes[:'compute_cache_operations_count']
2865
+ end
2866
+
2867
+ if attributes.key?(:'ngwaf_requests_total_count')
2868
+ self.ngwaf_requests_total_count = attributes[:'ngwaf_requests_total_count']
2869
+ end
2870
+
2871
+ if attributes.key?(:'ngwaf_requests_unknown_count')
2872
+ self.ngwaf_requests_unknown_count = attributes[:'ngwaf_requests_unknown_count']
2873
+ end
2874
+
2875
+ if attributes.key?(:'ngwaf_requests_allowed_count')
2876
+ self.ngwaf_requests_allowed_count = attributes[:'ngwaf_requests_allowed_count']
2877
+ end
2878
+
2879
+ if attributes.key?(:'ngwaf_requests_logged_count')
2880
+ self.ngwaf_requests_logged_count = attributes[:'ngwaf_requests_logged_count']
2881
+ end
2882
+
2883
+ if attributes.key?(:'ngwaf_requests_blocked_count')
2884
+ self.ngwaf_requests_blocked_count = attributes[:'ngwaf_requests_blocked_count']
2885
+ end
2886
+
2887
+ if attributes.key?(:'ngwaf_requests_timeout_count')
2888
+ self.ngwaf_requests_timeout_count = attributes[:'ngwaf_requests_timeout_count']
2889
+ end
2890
+
2891
+ if attributes.key?(:'ngwaf_requests_challenged_count')
2892
+ self.ngwaf_requests_challenged_count = attributes[:'ngwaf_requests_challenged_count']
2893
+ end
2894
+
2895
+ if attributes.key?(:'api_discovery_requests_count')
2896
+ self.api_discovery_requests_count = attributes[:'api_discovery_requests_count']
2897
+ end
2898
+
2899
+ if attributes.key?(:'compute_resp_status_103')
2900
+ self.compute_resp_status_103 = attributes[:'compute_resp_status_103']
2901
+ end
2902
+
2903
+ if attributes.key?(:'compute_resp_status_200')
2904
+ self.compute_resp_status_200 = attributes[:'compute_resp_status_200']
2905
+ end
2906
+
2907
+ if attributes.key?(:'compute_resp_status_204')
2908
+ self.compute_resp_status_204 = attributes[:'compute_resp_status_204']
2909
+ end
2910
+
2911
+ if attributes.key?(:'compute_resp_status_206')
2912
+ self.compute_resp_status_206 = attributes[:'compute_resp_status_206']
2913
+ end
2914
+
2915
+ if attributes.key?(:'compute_resp_status_301')
2916
+ self.compute_resp_status_301 = attributes[:'compute_resp_status_301']
2917
+ end
2918
+
2919
+ if attributes.key?(:'compute_resp_status_302')
2920
+ self.compute_resp_status_302 = attributes[:'compute_resp_status_302']
2921
+ end
2922
+
2923
+ if attributes.key?(:'compute_resp_status_304')
2924
+ self.compute_resp_status_304 = attributes[:'compute_resp_status_304']
2925
+ end
2926
+
2927
+ if attributes.key?(:'compute_resp_status_400')
2928
+ self.compute_resp_status_400 = attributes[:'compute_resp_status_400']
2929
+ end
2930
+
2931
+ if attributes.key?(:'compute_resp_status_401')
2932
+ self.compute_resp_status_401 = attributes[:'compute_resp_status_401']
2933
+ end
2934
+
2935
+ if attributes.key?(:'compute_resp_status_403')
2936
+ self.compute_resp_status_403 = attributes[:'compute_resp_status_403']
2937
+ end
2938
+
2939
+ if attributes.key?(:'compute_resp_status_404')
2940
+ self.compute_resp_status_404 = attributes[:'compute_resp_status_404']
2941
+ end
2942
+
2943
+ if attributes.key?(:'compute_resp_status_416')
2944
+ self.compute_resp_status_416 = attributes[:'compute_resp_status_416']
2945
+ end
2946
+
2947
+ if attributes.key?(:'compute_resp_status_429')
2948
+ self.compute_resp_status_429 = attributes[:'compute_resp_status_429']
2949
+ end
2950
+
2951
+ if attributes.key?(:'compute_resp_status_500')
2952
+ self.compute_resp_status_500 = attributes[:'compute_resp_status_500']
2953
+ end
2954
+
2955
+ if attributes.key?(:'compute_resp_status_501')
2956
+ self.compute_resp_status_501 = attributes[:'compute_resp_status_501']
2957
+ end
2958
+
2959
+ if attributes.key?(:'compute_resp_status_502')
2960
+ self.compute_resp_status_502 = attributes[:'compute_resp_status_502']
2961
+ end
2962
+
2963
+ if attributes.key?(:'compute_resp_status_503')
2964
+ self.compute_resp_status_503 = attributes[:'compute_resp_status_503']
2965
+ end
2966
+
2967
+ if attributes.key?(:'compute_resp_status_504')
2968
+ self.compute_resp_status_504 = attributes[:'compute_resp_status_504']
2969
+ end
2970
+
2971
+ if attributes.key?(:'compute_resp_status_505')
2972
+ self.compute_resp_status_505 = attributes[:'compute_resp_status_505']
2973
+ end
2974
+
2975
+ if attributes.key?(:'compute_resp_status_530')
2976
+ self.compute_resp_status_530 = attributes[:'compute_resp_status_530']
2977
+ end
2978
+
2979
+ if attributes.key?(:'imgopto_compute_requests')
2980
+ self.imgopto_compute_requests = attributes[:'imgopto_compute_requests']
2981
+ end
2982
+
2983
+ if attributes.key?(:'dns_billable_responses_count')
2984
+ self.dns_billable_responses_count = attributes[:'dns_billable_responses_count']
2985
+ end
2986
+
2987
+ if attributes.key?(:'dns_nonbillable_responses_count')
2988
+ self.dns_nonbillable_responses_count = attributes[:'dns_nonbillable_responses_count']
2989
+ end
2990
+
2991
+ if attributes.key?(:'upgrade')
2992
+ self.upgrade = attributes[:'upgrade']
2993
+ end
2994
+
2995
+ if attributes.key?(:'ngwaf_bot_analysis_request_count')
2996
+ self.ngwaf_bot_analysis_request_count = attributes[:'ngwaf_bot_analysis_request_count']
2997
+ end
2998
+
2999
+ if attributes.key?(:'imgopto_avif_count')
3000
+ self.imgopto_avif_count = attributes[:'imgopto_avif_count']
3001
+ end
3002
+
3003
+ if attributes.key?(:'imgopto_jpeg_count')
3004
+ self.imgopto_jpeg_count = attributes[:'imgopto_jpeg_count']
3005
+ end
3006
+
3007
+ if attributes.key?(:'imgopto_png_count')
3008
+ self.imgopto_png_count = attributes[:'imgopto_png_count']
3009
+ end
3010
+
3011
+ if attributes.key?(:'imgopto_gif_count')
3012
+ self.imgopto_gif_count = attributes[:'imgopto_gif_count']
3013
+ end
3014
+
3015
+ if attributes.key?(:'imgopto_webp_count')
3016
+ self.imgopto_webp_count = attributes[:'imgopto_webp_count']
3017
+ end
3018
+
3019
+ if attributes.key?(:'imgopto_jpegxl_count')
3020
+ self.imgopto_jpegxl_count = attributes[:'imgopto_jpegxl_count']
3021
+ end
3022
+
3023
+ if attributes.key?(:'imgopto_svg_count')
3024
+ self.imgopto_svg_count = attributes[:'imgopto_svg_count']
3025
+ end
3026
+
3027
+ if attributes.key?(:'imgopto_mp4_count')
3028
+ self.imgopto_mp4_count = attributes[:'imgopto_mp4_count']
3029
+ end
3030
+
3031
+ if attributes.key?(:'compute_service_resource_limits_error')
3032
+ self.compute_service_resource_limits_error = attributes[:'compute_service_resource_limits_error']
3033
+ end
3034
+
3035
+ if attributes.key?(:'compute_service_runtime_error')
3036
+ self.compute_service_runtime_error = attributes[:'compute_service_runtime_error']
3037
+ end
3038
+
3039
+ if attributes.key?(:'compute_service_chain_error')
3040
+ self.compute_service_chain_error = attributes[:'compute_service_chain_error']
3041
+ end
3042
+
3043
+ if attributes.key?(:'compute_platform_internal_error')
3044
+ self.compute_platform_internal_error = attributes[:'compute_platform_internal_error']
3045
+ end
3046
+
3047
+ if attributes.key?(:'compute_service_timeout_error')
3048
+ self.compute_service_timeout_error = attributes[:'compute_service_timeout_error']
3049
+ end
3050
+
3051
+ if attributes.key?(:'compute_service_vcpu_exceeded_error')
3052
+ self.compute_service_vcpu_exceeded_error = attributes[:'compute_service_vcpu_exceeded_error']
3053
+ end
3054
+
3055
+ if attributes.key?(:'compute_service_limits_error')
3056
+ self.compute_service_limits_error = attributes[:'compute_service_limits_error']
3057
+ end
3058
+
3059
+ if attributes.key?(:'compute_platform_invalid_request_error')
3060
+ self.compute_platform_invalid_request_error = attributes[:'compute_platform_invalid_request_error']
3061
+ end
3062
+
3063
+ if attributes.key?(:'compute_sandboxes')
3064
+ self.compute_sandboxes = attributes[:'compute_sandboxes']
3065
+ end
3066
+
3067
+ if attributes.key?(:'bot_requests_total_count')
3068
+ self.bot_requests_total_count = attributes[:'bot_requests_total_count']
3069
+ end
3070
+
3071
+ if attributes.key?(:'bot_edge_requests_analyzed_count')
3072
+ self.bot_edge_requests_analyzed_count = attributes[:'bot_edge_requests_analyzed_count']
3073
+ end
3074
+
3075
+ if attributes.key?(:'bot_edge_requests_detected_count')
3076
+ self.bot_edge_requests_detected_count = attributes[:'bot_edge_requests_detected_count']
3077
+ end
3078
+
3079
+ if attributes.key?(:'bot_edge_requests_verified_count')
3080
+ self.bot_edge_requests_verified_count = attributes[:'bot_edge_requests_verified_count']
3081
+ end
3082
+
3083
+ if attributes.key?(:'bot_edge_requests_ai_crawler_count')
3084
+ self.bot_edge_requests_ai_crawler_count = attributes[:'bot_edge_requests_ai_crawler_count']
3085
+ end
3086
+
3087
+ if attributes.key?(:'bot_edge_requests_ai_fetcher_count')
3088
+ self.bot_edge_requests_ai_fetcher_count = attributes[:'bot_edge_requests_ai_fetcher_count']
3089
+ end
3090
+
3091
+ if attributes.key?(:'bot_edge_requests_accessibility_count')
3092
+ self.bot_edge_requests_accessibility_count = attributes[:'bot_edge_requests_accessibility_count']
3093
+ end
3094
+
3095
+ if attributes.key?(:'bot_edge_requests_content_fetcher_count')
3096
+ self.bot_edge_requests_content_fetcher_count = attributes[:'bot_edge_requests_content_fetcher_count']
3097
+ end
3098
+
3099
+ if attributes.key?(:'bot_edge_requests_monitoring_count')
3100
+ self.bot_edge_requests_monitoring_count = attributes[:'bot_edge_requests_monitoring_count']
3101
+ end
3102
+
3103
+ if attributes.key?(:'bot_edge_requests_online_marketing_count')
3104
+ self.bot_edge_requests_online_marketing_count = attributes[:'bot_edge_requests_online_marketing_count']
3105
+ end
3106
+
3107
+ if attributes.key?(:'bot_edge_requests_page_preview_count')
3108
+ self.bot_edge_requests_page_preview_count = attributes[:'bot_edge_requests_page_preview_count']
3109
+ end
3110
+
3111
+ if attributes.key?(:'bot_edge_requests_platform_integrations_count')
3112
+ self.bot_edge_requests_platform_integrations_count = attributes[:'bot_edge_requests_platform_integrations_count']
3113
+ end
3114
+
3115
+ if attributes.key?(:'bot_edge_requests_research_count')
3116
+ self.bot_edge_requests_research_count = attributes[:'bot_edge_requests_research_count']
3117
+ end
3118
+
3119
+ if attributes.key?(:'bot_edge_requests_search_engine_crawler_count')
3120
+ self.bot_edge_requests_search_engine_crawler_count = attributes[:'bot_edge_requests_search_engine_crawler_count']
3121
+ end
3122
+
3123
+ if attributes.key?(:'bot_edge_requests_search_engine_optimization_count')
3124
+ self.bot_edge_requests_search_engine_optimization_count = attributes[:'bot_edge_requests_search_engine_optimization_count']
3125
+ end
3126
+
3127
+ if attributes.key?(:'bot_edge_requests_security_tools_count')
3128
+ self.bot_edge_requests_security_tools_count = attributes[:'bot_edge_requests_security_tools_count']
3129
+ end
3130
+
3131
+ if attributes.key?(:'compute_handoff')
3132
+ self.compute_handoff = attributes[:'compute_handoff']
3133
+ end
3134
+
3135
+ if attributes.key?(:'compute_service_bereq_dns_error')
3136
+ self.compute_service_bereq_dns_error = attributes[:'compute_service_bereq_dns_error']
3137
+ end
3138
+
3139
+ if attributes.key?(:'compute_service_bereq_conn_timeout_error')
3140
+ self.compute_service_bereq_conn_timeout_error = attributes[:'compute_service_bereq_conn_timeout_error']
3141
+ end
3142
+
3143
+ if attributes.key?(:'compute_service_bereq_conn_refused_error')
3144
+ self.compute_service_bereq_conn_refused_error = attributes[:'compute_service_bereq_conn_refused_error']
3145
+ end
3146
+
3147
+ if attributes.key?(:'compute_service_bereq_conn_other_error')
3148
+ self.compute_service_bereq_conn_other_error = attributes[:'compute_service_bereq_conn_other_error']
3149
+ end
3150
+
3151
+ if attributes.key?(:'compute_service_bereq_tls_server_cert_error')
3152
+ self.compute_service_bereq_tls_server_cert_error = attributes[:'compute_service_bereq_tls_server_cert_error']
3153
+ end
3154
+
3155
+ if attributes.key?(:'compute_service_bereq_tls_other_error')
3156
+ self.compute_service_bereq_tls_other_error = attributes[:'compute_service_bereq_tls_other_error']
3157
+ end
3158
+
3159
+ if attributes.key?(:'compute_service_bereq_http_proto_v1_error')
3160
+ self.compute_service_bereq_http_proto_v1_error = attributes[:'compute_service_bereq_http_proto_v1_error']
3161
+ end
3162
+
3163
+ if attributes.key?(:'compute_service_bereq_http_proto_v2_error')
3164
+ self.compute_service_bereq_http_proto_v2_error = attributes[:'compute_service_bereq_http_proto_v2_error']
3165
+ end
3166
+
3167
+ if attributes.key?(:'compute_service_bereq_http_incomplete_error')
3168
+ self.compute_service_bereq_http_incomplete_error = attributes[:'compute_service_bereq_http_incomplete_error']
3169
+ end
3170
+
3171
+ if attributes.key?(:'compute_service_bereq_http_timeout_error')
3172
+ self.compute_service_bereq_http_timeout_error = attributes[:'compute_service_bereq_http_timeout_error']
3173
+ end
3174
+
3175
+ if attributes.key?(:'compute_service_bereq_http_other_error')
3176
+ self.compute_service_bereq_http_other_error = attributes[:'compute_service_bereq_http_other_error']
3177
+ end
3178
+
3179
+ if attributes.key?(:'compute_service_bereq_other_error')
3180
+ self.compute_service_bereq_other_error = attributes[:'compute_service_bereq_other_error']
3181
+ end
3182
+
3183
+ if attributes.key?(:'compute_service_bereq_5xx_error')
3184
+ self.compute_service_bereq_5xx_error = attributes[:'compute_service_bereq_5xx_error']
3185
+ end
3186
+
3187
+ if attributes.key?(:'compute_service_bereq_conn_error')
3188
+ self.compute_service_bereq_conn_error = attributes[:'compute_service_bereq_conn_error']
3189
+ end
3190
+
3191
+ if attributes.key?(:'compute_service_bereq_tls_error')
3192
+ self.compute_service_bereq_tls_error = attributes[:'compute_service_bereq_tls_error']
3193
+ end
3194
+
3195
+ if attributes.key?(:'compute_service_bereq_http_error')
3196
+ self.compute_service_bereq_http_error = attributes[:'compute_service_bereq_http_error']
3197
+ end
3198
+
3199
+ if attributes.key?(:'bot_challenges_pats_issued')
3200
+ self.bot_challenges_pats_issued = attributes[:'bot_challenges_pats_issued']
3201
+ end
3202
+
3203
+ if attributes.key?(:'bot_challenges_pats_succeeded')
3204
+ self.bot_challenges_pats_succeeded = attributes[:'bot_challenges_pats_succeeded']
3205
+ end
3206
+
3207
+ if attributes.key?(:'bot_edge_requests_headless_count')
3208
+ self.bot_edge_requests_headless_count = attributes[:'bot_edge_requests_headless_count']
3209
+ end
3210
+
3211
+ if attributes.key?(:'status_499')
3212
+ self.status_499 = attributes[:'status_499']
3213
+ end
3214
+
3215
+ if attributes.key?(:'arc_requests')
3216
+ self.arc_requests = attributes[:'arc_requests']
3217
+ end
3218
+
3219
+ if attributes.key?(:'ddos_challenge_complete_tokens_checked')
3220
+ self.ddos_challenge_complete_tokens_checked = attributes[:'ddos_challenge_complete_tokens_checked']
3221
+ end
3222
+
3223
+ if attributes.key?(:'ddos_challenge_complete_tokens_passed')
3224
+ self.ddos_challenge_complete_tokens_passed = attributes[:'ddos_challenge_complete_tokens_passed']
137
3225
  end
138
3226
 
139
- if attributes.key?(:'ttfb_origin_p25_us')
140
- self.ttfb_origin_p25_us = attributes[:'ttfb_origin_p25_us']
3227
+ if attributes.key?(:'ddos_challenge_complete_tokens_failed')
3228
+ self.ddos_challenge_complete_tokens_failed = attributes[:'ddos_challenge_complete_tokens_failed']
141
3229
  end
142
3230
 
143
- if attributes.key?(:'ttfb_origin_p50_us')
144
- self.ttfb_origin_p50_us = attributes[:'ttfb_origin_p50_us']
3231
+ if attributes.key?(:'ddos_challenge_starts')
3232
+ self.ddos_challenge_starts = attributes[:'ddos_challenge_starts']
145
3233
  end
146
3234
 
147
- if attributes.key?(:'ttfb_origin_p75_us')
148
- self.ttfb_origin_p75_us = attributes[:'ttfb_origin_p75_us']
3235
+ if attributes.key?(:'ddos_challenge_complete_tokens_issued')
3236
+ self.ddos_challenge_complete_tokens_issued = attributes[:'ddos_challenge_complete_tokens_issued']
149
3237
  end
150
3238
 
151
- if attributes.key?(:'ttfb_origin_p95_us')
152
- self.ttfb_origin_p95_us = attributes[:'ttfb_origin_p95_us']
3239
+ if attributes.key?(:'ddos_challenges_issued')
3240
+ self.ddos_challenges_issued = attributes[:'ddos_challenges_issued']
153
3241
  end
154
3242
 
155
- if attributes.key?(:'ttfb_origin_p99_us')
156
- self.ttfb_origin_p99_us = attributes[:'ttfb_origin_p99_us']
3243
+ if attributes.key?(:'ddos_challenges_succeeded')
3244
+ self.ddos_challenges_succeeded = attributes[:'ddos_challenges_succeeded']
157
3245
  end
158
3246
 
159
- if attributes.key?(:'ttfb_shield_p25_us')
160
- self.ttfb_shield_p25_us = attributes[:'ttfb_shield_p25_us']
3247
+ if attributes.key?(:'ddos_challenges_failed')
3248
+ self.ddos_challenges_failed = attributes[:'ddos_challenges_failed']
161
3249
  end
162
3250
 
163
- if attributes.key?(:'ttfb_shield_p50_us')
164
- self.ttfb_shield_p50_us = attributes[:'ttfb_shield_p50_us']
3251
+ if attributes.key?(:'ddos_challenges_pats_issued')
3252
+ self.ddos_challenges_pats_issued = attributes[:'ddos_challenges_pats_issued']
165
3253
  end
166
3254
 
167
- if attributes.key?(:'ttfb_shield_p75_us')
168
- self.ttfb_shield_p75_us = attributes[:'ttfb_shield_p75_us']
3255
+ if attributes.key?(:'ddos_challenges_pats_succeeded')
3256
+ self.ddos_challenges_pats_succeeded = attributes[:'ddos_challenges_pats_succeeded']
169
3257
  end
170
3258
 
171
- if attributes.key?(:'ttfb_shield_p95_us')
172
- self.ttfb_shield_p95_us = attributes[:'ttfb_shield_p95_us']
3259
+ if attributes.key?(:'csp_pages_gauge')
3260
+ self.csp_pages_gauge = attributes[:'csp_pages_gauge']
173
3261
  end
174
3262
 
175
- if attributes.key?(:'ttfb_shield_p99_us')
176
- self.ttfb_shield_p99_us = attributes[:'ttfb_shield_p99_us']
3263
+ if attributes.key?(:'ngwaf_account_rules_gauge')
3264
+ self.ngwaf_account_rules_gauge = attributes[:'ngwaf_account_rules_gauge']
177
3265
  end
178
3266
 
179
- if attributes.key?(:'ttfb_edge_p25_us')
180
- self.ttfb_edge_p25_us = attributes[:'ttfb_edge_p25_us']
3267
+ if attributes.key?(:'ngwaf_account_workspaces')
3268
+ self.ngwaf_account_workspaces = attributes[:'ngwaf_account_workspaces']
181
3269
  end
182
3270
 
183
- if attributes.key?(:'ttfb_edge_p50_us')
184
- self.ttfb_edge_p50_us = attributes[:'ttfb_edge_p50_us']
3271
+ if attributes.key?(:'ngwaf_workspace_rules_gauge')
3272
+ self.ngwaf_workspace_rules_gauge = attributes[:'ngwaf_workspace_rules_gauge']
185
3273
  end
186
3274
 
187
- if attributes.key?(:'ttfb_edge_p75_us')
188
- self.ttfb_edge_p75_us = attributes[:'ttfb_edge_p75_us']
3275
+ if attributes.key?(:'ngwaf_workspace_thresholds_gauge')
3276
+ self.ngwaf_workspace_thresholds_gauge = attributes[:'ngwaf_workspace_thresholds_gauge']
189
3277
  end
190
3278
 
191
- if attributes.key?(:'ttfb_edge_p95_us')
192
- self.ttfb_edge_p95_us = attributes[:'ttfb_edge_p95_us']
3279
+ if attributes.key?(:'object_storage_buckets_count')
3280
+ self.object_storage_buckets_count = attributes[:'object_storage_buckets_count']
193
3281
  end
194
3282
 
195
- if attributes.key?(:'ttfb_edge_p99_us')
196
- self.ttfb_edge_p99_us = attributes[:'ttfb_edge_p99_us']
3283
+ if attributes.key?(:'object_storage_bytes_count')
3284
+ self.object_storage_bytes_count = attributes[:'object_storage_bytes_count']
197
3285
  end
198
3286
  end
199
3287
 
@@ -216,21 +3304,364 @@ module Fastly
216
3304
  return true if self.equal?(o)
217
3305
  self.class == o.class &&
218
3306
  timestamp == o.timestamp &&
219
- ttfb_origin_p25_us == o.ttfb_origin_p25_us &&
220
- ttfb_origin_p50_us == o.ttfb_origin_p50_us &&
221
- ttfb_origin_p75_us == o.ttfb_origin_p75_us &&
222
- ttfb_origin_p95_us == o.ttfb_origin_p95_us &&
223
- ttfb_origin_p99_us == o.ttfb_origin_p99_us &&
224
- ttfb_shield_p25_us == o.ttfb_shield_p25_us &&
225
- ttfb_shield_p50_us == o.ttfb_shield_p50_us &&
226
- ttfb_shield_p75_us == o.ttfb_shield_p75_us &&
227
- ttfb_shield_p95_us == o.ttfb_shield_p95_us &&
228
- ttfb_shield_p99_us == o.ttfb_shield_p99_us &&
229
- ttfb_edge_p25_us == o.ttfb_edge_p25_us &&
230
- ttfb_edge_p50_us == o.ttfb_edge_p50_us &&
231
- ttfb_edge_p75_us == o.ttfb_edge_p75_us &&
232
- ttfb_edge_p95_us == o.ttfb_edge_p95_us &&
233
- ttfb_edge_p99_us == o.ttfb_edge_p99_us
3307
+ datacenter == o.datacenter &&
3308
+ region == o.region &&
3309
+ requests == o.requests &&
3310
+ hits == o.hits &&
3311
+ hits_time == o.hits_time &&
3312
+ miss == o.miss &&
3313
+ miss_time == o.miss_time &&
3314
+ pass == o.pass &&
3315
+ pass_time == o.pass_time &&
3316
+ errors == o.errors &&
3317
+ restarts == o.restarts &&
3318
+ hit_ratio == o.hit_ratio &&
3319
+ bandwidth == o.bandwidth &&
3320
+ req_body_bytes == o.req_body_bytes &&
3321
+ req_header_bytes == o.req_header_bytes &&
3322
+ resp_body_bytes == o.resp_body_bytes &&
3323
+ resp_header_bytes == o.resp_header_bytes &&
3324
+ bereq_body_bytes == o.bereq_body_bytes &&
3325
+ bereq_header_bytes == o.bereq_header_bytes &&
3326
+ uncacheable == o.uncacheable &&
3327
+ pipe == o.pipe &&
3328
+ synth == o.synth &&
3329
+ tls == o.tls &&
3330
+ tls_v10 == o.tls_v10 &&
3331
+ tls_v11 == o.tls_v11 &&
3332
+ tls_v12 == o.tls_v12 &&
3333
+ tls_v13 == o.tls_v13 &&
3334
+ edge_requests == o.edge_requests &&
3335
+ edge_resp_header_bytes == o.edge_resp_header_bytes &&
3336
+ edge_resp_body_bytes == o.edge_resp_body_bytes &&
3337
+ edge_hit_requests == o.edge_hit_requests &&
3338
+ edge_miss_requests == o.edge_miss_requests &&
3339
+ origin_fetches == o.origin_fetches &&
3340
+ origin_fetch_header_bytes == o.origin_fetch_header_bytes &&
3341
+ origin_fetch_body_bytes == o.origin_fetch_body_bytes &&
3342
+ origin_fetch_resp_header_bytes == o.origin_fetch_resp_header_bytes &&
3343
+ origin_fetch_resp_body_bytes == o.origin_fetch_resp_body_bytes &&
3344
+ origin_revalidations == o.origin_revalidations &&
3345
+ origin_cache_fetches == o.origin_cache_fetches &&
3346
+ shield == o.shield &&
3347
+ shield_resp_body_bytes == o.shield_resp_body_bytes &&
3348
+ shield_resp_header_bytes == o.shield_resp_header_bytes &&
3349
+ shield_fetches == o.shield_fetches &&
3350
+ shield_fetch_header_bytes == o.shield_fetch_header_bytes &&
3351
+ shield_fetch_body_bytes == o.shield_fetch_body_bytes &&
3352
+ shield_fetch_resp_header_bytes == o.shield_fetch_resp_header_bytes &&
3353
+ shield_fetch_resp_body_bytes == o.shield_fetch_resp_body_bytes &&
3354
+ shield_revalidations == o.shield_revalidations &&
3355
+ shield_cache_fetches == o.shield_cache_fetches &&
3356
+ ipv6 == o.ipv6 &&
3357
+ otfp == o.otfp &&
3358
+ otfp_resp_body_bytes == o.otfp_resp_body_bytes &&
3359
+ otfp_resp_header_bytes == o.otfp_resp_header_bytes &&
3360
+ otfp_shield_resp_body_bytes == o.otfp_shield_resp_body_bytes &&
3361
+ otfp_shield_resp_header_bytes == o.otfp_shield_resp_header_bytes &&
3362
+ otfp_manifests == o.otfp_manifests &&
3363
+ otfp_deliver_time == o.otfp_deliver_time &&
3364
+ otfp_shield_time == o.otfp_shield_time &&
3365
+ video == o.video &&
3366
+ pci == o.pci &&
3367
+ log == o.log &&
3368
+ log_bytes == o.log_bytes &&
3369
+ http2 == o.http2 &&
3370
+ http3 == o.http3 &&
3371
+ attack_req_body_bytes == o.attack_req_body_bytes &&
3372
+ attack_req_header_bytes == o.attack_req_header_bytes &&
3373
+ attack_logged_req_body_bytes == o.attack_logged_req_body_bytes &&
3374
+ attack_logged_req_header_bytes == o.attack_logged_req_header_bytes &&
3375
+ attack_blocked_req_body_bytes == o.attack_blocked_req_body_bytes &&
3376
+ attack_blocked_req_header_bytes == o.attack_blocked_req_header_bytes &&
3377
+ attack_passed_req_body_bytes == o.attack_passed_req_body_bytes &&
3378
+ attack_passed_req_header_bytes == o.attack_passed_req_header_bytes &&
3379
+ attack_resp_synth_bytes == o.attack_resp_synth_bytes &&
3380
+ imgopto == o.imgopto &&
3381
+ imgopto_input_image_bytes == o.imgopto_input_image_bytes &&
3382
+ imgopto_output_image_bytes == o.imgopto_output_image_bytes &&
3383
+ imgopto_resp_body_bytes == o.imgopto_resp_body_bytes &&
3384
+ imgopto_resp_header_bytes == o.imgopto_resp_header_bytes &&
3385
+ imgopto_shield == o.imgopto_shield &&
3386
+ imgopto_shield_resp_body_bytes == o.imgopto_shield_resp_body_bytes &&
3387
+ imgopto_shield_resp_header_bytes == o.imgopto_shield_resp_header_bytes &&
3388
+ imgopto_transforms == o.imgopto_transforms &&
3389
+ imgvideo == o.imgvideo &&
3390
+ imgvideo_frames == o.imgvideo_frames &&
3391
+ imgvideo_resp_header_bytes == o.imgvideo_resp_header_bytes &&
3392
+ imgvideo_resp_body_bytes == o.imgvideo_resp_body_bytes &&
3393
+ imgvideo_shield_resp_header_bytes == o.imgvideo_shield_resp_header_bytes &&
3394
+ imgvideo_shield_resp_body_bytes == o.imgvideo_shield_resp_body_bytes &&
3395
+ imgvideo_shield == o.imgvideo_shield &&
3396
+ imgvideo_shield_frames == o.imgvideo_shield_frames &&
3397
+ status_200 == o.status_200 &&
3398
+ status_204 == o.status_204 &&
3399
+ status_206 == o.status_206 &&
3400
+ status_301 == o.status_301 &&
3401
+ status_302 == o.status_302 &&
3402
+ status_304 == o.status_304 &&
3403
+ status_400 == o.status_400 &&
3404
+ status_401 == o.status_401 &&
3405
+ status_403 == o.status_403 &&
3406
+ status_404 == o.status_404 &&
3407
+ status_406 == o.status_406 &&
3408
+ status_416 == o.status_416 &&
3409
+ status_429 == o.status_429 &&
3410
+ status_500 == o.status_500 &&
3411
+ status_501 == o.status_501 &&
3412
+ status_502 == o.status_502 &&
3413
+ status_503 == o.status_503 &&
3414
+ status_504 == o.status_504 &&
3415
+ status_505 == o.status_505 &&
3416
+ status_530 == o.status_530 &&
3417
+ status_1xx == o.status_1xx &&
3418
+ status_2xx == o.status_2xx &&
3419
+ status_3xx == o.status_3xx &&
3420
+ status_4xx == o.status_4xx &&
3421
+ status_5xx == o.status_5xx &&
3422
+ object_size_1k == o.object_size_1k &&
3423
+ object_size_10k == o.object_size_10k &&
3424
+ object_size_100k == o.object_size_100k &&
3425
+ object_size_1m == o.object_size_1m &&
3426
+ object_size_10m == o.object_size_10m &&
3427
+ object_size_100m == o.object_size_100m &&
3428
+ object_size_1g == o.object_size_1g &&
3429
+ recv_sub_time == o.recv_sub_time &&
3430
+ recv_sub_count == o.recv_sub_count &&
3431
+ hash_sub_time == o.hash_sub_time &&
3432
+ hash_sub_count == o.hash_sub_count &&
3433
+ miss_sub_time == o.miss_sub_time &&
3434
+ miss_sub_count == o.miss_sub_count &&
3435
+ fetch_sub_time == o.fetch_sub_time &&
3436
+ fetch_sub_count == o.fetch_sub_count &&
3437
+ pass_sub_time == o.pass_sub_time &&
3438
+ pass_sub_count == o.pass_sub_count &&
3439
+ pipe_sub_time == o.pipe_sub_time &&
3440
+ pipe_sub_count == o.pipe_sub_count &&
3441
+ deliver_sub_time == o.deliver_sub_time &&
3442
+ deliver_sub_count == o.deliver_sub_count &&
3443
+ error_sub_time == o.error_sub_time &&
3444
+ error_sub_count == o.error_sub_count &&
3445
+ hit_sub_time == o.hit_sub_time &&
3446
+ hit_sub_count == o.hit_sub_count &&
3447
+ prehash_sub_time == o.prehash_sub_time &&
3448
+ prehash_sub_count == o.prehash_sub_count &&
3449
+ predeliver_sub_time == o.predeliver_sub_time &&
3450
+ predeliver_sub_count == o.predeliver_sub_count &&
3451
+ tls_handshake_sent_bytes == o.tls_handshake_sent_bytes &&
3452
+ hit_resp_body_bytes == o.hit_resp_body_bytes &&
3453
+ miss_resp_body_bytes == o.miss_resp_body_bytes &&
3454
+ pass_resp_body_bytes == o.pass_resp_body_bytes &&
3455
+ segblock_origin_fetches == o.segblock_origin_fetches &&
3456
+ segblock_shield_fetches == o.segblock_shield_fetches &&
3457
+ compute_requests == o.compute_requests &&
3458
+ compute_request_time_ms == o.compute_request_time_ms &&
3459
+ compute_request_time_billed_ms == o.compute_request_time_billed_ms &&
3460
+ compute_ram_used == o.compute_ram_used &&
3461
+ compute_execution_time_ms == o.compute_execution_time_ms &&
3462
+ compute_req_header_bytes == o.compute_req_header_bytes &&
3463
+ compute_req_body_bytes == o.compute_req_body_bytes &&
3464
+ compute_resp_header_bytes == o.compute_resp_header_bytes &&
3465
+ compute_resp_body_bytes == o.compute_resp_body_bytes &&
3466
+ compute_resp_status_1xx == o.compute_resp_status_1xx &&
3467
+ compute_resp_status_2xx == o.compute_resp_status_2xx &&
3468
+ compute_resp_status_3xx == o.compute_resp_status_3xx &&
3469
+ compute_resp_status_4xx == o.compute_resp_status_4xx &&
3470
+ compute_resp_status_5xx == o.compute_resp_status_5xx &&
3471
+ compute_bereq_header_bytes == o.compute_bereq_header_bytes &&
3472
+ compute_bereq_body_bytes == o.compute_bereq_body_bytes &&
3473
+ compute_beresp_header_bytes == o.compute_beresp_header_bytes &&
3474
+ compute_beresp_body_bytes == o.compute_beresp_body_bytes &&
3475
+ compute_bereqs == o.compute_bereqs &&
3476
+ compute_service_bereq_error == o.compute_service_bereq_error &&
3477
+ compute_service_memory_exceeded_error == o.compute_service_memory_exceeded_error &&
3478
+ edge_hit_resp_body_bytes == o.edge_hit_resp_body_bytes &&
3479
+ edge_hit_resp_header_bytes == o.edge_hit_resp_header_bytes &&
3480
+ edge_miss_resp_body_bytes == o.edge_miss_resp_body_bytes &&
3481
+ edge_miss_resp_header_bytes == o.edge_miss_resp_header_bytes &&
3482
+ origin_cache_fetch_resp_body_bytes == o.origin_cache_fetch_resp_body_bytes &&
3483
+ origin_cache_fetch_resp_header_bytes == o.origin_cache_fetch_resp_header_bytes &&
3484
+ shield_hit_requests == o.shield_hit_requests &&
3485
+ shield_miss_requests == o.shield_miss_requests &&
3486
+ shield_hit_resp_header_bytes == o.shield_hit_resp_header_bytes &&
3487
+ shield_hit_resp_body_bytes == o.shield_hit_resp_body_bytes &&
3488
+ shield_miss_resp_header_bytes == o.shield_miss_resp_header_bytes &&
3489
+ shield_miss_resp_body_bytes == o.shield_miss_resp_body_bytes &&
3490
+ websocket_req_header_bytes == o.websocket_req_header_bytes &&
3491
+ websocket_req_body_bytes == o.websocket_req_body_bytes &&
3492
+ websocket_resp_header_bytes == o.websocket_resp_header_bytes &&
3493
+ websocket_resp_body_bytes == o.websocket_resp_body_bytes &&
3494
+ websocket_bereq_header_bytes == o.websocket_bereq_header_bytes &&
3495
+ websocket_bereq_body_bytes == o.websocket_bereq_body_bytes &&
3496
+ websocket_beresp_header_bytes == o.websocket_beresp_header_bytes &&
3497
+ websocket_beresp_body_bytes == o.websocket_beresp_body_bytes &&
3498
+ websocket_conn_time_ms == o.websocket_conn_time_ms &&
3499
+ fanout_recv_publishes == o.fanout_recv_publishes &&
3500
+ fanout_send_publishes == o.fanout_send_publishes &&
3501
+ kv_store_class_a_operations == o.kv_store_class_a_operations &&
3502
+ kv_store_class_b_operations == o.kv_store_class_b_operations &&
3503
+ fanout_req_header_bytes == o.fanout_req_header_bytes &&
3504
+ fanout_req_body_bytes == o.fanout_req_body_bytes &&
3505
+ fanout_resp_header_bytes == o.fanout_resp_header_bytes &&
3506
+ fanout_resp_body_bytes == o.fanout_resp_body_bytes &&
3507
+ fanout_bereq_header_bytes == o.fanout_bereq_header_bytes &&
3508
+ fanout_bereq_body_bytes == o.fanout_bereq_body_bytes &&
3509
+ fanout_beresp_header_bytes == o.fanout_beresp_header_bytes &&
3510
+ fanout_beresp_body_bytes == o.fanout_beresp_body_bytes &&
3511
+ fanout_conn_time_ms == o.fanout_conn_time_ms &&
3512
+ ddos_action_limit_streams_connections == o.ddos_action_limit_streams_connections &&
3513
+ ddos_action_limit_streams_requests == o.ddos_action_limit_streams_requests &&
3514
+ ddos_action_tarpit_accept == o.ddos_action_tarpit_accept &&
3515
+ ddos_action_tarpit == o.ddos_action_tarpit &&
3516
+ ddos_action_close == o.ddos_action_close &&
3517
+ ddos_action_blackhole == o.ddos_action_blackhole &&
3518
+ bot_challenge_starts == o.bot_challenge_starts &&
3519
+ bot_challenge_complete_tokens_passed == o.bot_challenge_complete_tokens_passed &&
3520
+ bot_challenge_complete_tokens_failed == o.bot_challenge_complete_tokens_failed &&
3521
+ bot_challenge_complete_tokens_checked == o.bot_challenge_complete_tokens_checked &&
3522
+ bot_challenge_complete_tokens_disabled == o.bot_challenge_complete_tokens_disabled &&
3523
+ bot_challenge_complete_tokens_issued == o.bot_challenge_complete_tokens_issued &&
3524
+ bot_challenges_issued == o.bot_challenges_issued &&
3525
+ bot_challenges_succeeded == o.bot_challenges_succeeded &&
3526
+ bot_challenges_failed == o.bot_challenges_failed &&
3527
+ ddos_action_downgrade == o.ddos_action_downgrade &&
3528
+ ddos_action_downgraded_connections == o.ddos_action_downgraded_connections &&
3529
+ all_hit_requests == o.all_hit_requests &&
3530
+ all_miss_requests == o.all_miss_requests &&
3531
+ all_pass_requests == o.all_pass_requests &&
3532
+ all_error_requests == o.all_error_requests &&
3533
+ all_synth_requests == o.all_synth_requests &&
3534
+ all_edge_hit_requests == o.all_edge_hit_requests &&
3535
+ all_edge_miss_requests == o.all_edge_miss_requests &&
3536
+ all_status_1xx == o.all_status_1xx &&
3537
+ all_status_2xx == o.all_status_2xx &&
3538
+ all_status_3xx == o.all_status_3xx &&
3539
+ all_status_4xx == o.all_status_4xx &&
3540
+ all_status_5xx == o.all_status_5xx &&
3541
+ origin_offload == o.origin_offload &&
3542
+ request_denied_get_head_body == o.request_denied_get_head_body &&
3543
+ ddos_protection_requests_detect_count == o.ddos_protection_requests_detect_count &&
3544
+ ddos_protection_requests_mitigate_count == o.ddos_protection_requests_mitigate_count &&
3545
+ ddos_protection_requests_allow_count == o.ddos_protection_requests_allow_count &&
3546
+ object_storage_class_a_operations_count == o.object_storage_class_a_operations_count &&
3547
+ object_storage_class_b_operations_count == o.object_storage_class_b_operations_count &&
3548
+ aia_requests == o.aia_requests &&
3549
+ aia_status_1xx == o.aia_status_1xx &&
3550
+ aia_status_2xx == o.aia_status_2xx &&
3551
+ aia_status_3xx == o.aia_status_3xx &&
3552
+ aia_status_4xx == o.aia_status_4xx &&
3553
+ aia_status_5xx == o.aia_status_5xx &&
3554
+ aia_response_usage_tokens == o.aia_response_usage_tokens &&
3555
+ aia_origin_usage_tokens == o.aia_origin_usage_tokens &&
3556
+ aia_estimated_time_saved_ms == o.aia_estimated_time_saved_ms &&
3557
+ request_collapse_usable_count == o.request_collapse_usable_count &&
3558
+ request_collapse_unusable_count == o.request_collapse_unusable_count &&
3559
+ compute_cache_operations_count == o.compute_cache_operations_count &&
3560
+ ngwaf_requests_total_count == o.ngwaf_requests_total_count &&
3561
+ ngwaf_requests_unknown_count == o.ngwaf_requests_unknown_count &&
3562
+ ngwaf_requests_allowed_count == o.ngwaf_requests_allowed_count &&
3563
+ ngwaf_requests_logged_count == o.ngwaf_requests_logged_count &&
3564
+ ngwaf_requests_blocked_count == o.ngwaf_requests_blocked_count &&
3565
+ ngwaf_requests_timeout_count == o.ngwaf_requests_timeout_count &&
3566
+ ngwaf_requests_challenged_count == o.ngwaf_requests_challenged_count &&
3567
+ api_discovery_requests_count == o.api_discovery_requests_count &&
3568
+ compute_resp_status_103 == o.compute_resp_status_103 &&
3569
+ compute_resp_status_200 == o.compute_resp_status_200 &&
3570
+ compute_resp_status_204 == o.compute_resp_status_204 &&
3571
+ compute_resp_status_206 == o.compute_resp_status_206 &&
3572
+ compute_resp_status_301 == o.compute_resp_status_301 &&
3573
+ compute_resp_status_302 == o.compute_resp_status_302 &&
3574
+ compute_resp_status_304 == o.compute_resp_status_304 &&
3575
+ compute_resp_status_400 == o.compute_resp_status_400 &&
3576
+ compute_resp_status_401 == o.compute_resp_status_401 &&
3577
+ compute_resp_status_403 == o.compute_resp_status_403 &&
3578
+ compute_resp_status_404 == o.compute_resp_status_404 &&
3579
+ compute_resp_status_416 == o.compute_resp_status_416 &&
3580
+ compute_resp_status_429 == o.compute_resp_status_429 &&
3581
+ compute_resp_status_500 == o.compute_resp_status_500 &&
3582
+ compute_resp_status_501 == o.compute_resp_status_501 &&
3583
+ compute_resp_status_502 == o.compute_resp_status_502 &&
3584
+ compute_resp_status_503 == o.compute_resp_status_503 &&
3585
+ compute_resp_status_504 == o.compute_resp_status_504 &&
3586
+ compute_resp_status_505 == o.compute_resp_status_505 &&
3587
+ compute_resp_status_530 == o.compute_resp_status_530 &&
3588
+ imgopto_compute_requests == o.imgopto_compute_requests &&
3589
+ dns_billable_responses_count == o.dns_billable_responses_count &&
3590
+ dns_nonbillable_responses_count == o.dns_nonbillable_responses_count &&
3591
+ upgrade == o.upgrade &&
3592
+ ngwaf_bot_analysis_request_count == o.ngwaf_bot_analysis_request_count &&
3593
+ imgopto_avif_count == o.imgopto_avif_count &&
3594
+ imgopto_jpeg_count == o.imgopto_jpeg_count &&
3595
+ imgopto_png_count == o.imgopto_png_count &&
3596
+ imgopto_gif_count == o.imgopto_gif_count &&
3597
+ imgopto_webp_count == o.imgopto_webp_count &&
3598
+ imgopto_jpegxl_count == o.imgopto_jpegxl_count &&
3599
+ imgopto_svg_count == o.imgopto_svg_count &&
3600
+ imgopto_mp4_count == o.imgopto_mp4_count &&
3601
+ compute_service_resource_limits_error == o.compute_service_resource_limits_error &&
3602
+ compute_service_runtime_error == o.compute_service_runtime_error &&
3603
+ compute_service_chain_error == o.compute_service_chain_error &&
3604
+ compute_platform_internal_error == o.compute_platform_internal_error &&
3605
+ compute_service_timeout_error == o.compute_service_timeout_error &&
3606
+ compute_service_vcpu_exceeded_error == o.compute_service_vcpu_exceeded_error &&
3607
+ compute_service_limits_error == o.compute_service_limits_error &&
3608
+ compute_platform_invalid_request_error == o.compute_platform_invalid_request_error &&
3609
+ compute_sandboxes == o.compute_sandboxes &&
3610
+ bot_requests_total_count == o.bot_requests_total_count &&
3611
+ bot_edge_requests_analyzed_count == o.bot_edge_requests_analyzed_count &&
3612
+ bot_edge_requests_detected_count == o.bot_edge_requests_detected_count &&
3613
+ bot_edge_requests_verified_count == o.bot_edge_requests_verified_count &&
3614
+ bot_edge_requests_ai_crawler_count == o.bot_edge_requests_ai_crawler_count &&
3615
+ bot_edge_requests_ai_fetcher_count == o.bot_edge_requests_ai_fetcher_count &&
3616
+ bot_edge_requests_accessibility_count == o.bot_edge_requests_accessibility_count &&
3617
+ bot_edge_requests_content_fetcher_count == o.bot_edge_requests_content_fetcher_count &&
3618
+ bot_edge_requests_monitoring_count == o.bot_edge_requests_monitoring_count &&
3619
+ bot_edge_requests_online_marketing_count == o.bot_edge_requests_online_marketing_count &&
3620
+ bot_edge_requests_page_preview_count == o.bot_edge_requests_page_preview_count &&
3621
+ bot_edge_requests_platform_integrations_count == o.bot_edge_requests_platform_integrations_count &&
3622
+ bot_edge_requests_research_count == o.bot_edge_requests_research_count &&
3623
+ bot_edge_requests_search_engine_crawler_count == o.bot_edge_requests_search_engine_crawler_count &&
3624
+ bot_edge_requests_search_engine_optimization_count == o.bot_edge_requests_search_engine_optimization_count &&
3625
+ bot_edge_requests_security_tools_count == o.bot_edge_requests_security_tools_count &&
3626
+ compute_handoff == o.compute_handoff &&
3627
+ compute_service_bereq_dns_error == o.compute_service_bereq_dns_error &&
3628
+ compute_service_bereq_conn_timeout_error == o.compute_service_bereq_conn_timeout_error &&
3629
+ compute_service_bereq_conn_refused_error == o.compute_service_bereq_conn_refused_error &&
3630
+ compute_service_bereq_conn_other_error == o.compute_service_bereq_conn_other_error &&
3631
+ compute_service_bereq_tls_server_cert_error == o.compute_service_bereq_tls_server_cert_error &&
3632
+ compute_service_bereq_tls_other_error == o.compute_service_bereq_tls_other_error &&
3633
+ compute_service_bereq_http_proto_v1_error == o.compute_service_bereq_http_proto_v1_error &&
3634
+ compute_service_bereq_http_proto_v2_error == o.compute_service_bereq_http_proto_v2_error &&
3635
+ compute_service_bereq_http_incomplete_error == o.compute_service_bereq_http_incomplete_error &&
3636
+ compute_service_bereq_http_timeout_error == o.compute_service_bereq_http_timeout_error &&
3637
+ compute_service_bereq_http_other_error == o.compute_service_bereq_http_other_error &&
3638
+ compute_service_bereq_other_error == o.compute_service_bereq_other_error &&
3639
+ compute_service_bereq_5xx_error == o.compute_service_bereq_5xx_error &&
3640
+ compute_service_bereq_conn_error == o.compute_service_bereq_conn_error &&
3641
+ compute_service_bereq_tls_error == o.compute_service_bereq_tls_error &&
3642
+ compute_service_bereq_http_error == o.compute_service_bereq_http_error &&
3643
+ bot_challenges_pats_issued == o.bot_challenges_pats_issued &&
3644
+ bot_challenges_pats_succeeded == o.bot_challenges_pats_succeeded &&
3645
+ bot_edge_requests_headless_count == o.bot_edge_requests_headless_count &&
3646
+ status_499 == o.status_499 &&
3647
+ arc_requests == o.arc_requests &&
3648
+ ddos_challenge_complete_tokens_checked == o.ddos_challenge_complete_tokens_checked &&
3649
+ ddos_challenge_complete_tokens_passed == o.ddos_challenge_complete_tokens_passed &&
3650
+ ddos_challenge_complete_tokens_failed == o.ddos_challenge_complete_tokens_failed &&
3651
+ ddos_challenge_starts == o.ddos_challenge_starts &&
3652
+ ddos_challenge_complete_tokens_issued == o.ddos_challenge_complete_tokens_issued &&
3653
+ ddos_challenges_issued == o.ddos_challenges_issued &&
3654
+ ddos_challenges_succeeded == o.ddos_challenges_succeeded &&
3655
+ ddos_challenges_failed == o.ddos_challenges_failed &&
3656
+ ddos_challenges_pats_issued == o.ddos_challenges_pats_issued &&
3657
+ ddos_challenges_pats_succeeded == o.ddos_challenges_pats_succeeded &&
3658
+ csp_pages_gauge == o.csp_pages_gauge &&
3659
+ ngwaf_account_rules_gauge == o.ngwaf_account_rules_gauge &&
3660
+ ngwaf_account_workspaces == o.ngwaf_account_workspaces &&
3661
+ ngwaf_workspace_rules_gauge == o.ngwaf_workspace_rules_gauge &&
3662
+ ngwaf_workspace_thresholds_gauge == o.ngwaf_workspace_thresholds_gauge &&
3663
+ object_storage_buckets_count == o.object_storage_buckets_count &&
3664
+ object_storage_bytes_count == o.object_storage_bytes_count
234
3665
  end
235
3666
 
236
3667
  # @see the `==` method
@@ -242,7 +3673,7 @@ module Fastly
242
3673
  # Calculates hash code according to all attributes.
243
3674
  # @return [Integer] Hash code
244
3675
  def hash
245
- [timestamp, ttfb_origin_p25_us, ttfb_origin_p50_us, ttfb_origin_p75_us, ttfb_origin_p95_us, ttfb_origin_p99_us, ttfb_shield_p25_us, ttfb_shield_p50_us, ttfb_shield_p75_us, ttfb_shield_p95_us, ttfb_shield_p99_us, ttfb_edge_p25_us, ttfb_edge_p50_us, ttfb_edge_p75_us, ttfb_edge_p95_us, ttfb_edge_p99_us].hash
3676
+ [timestamp, datacenter, region, requests, hits, hits_time, miss, miss_time, pass, pass_time, errors, restarts, hit_ratio, bandwidth, req_body_bytes, req_header_bytes, resp_body_bytes, resp_header_bytes, bereq_body_bytes, bereq_header_bytes, uncacheable, pipe, synth, tls, tls_v10, tls_v11, tls_v12, tls_v13, edge_requests, edge_resp_header_bytes, edge_resp_body_bytes, edge_hit_requests, edge_miss_requests, origin_fetches, origin_fetch_header_bytes, origin_fetch_body_bytes, origin_fetch_resp_header_bytes, origin_fetch_resp_body_bytes, origin_revalidations, origin_cache_fetches, shield, shield_resp_body_bytes, shield_resp_header_bytes, shield_fetches, shield_fetch_header_bytes, shield_fetch_body_bytes, shield_fetch_resp_header_bytes, shield_fetch_resp_body_bytes, shield_revalidations, shield_cache_fetches, ipv6, otfp, otfp_resp_body_bytes, otfp_resp_header_bytes, otfp_shield_resp_body_bytes, otfp_shield_resp_header_bytes, otfp_manifests, otfp_deliver_time, otfp_shield_time, video, pci, log, log_bytes, http2, http3, attack_req_body_bytes, attack_req_header_bytes, attack_logged_req_body_bytes, attack_logged_req_header_bytes, attack_blocked_req_body_bytes, attack_blocked_req_header_bytes, attack_passed_req_body_bytes, attack_passed_req_header_bytes, attack_resp_synth_bytes, imgopto, imgopto_input_image_bytes, imgopto_output_image_bytes, imgopto_resp_body_bytes, imgopto_resp_header_bytes, imgopto_shield, imgopto_shield_resp_body_bytes, imgopto_shield_resp_header_bytes, imgopto_transforms, imgvideo, imgvideo_frames, imgvideo_resp_header_bytes, imgvideo_resp_body_bytes, imgvideo_shield_resp_header_bytes, imgvideo_shield_resp_body_bytes, imgvideo_shield, imgvideo_shield_frames, status_200, status_204, status_206, status_301, status_302, status_304, status_400, status_401, status_403, status_404, status_406, status_416, status_429, status_500, status_501, status_502, status_503, status_504, status_505, status_530, status_1xx, status_2xx, status_3xx, status_4xx, status_5xx, object_size_1k, object_size_10k, object_size_100k, object_size_1m, object_size_10m, object_size_100m, object_size_1g, recv_sub_time, recv_sub_count, hash_sub_time, hash_sub_count, miss_sub_time, miss_sub_count, fetch_sub_time, fetch_sub_count, pass_sub_time, pass_sub_count, pipe_sub_time, pipe_sub_count, deliver_sub_time, deliver_sub_count, error_sub_time, error_sub_count, hit_sub_time, hit_sub_count, prehash_sub_time, prehash_sub_count, predeliver_sub_time, predeliver_sub_count, tls_handshake_sent_bytes, hit_resp_body_bytes, miss_resp_body_bytes, pass_resp_body_bytes, segblock_origin_fetches, segblock_shield_fetches, compute_requests, compute_request_time_ms, compute_request_time_billed_ms, compute_ram_used, compute_execution_time_ms, compute_req_header_bytes, compute_req_body_bytes, compute_resp_header_bytes, compute_resp_body_bytes, compute_resp_status_1xx, compute_resp_status_2xx, compute_resp_status_3xx, compute_resp_status_4xx, compute_resp_status_5xx, compute_bereq_header_bytes, compute_bereq_body_bytes, compute_beresp_header_bytes, compute_beresp_body_bytes, compute_bereqs, compute_service_bereq_error, compute_service_memory_exceeded_error, edge_hit_resp_body_bytes, edge_hit_resp_header_bytes, edge_miss_resp_body_bytes, edge_miss_resp_header_bytes, origin_cache_fetch_resp_body_bytes, origin_cache_fetch_resp_header_bytes, shield_hit_requests, shield_miss_requests, shield_hit_resp_header_bytes, shield_hit_resp_body_bytes, shield_miss_resp_header_bytes, shield_miss_resp_body_bytes, websocket_req_header_bytes, websocket_req_body_bytes, websocket_resp_header_bytes, websocket_resp_body_bytes, websocket_bereq_header_bytes, websocket_bereq_body_bytes, websocket_beresp_header_bytes, websocket_beresp_body_bytes, websocket_conn_time_ms, fanout_recv_publishes, fanout_send_publishes, kv_store_class_a_operations, kv_store_class_b_operations, fanout_req_header_bytes, fanout_req_body_bytes, fanout_resp_header_bytes, fanout_resp_body_bytes, fanout_bereq_header_bytes, fanout_bereq_body_bytes, fanout_beresp_header_bytes, fanout_beresp_body_bytes, fanout_conn_time_ms, ddos_action_limit_streams_connections, ddos_action_limit_streams_requests, ddos_action_tarpit_accept, ddos_action_tarpit, ddos_action_close, ddos_action_blackhole, bot_challenge_starts, bot_challenge_complete_tokens_passed, bot_challenge_complete_tokens_failed, bot_challenge_complete_tokens_checked, bot_challenge_complete_tokens_disabled, bot_challenge_complete_tokens_issued, bot_challenges_issued, bot_challenges_succeeded, bot_challenges_failed, ddos_action_downgrade, ddos_action_downgraded_connections, all_hit_requests, all_miss_requests, all_pass_requests, all_error_requests, all_synth_requests, all_edge_hit_requests, all_edge_miss_requests, all_status_1xx, all_status_2xx, all_status_3xx, all_status_4xx, all_status_5xx, origin_offload, request_denied_get_head_body, ddos_protection_requests_detect_count, ddos_protection_requests_mitigate_count, ddos_protection_requests_allow_count, object_storage_class_a_operations_count, object_storage_class_b_operations_count, aia_requests, aia_status_1xx, aia_status_2xx, aia_status_3xx, aia_status_4xx, aia_status_5xx, aia_response_usage_tokens, aia_origin_usage_tokens, aia_estimated_time_saved_ms, request_collapse_usable_count, request_collapse_unusable_count, compute_cache_operations_count, ngwaf_requests_total_count, ngwaf_requests_unknown_count, ngwaf_requests_allowed_count, ngwaf_requests_logged_count, ngwaf_requests_blocked_count, ngwaf_requests_timeout_count, ngwaf_requests_challenged_count, api_discovery_requests_count, compute_resp_status_103, compute_resp_status_200, compute_resp_status_204, compute_resp_status_206, compute_resp_status_301, compute_resp_status_302, compute_resp_status_304, compute_resp_status_400, compute_resp_status_401, compute_resp_status_403, compute_resp_status_404, compute_resp_status_416, compute_resp_status_429, compute_resp_status_500, compute_resp_status_501, compute_resp_status_502, compute_resp_status_503, compute_resp_status_504, compute_resp_status_505, compute_resp_status_530, imgopto_compute_requests, dns_billable_responses_count, dns_nonbillable_responses_count, upgrade, ngwaf_bot_analysis_request_count, imgopto_avif_count, imgopto_jpeg_count, imgopto_png_count, imgopto_gif_count, imgopto_webp_count, imgopto_jpegxl_count, imgopto_svg_count, imgopto_mp4_count, compute_service_resource_limits_error, compute_service_runtime_error, compute_service_chain_error, compute_platform_internal_error, compute_service_timeout_error, compute_service_vcpu_exceeded_error, compute_service_limits_error, compute_platform_invalid_request_error, compute_sandboxes, bot_requests_total_count, bot_edge_requests_analyzed_count, bot_edge_requests_detected_count, bot_edge_requests_verified_count, bot_edge_requests_ai_crawler_count, bot_edge_requests_ai_fetcher_count, bot_edge_requests_accessibility_count, bot_edge_requests_content_fetcher_count, bot_edge_requests_monitoring_count, bot_edge_requests_online_marketing_count, bot_edge_requests_page_preview_count, bot_edge_requests_platform_integrations_count, bot_edge_requests_research_count, bot_edge_requests_search_engine_crawler_count, bot_edge_requests_search_engine_optimization_count, bot_edge_requests_security_tools_count, compute_handoff, compute_service_bereq_dns_error, compute_service_bereq_conn_timeout_error, compute_service_bereq_conn_refused_error, compute_service_bereq_conn_other_error, compute_service_bereq_tls_server_cert_error, compute_service_bereq_tls_other_error, compute_service_bereq_http_proto_v1_error, compute_service_bereq_http_proto_v2_error, compute_service_bereq_http_incomplete_error, compute_service_bereq_http_timeout_error, compute_service_bereq_http_other_error, compute_service_bereq_other_error, compute_service_bereq_5xx_error, compute_service_bereq_conn_error, compute_service_bereq_tls_error, compute_service_bereq_http_error, bot_challenges_pats_issued, bot_challenges_pats_succeeded, bot_edge_requests_headless_count, status_499, arc_requests, ddos_challenge_complete_tokens_checked, ddos_challenge_complete_tokens_passed, ddos_challenge_complete_tokens_failed, ddos_challenge_starts, ddos_challenge_complete_tokens_issued, ddos_challenges_issued, ddos_challenges_succeeded, ddos_challenges_failed, ddos_challenges_pats_issued, ddos_challenges_pats_succeeded, csp_pages_gauge, ngwaf_account_rules_gauge, ngwaf_account_workspaces, ngwaf_workspace_rules_gauge, ngwaf_workspace_thresholds_gauge, object_storage_buckets_count, object_storage_bytes_count].hash
246
3677
  end
247
3678
 
248
3679
  # Builds the object from hash