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