fastly 11.0.0 → 13.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 (470) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +57 -0
  3. data/Gemfile.lock +3 -3
  4. data/README.md +59 -56
  5. data/docs/AclsInComputeApi.md +1 -1
  6. data/docs/Backend.md +1 -0
  7. data/docs/BackendApi.md +4 -0
  8. data/docs/BackendResponse.md +1 -0
  9. data/docs/BotManagementResponseBodyGetAllServices.md +13 -0
  10. data/docs/{RelationshipWafFirewallWafFirewall.md → BotManagementResponseCustomer.md} +2 -2
  11. data/docs/{RelationshipWafActiveRulesWafActiveRules.md → BotManagementResponseCustomerCustomer.md} +3 -2
  12. data/docs/{RelationshipWafFirewall.md → BotManagementResponseEnabledServices.md} +2 -2
  13. data/docs/BotManagementResponseLinksGetAllServices.md +10 -0
  14. data/docs/BotManagementResponseLinksGetAllServicesLinks.md +10 -0
  15. data/docs/BrotliCompressionResponseBodyGetAllServices.md +13 -0
  16. data/docs/BrotliCompressionResponseCustomer.md +10 -0
  17. data/docs/BrotliCompressionResponseEnabledServices.md +10 -0
  18. data/docs/{RelationshipWafRuleRevision.md → BrotliCompressionResponseLinksGetAllServices.md} +2 -2
  19. data/docs/BrotliCompressionResponseLinksGetAllServicesLinks.md +10 -0
  20. data/docs/ComputeAclUpdateEntry.md +2 -2
  21. data/docs/{TypeWafRule.md → DdosProtectionAction.md} +1 -1
  22. data/docs/DdosProtectionApi.md +223 -0
  23. data/docs/DdosProtectionAttributeStats.md +11 -0
  24. data/docs/{RelationshipWafActiveRules.md → DdosProtectionAttributeValue.md} +3 -2
  25. data/docs/DdosProtectionError.md +13 -0
  26. data/docs/{IncludedWithWafFirewallVersionItem.md → DdosProtectionErrorErrors.md} +3 -2
  27. data/docs/DdosProtectionEvent.md +17 -0
  28. data/docs/DdosProtectionEventAllOf.md +15 -0
  29. data/docs/{RelationshipWafTags.md → DdosProtectionNotAuthenticated.md} +3 -2
  30. data/docs/DdosProtectionNotFound.md +11 -0
  31. data/docs/DdosProtectionResponseBodyGetAllServices.md +13 -0
  32. data/docs/DdosProtectionResponseCustomer.md +10 -0
  33. data/docs/DdosProtectionResponseEnabledServices.md +10 -0
  34. data/docs/{WafFirewall.md → DdosProtectionResponseLinksGetAllServices.md} +2 -2
  35. data/docs/{BulkWafActiveRules.md → DdosProtectionResponseLinksGetAllServicesLinks.md} +2 -2
  36. data/docs/DdosProtectionRule.md +22 -0
  37. data/docs/DdosProtectionRuleAllOf.md +20 -0
  38. data/docs/{TypeWafFirewallVersion.md → DdosProtectionTrafficAttribute.md} +1 -1
  39. data/docs/DdosProtectionTrafficStats.md +14 -0
  40. data/docs/DdosProtectionTrafficStatsAllOf.md +12 -0
  41. data/docs/DictionaryApi.md +15 -15
  42. data/docs/DictionaryInfoApi.md +3 -3
  43. data/docs/DictionaryItemApi.md +22 -22
  44. data/docs/DomainInspectorResponseBodyGetAllServices.md +13 -0
  45. data/docs/DomainInspectorResponseCustomer.md +10 -0
  46. data/docs/DomainInspectorResponseEnabledServices.md +10 -0
  47. data/docs/{WafExclusion.md → DomainInspectorResponseLinksGetAllServices.md} +2 -2
  48. data/docs/DomainInspectorResponseLinksGetAllServicesLinks.md +10 -0
  49. data/docs/DomainOwnershipsApi.md +2 -2
  50. data/docs/FanoutResponseBodyGetAllServices.md +13 -0
  51. data/docs/FanoutResponseCustomer.md +10 -0
  52. data/docs/{RelationshipWafRules.md → FanoutResponseEnabledServices.md} +2 -2
  53. data/docs/FanoutResponseLinksGetAllServices.md +10 -0
  54. data/docs/{TypeWafFirewall.md → FanoutResponseLinksGetAllServicesLinks.md} +2 -1
  55. data/docs/HistoricalApi.md +10 -10
  56. data/docs/ImageOptimizerResponseBodyGetAllServices.md +13 -0
  57. data/docs/ImageOptimizerResponseCustomer.md +10 -0
  58. data/docs/ImageOptimizerResponseEnabledServices.md +10 -0
  59. data/docs/ImageOptimizerResponseLinksGetAllServices.md +10 -0
  60. data/docs/ImageOptimizerResponseLinksGetAllServicesLinks.md +10 -0
  61. data/docs/InlineResponse2002.md +2 -1
  62. data/docs/InlineResponse2003.md +1 -1
  63. data/docs/InlineResponse2004.md +1 -2
  64. data/docs/InlineResponse2005.md +1 -1
  65. data/docs/InlineResponse2006.md +1 -1
  66. data/docs/InlineResponse2007.md +2 -1
  67. data/docs/InlineResponse2008.md +11 -0
  68. data/docs/InlineResponse2009.md +10 -0
  69. data/docs/KvStoreApi.md +2 -2
  70. data/docs/KvStoreItemApi.md +2 -2
  71. data/docs/KvStoreRequestCreate.md +1 -1
  72. data/docs/LogAggregationsFilterFieldItem.md +12 -0
  73. data/docs/LogAggregationsGetResponse.md +11 -0
  74. data/docs/LogAggregationsGetResponseMeta.md +15 -0
  75. data/docs/LogAggregationsGetResponseMetaFilters.md +10 -0
  76. data/docs/LogAggregationsResult.md +11 -0
  77. data/docs/{WafActiveRuleCreationResponse.md → LogAggregationsValueField.md} +19 -9
  78. data/docs/LogExplorerInsightsResponseBodyGetAllServices.md +13 -0
  79. data/docs/LogExplorerInsightsResponseCustomer.md +10 -0
  80. data/docs/LogExplorerInsightsResponseEnabledServices.md +10 -0
  81. data/docs/LogExplorerInsightsResponseLinksGetAllServices.md +10 -0
  82. data/docs/LogExplorerInsightsResponseLinksGetAllServicesLinks.md +10 -0
  83. data/docs/LogTimeseriesFilterFieldItem.md +12 -0
  84. data/docs/LogTimeseriesGetResponse.md +11 -0
  85. data/docs/LogTimeseriesGetResponseMeta.md +14 -0
  86. data/docs/LogTimeseriesGetResponseMetaFilters.md +10 -0
  87. data/docs/LogTimeseriesResult.md +11 -0
  88. data/docs/{TypeWafActiveRule.md → LogTimeseriesResultDimensions.md} +2 -1
  89. data/docs/{WafRuleRevisionOrLatest.md → LogTimeseriesValueField.md} +15 -5
  90. data/docs/NgwafResponseBodyGetAllServices.md +13 -0
  91. data/docs/NgwafResponseCustomer.md +10 -0
  92. data/docs/{RelationshipWafRule.md → NgwafResponseEnabledServices.md} +2 -2
  93. data/docs/NgwafResponseLinksGetAllServices.md +10 -0
  94. data/docs/{TypeWafExclusion.md → NgwafResponseLinksGetAllServicesLinks.md} +2 -1
  95. data/docs/ObservabilityAggregationsForLogsApi.md +71 -0
  96. data/docs/ObservabilityTimeseriesForLogsApi.md +67 -0
  97. data/docs/OriginInspectorResponseBodyGetAllServices.md +13 -0
  98. data/docs/OriginInspectorResponseCustomer.md +10 -0
  99. data/docs/OriginInspectorResponseEnabledServices.md +10 -0
  100. data/docs/OriginInspectorResponseLinksGetAllServices.md +10 -0
  101. data/docs/OriginInspectorResponseLinksGetAllServicesLinks.md +10 -0
  102. data/docs/ProductBotManagementApi.md +33 -0
  103. data/docs/ProductBrotliCompressionApi.md +33 -0
  104. data/docs/ProductDdosProtectionApi.md +34 -1
  105. data/docs/ProductDomainInspectorApi.md +33 -0
  106. data/docs/ProductFanoutApi.md +33 -0
  107. data/docs/ProductImageOptimizerApi.md +33 -0
  108. data/docs/ProductLogExplorerInsightsApi.md +33 -0
  109. data/docs/ProductNgwafApi.md +33 -0
  110. data/docs/ProductOriginInspectorApi.md +33 -0
  111. data/docs/ProductWebsocketsApi.md +33 -0
  112. data/docs/RateLimiter.md +1 -1
  113. data/docs/RateLimiterApi.md +4 -4
  114. data/docs/RateLimiterResponse.md +1 -1
  115. data/docs/Resource.md +1 -1
  116. data/docs/ResourceApi.md +4 -4
  117. data/docs/ResourceResponse.md +1 -1
  118. data/docs/Results.md +2 -2
  119. data/docs/SecretStoreApi.md +2 -2
  120. data/docs/SecretStoreItemApi.md +2 -2
  121. data/docs/ServiceApi.md +2 -0
  122. data/docs/ServiceAuthorizationsApi.md +2 -2
  123. data/docs/WebsocketsResponseBodyGetAllServices.md +13 -0
  124. data/docs/WebsocketsResponseCustomer.md +10 -0
  125. data/docs/{RelationshipWafRuleWafRule.md → WebsocketsResponseEnabledServices.md} +2 -2
  126. data/docs/WebsocketsResponseLinksGetAllServices.md +10 -0
  127. data/docs/WebsocketsResponseLinksGetAllServicesLinks.md +10 -0
  128. data/lib/fastly/api/acls_in_compute_api.rb +2 -2
  129. data/lib/fastly/api/backend_api.rb +6 -0
  130. data/lib/fastly/api/ddos_protection_api.rb +367 -0
  131. data/lib/fastly/api/dictionary_api.rb +10 -10
  132. data/lib/fastly/api/dictionary_info_api.rb +2 -2
  133. data/lib/fastly/api/dictionary_item_api.rb +18 -18
  134. data/lib/fastly/api/domain_ownerships_api.rb +3 -3
  135. data/lib/fastly/api/historical_api.rb +15 -15
  136. data/lib/fastly/api/kv_store_api.rb +3 -3
  137. data/lib/fastly/api/kv_store_item_api.rb +3 -3
  138. data/lib/fastly/api/logging_azureblob_api.rb +2 -2
  139. data/lib/fastly/api/logging_bigquery_api.rb +2 -2
  140. data/lib/fastly/api/logging_cloudfiles_api.rb +2 -2
  141. data/lib/fastly/api/logging_datadog_api.rb +2 -2
  142. data/lib/fastly/api/logging_digitalocean_api.rb +2 -2
  143. data/lib/fastly/api/logging_elasticsearch_api.rb +2 -2
  144. data/lib/fastly/api/logging_ftp_api.rb +2 -2
  145. data/lib/fastly/api/logging_gcs_api.rb +2 -2
  146. data/lib/fastly/api/logging_grafanacloudlogs_api.rb +2 -2
  147. data/lib/fastly/api/logging_heroku_api.rb +2 -2
  148. data/lib/fastly/api/logging_honeycomb_api.rb +2 -2
  149. data/lib/fastly/api/logging_https_api.rb +2 -2
  150. data/lib/fastly/api/logging_kafka_api.rb +1 -1
  151. data/lib/fastly/api/logging_logentries_api.rb +2 -2
  152. data/lib/fastly/api/logging_loggly_api.rb +2 -2
  153. data/lib/fastly/api/logging_logshuttle_api.rb +2 -2
  154. data/lib/fastly/api/logging_newrelic_api.rb +2 -2
  155. data/lib/fastly/api/logging_newrelicotlp_api.rb +2 -2
  156. data/lib/fastly/api/logging_openstack_api.rb +2 -2
  157. data/lib/fastly/api/logging_papertrail_api.rb +2 -2
  158. data/lib/fastly/api/logging_pubsub_api.rb +2 -2
  159. data/lib/fastly/api/logging_s3_api.rb +2 -2
  160. data/lib/fastly/api/logging_scalyr_api.rb +2 -2
  161. data/lib/fastly/api/logging_sftp_api.rb +2 -2
  162. data/lib/fastly/api/logging_splunk_api.rb +2 -2
  163. data/lib/fastly/api/logging_sumologic_api.rb +2 -2
  164. data/lib/fastly/api/logging_syslog_api.rb +2 -2
  165. data/lib/fastly/api/observability_aggregations_for_logs_api.rb +128 -0
  166. data/lib/fastly/api/observability_timeseries_for_logs_api.rb +132 -0
  167. data/lib/fastly/api/product_bot_management_api.rb +56 -0
  168. data/lib/fastly/api/product_brotli_compression_api.rb +56 -0
  169. data/lib/fastly/api/product_ddos_protection_api.rb +58 -2
  170. data/lib/fastly/api/product_domain_inspector_api.rb +56 -0
  171. data/lib/fastly/api/product_fanout_api.rb +56 -0
  172. data/lib/fastly/api/product_image_optimizer_api.rb +56 -0
  173. data/lib/fastly/api/product_log_explorer_insights_api.rb +56 -0
  174. data/lib/fastly/api/product_ngwaf_api.rb +56 -0
  175. data/lib/fastly/api/product_origin_inspector_api.rb +56 -0
  176. data/lib/fastly/api/product_websockets_api.rb +56 -0
  177. data/lib/fastly/api/rate_limiter_api.rb +4 -4
  178. data/lib/fastly/api/resource_api.rb +4 -4
  179. data/lib/fastly/api/secret_store_api.rb +3 -3
  180. data/lib/fastly/api/secret_store_item_api.rb +3 -3
  181. data/lib/fastly/api/service_api.rb +3 -0
  182. data/lib/fastly/api/service_authorizations_api.rb +3 -3
  183. data/lib/fastly/configuration.rb +102 -174
  184. data/lib/fastly/models/backend.rb +12 -1
  185. data/lib/fastly/models/backend_response.rb +12 -1
  186. data/lib/fastly/models/{waf_firewall_versions_response.rb → bot_management_response_body_get_all_services.rb} +34 -33
  187. data/lib/fastly/models/bot_management_response_customer.rb +216 -0
  188. data/lib/fastly/models/{relationship_member_waf_active_rule.rb → bot_management_response_customer_customer.rb} +18 -18
  189. data/lib/fastly/models/bot_management_response_enabled_services.rb +219 -0
  190. data/lib/fastly/models/{relationship_waf_active_rules_waf_active_rules.rb → bot_management_response_links_get_all_services.rb} +10 -12
  191. data/lib/fastly/models/bot_management_response_links_get_all_services_links.rb +217 -0
  192. data/lib/fastly/models/brotli_compression_response_body_get_all_services.rb +256 -0
  193. data/lib/fastly/models/brotli_compression_response_customer.rb +216 -0
  194. data/lib/fastly/models/brotli_compression_response_enabled_services.rb +219 -0
  195. data/lib/fastly/models/brotli_compression_response_links_get_all_services.rb +216 -0
  196. data/lib/fastly/models/brotli_compression_response_links_get_all_services_links.rb +217 -0
  197. data/lib/fastly/models/compute_acl_update_entry.rb +2 -2
  198. data/lib/fastly/models/{type_waf_exclusion.rb → ddos_protection_action.rb} +7 -4
  199. data/lib/fastly/models/{waf_tag_attributes.rb → ddos_protection_attribute_stats.rb} +19 -7
  200. data/lib/fastly/models/{relationship_member_waf_rule_revision.rb → ddos_protection_attribute_value.rb} +17 -19
  201. data/lib/fastly/models/{included_with_waf_firewall_version_item.rb → ddos_protection_error.rb} +39 -30
  202. data/lib/fastly/models/{relationship_member_waf_rule.rb → ddos_protection_error_errors.rb} +16 -18
  203. data/lib/fastly/models/{waf_rule_response_data.rb → ddos_protection_event.rb} +72 -26
  204. data/lib/fastly/models/{included_with_waf_active_rule_item.rb → ddos_protection_event_all_of.rb} +51 -48
  205. data/lib/fastly/models/{waf_active_rule_data_attributes.rb → ddos_protection_not_authenticated.rb} +13 -24
  206. data/lib/fastly/models/{waf_firewall_version_data.rb → ddos_protection_not_found.rb} +50 -18
  207. data/lib/fastly/models/ddos_protection_response_body_get_all_services.rb +256 -0
  208. data/lib/fastly/models/ddos_protection_response_customer.rb +216 -0
  209. data/lib/fastly/models/ddos_protection_response_enabled_services.rb +219 -0
  210. data/lib/fastly/models/ddos_protection_response_links_get_all_services.rb +216 -0
  211. data/lib/fastly/models/ddos_protection_response_links_get_all_services_links.rb +217 -0
  212. data/lib/fastly/models/{waf_exclusion_response_data_attributes.rb → ddos_protection_rule.rb} +102 -104
  213. data/lib/fastly/models/{included_with_waf_rule_item.rb → ddos_protection_rule_all_of.rb} +109 -41
  214. data/lib/fastly/models/{type_waf_firewall.rb → ddos_protection_traffic_attribute.rb} +10 -4
  215. data/lib/fastly/models/{waf_active_rule_response_data_attributes.rb → ddos_protection_traffic_stats.rb} +31 -31
  216. data/lib/fastly/models/{waf_rule_revision.rb → ddos_protection_traffic_stats_all_of.rb} +22 -21
  217. data/lib/fastly/models/domain_inspector_response_body_get_all_services.rb +256 -0
  218. data/lib/fastly/models/domain_inspector_response_customer.rb +216 -0
  219. data/lib/fastly/models/domain_inspector_response_enabled_services.rb +219 -0
  220. data/lib/fastly/models/{relationship_waf_firewall_waf_firewall.rb → domain_inspector_response_links_get_all_services.rb} +10 -12
  221. data/lib/fastly/models/{relationship_waf_firewall.rb → domain_inspector_response_links_get_all_services_links.rb} +11 -10
  222. data/lib/fastly/models/{waf_firewalls_response.rb → fanout_response_body_get_all_services.rb} +34 -33
  223. data/lib/fastly/models/{relationship_waf_tags.rb → fanout_response_customer.rb} +10 -10
  224. data/lib/fastly/models/{relationship_member_waf_firewall.rb → fanout_response_enabled_services.rb} +13 -21
  225. data/lib/fastly/models/fanout_response_links_get_all_services.rb +216 -0
  226. data/lib/fastly/models/{relationship_waf_rules.rb → fanout_response_links_get_all_services_links.rb} +11 -10
  227. data/lib/fastly/models/image_optimizer_response_body_get_all_services.rb +256 -0
  228. data/lib/fastly/models/image_optimizer_response_customer.rb +216 -0
  229. data/lib/fastly/models/image_optimizer_response_enabled_services.rb +219 -0
  230. data/lib/fastly/models/image_optimizer_response_links_get_all_services.rb +216 -0
  231. data/lib/fastly/models/image_optimizer_response_links_get_all_services_links.rb +217 -0
  232. data/lib/fastly/models/inline_response2002.rb +18 -8
  233. data/lib/fastly/models/inline_response2003.rb +1 -1
  234. data/lib/fastly/models/inline_response2004.rb +8 -18
  235. data/lib/fastly/models/inline_response2005.rb +1 -1
  236. data/lib/fastly/models/inline_response2006.rb +1 -1
  237. data/lib/fastly/models/inline_response2007.rb +13 -4
  238. data/lib/fastly/models/{relationship_waf_firewall_version_waf_firewall_version.rb → inline_response2008.rb} +16 -7
  239. data/lib/fastly/models/{bulk_waf_active_rules.rb → inline_response2009.rb} +4 -4
  240. data/lib/fastly/models/kv_store_request_create.rb +1 -1
  241. data/lib/fastly/models/{waf_rule_attributes.rb → log_aggregations_filter_field_item.rb} +33 -45
  242. data/lib/fastly/models/{relationship_waf_rule_waf_rule.rb → log_aggregations_get_response.rb} +16 -7
  243. data/lib/fastly/models/{waf_firewall_version_response_data.rb → log_aggregations_get_response_meta.rb} +77 -39
  244. data/lib/fastly/models/log_aggregations_get_response_meta_filters.rb +220 -0
  245. data/lib/fastly/models/{waf_rules_response_all_of.rb → log_aggregations_result.rb} +18 -18
  246. data/lib/fastly/models/{waf_active_rule_creation_response.rb → log_aggregations_value_field.rb} +8 -3
  247. data/lib/fastly/models/log_explorer_insights_response_body_get_all_services.rb +256 -0
  248. data/lib/fastly/models/log_explorer_insights_response_customer.rb +216 -0
  249. data/lib/fastly/models/log_explorer_insights_response_enabled_services.rb +219 -0
  250. data/lib/fastly/models/log_explorer_insights_response_links_get_all_services.rb +216 -0
  251. data/lib/fastly/models/log_explorer_insights_response_links_get_all_services_links.rb +217 -0
  252. data/lib/fastly/models/{relationships_for_waf_exclusion.rb → log_timeseries_filter_field_item.rb} +61 -35
  253. data/lib/fastly/models/{waf_tags_response_all_of.rb → log_timeseries_get_response.rb} +11 -13
  254. data/lib/fastly/models/{included_with_waf_exclusion_item.rb → log_timeseries_get_response_meta.rb} +44 -45
  255. data/lib/fastly/models/log_timeseries_get_response_meta_filters.rb +220 -0
  256. data/lib/fastly/models/{waf_firewall_response.rb → log_timeseries_result.rb} +17 -17
  257. data/lib/fastly/models/{waf_exclusion_response.rb → log_timeseries_result_dimensions.rb} +10 -10
  258. data/lib/fastly/models/{waf_rule_revision_or_latest.rb → log_timeseries_value_field.rb} +6 -1
  259. data/lib/fastly/models/logging_azureblob_response.rb +2 -2
  260. data/lib/fastly/models/logging_bigquery_response.rb +2 -2
  261. data/lib/fastly/models/logging_cloudfiles_response.rb +2 -2
  262. data/lib/fastly/models/logging_common.rb +2 -2
  263. data/lib/fastly/models/logging_common_response.rb +2 -2
  264. data/lib/fastly/models/logging_common_response_all_of.rb +2 -2
  265. data/lib/fastly/models/logging_datadog_response.rb +2 -2
  266. data/lib/fastly/models/logging_digitalocean_response.rb +2 -2
  267. data/lib/fastly/models/logging_elasticsearch_response.rb +2 -2
  268. data/lib/fastly/models/logging_ftp_response.rb +2 -2
  269. data/lib/fastly/models/logging_gcs_response.rb +2 -2
  270. data/lib/fastly/models/logging_google_pubsub_response.rb +2 -2
  271. data/lib/fastly/models/logging_grafanacloudlogs_response.rb +2 -2
  272. data/lib/fastly/models/logging_heroku_response.rb +2 -2
  273. data/lib/fastly/models/logging_honeycomb_response.rb +2 -2
  274. data/lib/fastly/models/logging_https_response.rb +2 -2
  275. data/lib/fastly/models/logging_kafka_response.rb +2 -2
  276. data/lib/fastly/models/logging_kafka_response_post.rb +2 -2
  277. data/lib/fastly/models/logging_logentries_response.rb +2 -2
  278. data/lib/fastly/models/logging_loggly_response.rb +2 -2
  279. data/lib/fastly/models/logging_logshuttle_response.rb +2 -2
  280. data/lib/fastly/models/logging_newrelic_response.rb +2 -2
  281. data/lib/fastly/models/logging_newrelicotlp_response.rb +2 -2
  282. data/lib/fastly/models/logging_openstack_response.rb +2 -2
  283. data/lib/fastly/models/logging_papertrail_response.rb +2 -2
  284. data/lib/fastly/models/logging_placement.rb +0 -1
  285. data/lib/fastly/models/logging_s3_response.rb +2 -2
  286. data/lib/fastly/models/logging_scalyr_response.rb +2 -2
  287. data/lib/fastly/models/logging_sftp_response.rb +2 -2
  288. data/lib/fastly/models/logging_splunk_response.rb +2 -2
  289. data/lib/fastly/models/logging_sumologic_response.rb +2 -2
  290. data/lib/fastly/models/logging_syslog_response.rb +2 -2
  291. data/lib/fastly/models/{waf_exclusions_response.rb → ngwaf_response_body_get_all_services.rb} +34 -33
  292. data/lib/fastly/models/{waf_active_rule_response.rb → ngwaf_response_customer.rb} +10 -10
  293. data/lib/fastly/models/{relationship_waf_rule_revisions.rb → ngwaf_response_enabled_services.rb} +13 -10
  294. data/lib/fastly/models/{waf_rule_revision_response_data_all_of.rb → ngwaf_response_links_get_all_services.rb} +10 -10
  295. data/lib/fastly/models/{relationship_waf_rule.rb → ngwaf_response_links_get_all_services_links.rb} +11 -10
  296. data/lib/fastly/models/origin_inspector_response_body_get_all_services.rb +256 -0
  297. data/lib/fastly/models/origin_inspector_response_customer.rb +216 -0
  298. data/lib/fastly/models/origin_inspector_response_enabled_services.rb +219 -0
  299. data/lib/fastly/models/origin_inspector_response_links_get_all_services.rb +216 -0
  300. data/lib/fastly/models/origin_inspector_response_links_get_all_services_links.rb +217 -0
  301. data/lib/fastly/models/pop.rb +6 -6
  302. data/lib/fastly/models/rate_limiter.rb +1 -1
  303. data/lib/fastly/models/rate_limiter_response.rb +1 -1
  304. data/lib/fastly/models/resource.rb +1 -1
  305. data/lib/fastly/models/resource_response.rb +1 -1
  306. data/lib/fastly/models/results.rb +2 -2
  307. data/lib/fastly/models/{waf_active_rules_response.rb → websockets_response_body_get_all_services.rb} +34 -33
  308. data/lib/fastly/models/{relationship_waf_tags_waf_tags.rb → websockets_response_customer.rb} +10 -12
  309. data/lib/fastly/models/websockets_response_enabled_services.rb +219 -0
  310. data/lib/fastly/models/websockets_response_links_get_all_services.rb +216 -0
  311. data/lib/fastly/models/websockets_response_links_get_all_services_links.rb +217 -0
  312. data/lib/fastly/version.rb +1 -1
  313. data/lib/fastly.rb +83 -109
  314. data/sig.json +1 -1
  315. metadata +168 -220
  316. data/docs/IncludedWithWafActiveRuleItem.md +0 -13
  317. data/docs/IncludedWithWafExclusionItem.md +0 -12
  318. data/docs/IncludedWithWafRuleItem.md +0 -12
  319. data/docs/RelationshipMemberWafActiveRule.md +0 -11
  320. data/docs/RelationshipMemberWafFirewall.md +0 -11
  321. data/docs/RelationshipMemberWafFirewallVersion.md +0 -11
  322. data/docs/RelationshipMemberWafRule.md +0 -11
  323. data/docs/RelationshipMemberWafRuleRevision.md +0 -11
  324. data/docs/RelationshipMemberWafTag.md +0 -11
  325. data/docs/RelationshipWafFirewallVersion.md +0 -10
  326. data/docs/RelationshipWafFirewallVersionWafFirewallVersion.md +0 -10
  327. data/docs/RelationshipWafFirewallVersions.md +0 -10
  328. data/docs/RelationshipWafRuleRevisionWafRuleRevisions.md +0 -10
  329. data/docs/RelationshipWafRuleRevisions.md +0 -10
  330. data/docs/RelationshipWafTagsWafTags.md +0 -10
  331. data/docs/RelationshipsForWafActiveRule.md +0 -11
  332. data/docs/RelationshipsForWafExclusion.md +0 -11
  333. data/docs/RelationshipsForWafFirewallVersion.md +0 -11
  334. data/docs/RelationshipsForWafRule.md +0 -11
  335. data/docs/SchemasWafFirewallVersion.md +0 -10
  336. data/docs/SchemasWafFirewallVersionData.md +0 -11
  337. data/docs/TypeWafRuleRevision.md +0 -9
  338. data/docs/TypeWafTag.md +0 -9
  339. data/docs/WafActiveRule.md +0 -10
  340. data/docs/WafActiveRuleData.md +0 -12
  341. data/docs/WafActiveRuleDataAttributes.md +0 -12
  342. data/docs/WafActiveRuleResponse.md +0 -10
  343. data/docs/WafActiveRuleResponseData.md +0 -13
  344. data/docs/WafActiveRuleResponseDataAllOf.md +0 -12
  345. data/docs/WafActiveRuleResponseDataAttributes.md +0 -14
  346. data/docs/WafActiveRuleResponseDataAttributesAllOf.md +0 -11
  347. data/docs/WafActiveRuleResponseDataRelationships.md +0 -11
  348. data/docs/WafActiveRulesApi.md +0 -367
  349. data/docs/WafActiveRulesResponse.md +0 -13
  350. data/docs/WafActiveRulesResponseAllOf.md +0 -11
  351. data/docs/WafExclusionData.md +0 -12
  352. data/docs/WafExclusionDataAttributes.md +0 -15
  353. data/docs/WafExclusionResponse.md +0 -10
  354. data/docs/WafExclusionResponseData.md +0 -13
  355. data/docs/WafExclusionResponseDataAllOf.md +0 -12
  356. data/docs/WafExclusionResponseDataAttributes.md +0 -18
  357. data/docs/WafExclusionResponseDataAttributesAllOf.md +0 -15
  358. data/docs/WafExclusionResponseDataRelationships.md +0 -11
  359. data/docs/WafExclusionsApi.md +0 -238
  360. data/docs/WafExclusionsResponse.md +0 -13
  361. data/docs/WafExclusionsResponseAllOf.md +0 -11
  362. data/docs/WafFirewallData.md +0 -11
  363. data/docs/WafFirewallDataAttributes.md +0 -13
  364. data/docs/WafFirewallResponse.md +0 -11
  365. data/docs/WafFirewallResponseData.md +0 -13
  366. data/docs/WafFirewallResponseDataAllOf.md +0 -12
  367. data/docs/WafFirewallResponseDataAttributes.md +0 -21
  368. data/docs/WafFirewallResponseDataAttributesAllOf.md +0 -18
  369. data/docs/WafFirewallVersion.md +0 -10
  370. data/docs/WafFirewallVersionData.md +0 -11
  371. data/docs/WafFirewallVersionDataAttributes.md +0 -40
  372. data/docs/WafFirewallVersionResponse.md +0 -11
  373. data/docs/WafFirewallVersionResponseData.md +0 -13
  374. data/docs/WafFirewallVersionResponseDataAllOf.md +0 -12
  375. data/docs/WafFirewallVersionResponseDataAttributes.md +0 -24
  376. data/docs/WafFirewallVersionResponseDataAttributesAllOf.md +0 -21
  377. data/docs/WafFirewallVersionsApi.md +0 -265
  378. data/docs/WafFirewallVersionsResponse.md +0 -13
  379. data/docs/WafFirewallVersionsResponseAllOf.md +0 -11
  380. data/docs/WafFirewallsApi.md +0 -222
  381. data/docs/WafFirewallsResponse.md +0 -13
  382. data/docs/WafFirewallsResponseAllOf.md +0 -11
  383. data/docs/WafRule.md +0 -12
  384. data/docs/WafRuleAttributes.md +0 -12
  385. data/docs/WafRuleResponse.md +0 -11
  386. data/docs/WafRuleResponseData.md +0 -13
  387. data/docs/WafRuleResponseDataAllOf.md +0 -10
  388. data/docs/WafRuleRevision.md +0 -12
  389. data/docs/WafRuleRevisionAttributes.md +0 -17
  390. data/docs/WafRuleRevisionResponse.md +0 -11
  391. data/docs/WafRuleRevisionResponseData.md +0 -13
  392. data/docs/WafRuleRevisionResponseDataAllOf.md +0 -10
  393. data/docs/WafRuleRevisionsApi.md +0 -103
  394. data/docs/WafRuleRevisionsResponse.md +0 -13
  395. data/docs/WafRuleRevisionsResponseAllOf.md +0 -11
  396. data/docs/WafRulesApi.md +0 -107
  397. data/docs/WafRulesResponse.md +0 -13
  398. data/docs/WafRulesResponseAllOf.md +0 -11
  399. data/docs/WafTag.md +0 -12
  400. data/docs/WafTagAttributes.md +0 -10
  401. data/docs/WafTagsApi.md +0 -61
  402. data/docs/WafTagsResponse.md +0 -13
  403. data/docs/WafTagsResponseAllOf.md +0 -11
  404. data/docs/WafTagsResponseDataItem.md +0 -13
  405. data/lib/fastly/api/waf_active_rules_api.rb +0 -667
  406. data/lib/fastly/api/waf_exclusions_api.rb +0 -433
  407. data/lib/fastly/api/waf_firewall_versions_api.rb +0 -460
  408. data/lib/fastly/api/waf_firewalls_api.rb +0 -377
  409. data/lib/fastly/api/waf_rule_revisions_api.rb +0 -177
  410. data/lib/fastly/api/waf_rules_api.rb +0 -171
  411. data/lib/fastly/api/waf_tags_api.rb +0 -100
  412. data/lib/fastly/models/relationship_member_waf_firewall_version.rb +0 -228
  413. data/lib/fastly/models/relationship_member_waf_tag.rb +0 -228
  414. data/lib/fastly/models/relationship_waf_active_rules.rb +0 -216
  415. data/lib/fastly/models/relationship_waf_firewall_version.rb +0 -216
  416. data/lib/fastly/models/relationship_waf_firewall_versions.rb +0 -216
  417. data/lib/fastly/models/relationship_waf_rule_revision.rb +0 -216
  418. data/lib/fastly/models/relationship_waf_rule_revision_waf_rule_revisions.rb +0 -218
  419. data/lib/fastly/models/relationships_for_waf_active_rule.rb +0 -245
  420. data/lib/fastly/models/relationships_for_waf_firewall_version.rb +0 -245
  421. data/lib/fastly/models/relationships_for_waf_rule.rb +0 -245
  422. data/lib/fastly/models/schemas_waf_firewall_version.rb +0 -216
  423. data/lib/fastly/models/schemas_waf_firewall_version_data.rb +0 -227
  424. data/lib/fastly/models/type_waf_active_rule.rb +0 -34
  425. data/lib/fastly/models/type_waf_firewall_version.rb +0 -34
  426. data/lib/fastly/models/type_waf_rule.rb +0 -34
  427. data/lib/fastly/models/type_waf_rule_revision.rb +0 -34
  428. data/lib/fastly/models/type_waf_tag.rb +0 -34
  429. data/lib/fastly/models/waf_active_rule.rb +0 -216
  430. data/lib/fastly/models/waf_active_rule_data.rb +0 -236
  431. data/lib/fastly/models/waf_active_rule_response_data.rb +0 -253
  432. data/lib/fastly/models/waf_active_rule_response_data_all_of.rb +0 -234
  433. data/lib/fastly/models/waf_active_rule_response_data_attributes_all_of.rb +0 -227
  434. data/lib/fastly/models/waf_active_rule_response_data_relationships.rb +0 -245
  435. data/lib/fastly/models/waf_active_rules_response_all_of.rb +0 -229
  436. data/lib/fastly/models/waf_exclusion.rb +0 -216
  437. data/lib/fastly/models/waf_exclusion_data.rb +0 -236
  438. data/lib/fastly/models/waf_exclusion_data_attributes.rb +0 -316
  439. data/lib/fastly/models/waf_exclusion_response_data.rb +0 -254
  440. data/lib/fastly/models/waf_exclusion_response_data_all_of.rb +0 -235
  441. data/lib/fastly/models/waf_exclusion_response_data_attributes_all_of.rb +0 -316
  442. data/lib/fastly/models/waf_exclusion_response_data_relationships.rb +0 -245
  443. data/lib/fastly/models/waf_exclusions_response_all_of.rb +0 -229
  444. data/lib/fastly/models/waf_firewall.rb +0 -216
  445. data/lib/fastly/models/waf_firewall_data.rb +0 -227
  446. data/lib/fastly/models/waf_firewall_data_attributes.rb +0 -248
  447. data/lib/fastly/models/waf_firewall_response_data.rb +0 -253
  448. data/lib/fastly/models/waf_firewall_response_data_all_of.rb +0 -234
  449. data/lib/fastly/models/waf_firewall_response_data_attributes.rb +0 -337
  450. data/lib/fastly/models/waf_firewall_response_data_attributes_all_of.rb +0 -296
  451. data/lib/fastly/models/waf_firewall_version.rb +0 -216
  452. data/lib/fastly/models/waf_firewall_version_data_attributes.rb +0 -551
  453. data/lib/fastly/models/waf_firewall_version_response.rb +0 -227
  454. data/lib/fastly/models/waf_firewall_version_response_data_all_of.rb +0 -235
  455. data/lib/fastly/models/waf_firewall_version_response_data_attributes.rb +0 -403
  456. data/lib/fastly/models/waf_firewall_version_response_data_attributes_all_of.rb +0 -362
  457. data/lib/fastly/models/waf_firewall_versions_response_all_of.rb +0 -229
  458. data/lib/fastly/models/waf_firewalls_response_all_of.rb +0 -229
  459. data/lib/fastly/models/waf_rule.rb +0 -236
  460. data/lib/fastly/models/waf_rule_response.rb +0 -227
  461. data/lib/fastly/models/waf_rule_response_data_all_of.rb +0 -216
  462. data/lib/fastly/models/waf_rule_revision_attributes.rb +0 -321
  463. data/lib/fastly/models/waf_rule_revision_response.rb +0 -227
  464. data/lib/fastly/models/waf_rule_revision_response_data.rb +0 -254
  465. data/lib/fastly/models/waf_rule_revisions_response.rb +0 -255
  466. data/lib/fastly/models/waf_rule_revisions_response_all_of.rb +0 -229
  467. data/lib/fastly/models/waf_rules_response.rb +0 -255
  468. data/lib/fastly/models/waf_tag.rb +0 -237
  469. data/lib/fastly/models/waf_tags_response.rb +0 -255
  470. data/lib/fastly/models/waf_tags_response_data_item.rb +0 -254
@@ -0,0 +1,217 @@
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
+ class DdosProtectionResponseLinksGetAllServicesLinks
16
+ # Location of resource
17
+ attr_accessor :_self
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'_self' => :'self'
23
+ }
24
+ end
25
+
26
+ # Returns all the JSON keys this model knows about
27
+ def self.acceptable_attributes
28
+ attribute_map.values
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.fastly_types
33
+ {
34
+ :'_self' => :'String'
35
+ }
36
+ end
37
+
38
+ # List of attributes with nullable: true
39
+ def self.fastly_nullable
40
+ Set.new([
41
+ ])
42
+ end
43
+
44
+ # Initializes the object
45
+ # @param [Hash] attributes Model attributes in the form of hash
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::DdosProtectionResponseLinksGetAllServicesLinks` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::DdosProtectionResponseLinksGetAllServicesLinks`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'_self')
60
+ self._self = attributes[:'_self']
61
+ end
62
+ end
63
+
64
+ # Show invalid properties with the reasons. Usually used together with valid?
65
+ # @return Array for valid properties with the reasons
66
+ def list_invalid_properties
67
+ invalid_properties = Array.new
68
+ invalid_properties
69
+ end
70
+
71
+ # Check to see if the all the properties in the model are valid
72
+ # @return true if the model is valid
73
+ def valid?
74
+ true
75
+ end
76
+
77
+ # Checks equality by comparing each attribute.
78
+ # @param [Object] Object to be compared
79
+ def ==(o)
80
+ return true if self.equal?(o)
81
+ self.class == o.class &&
82
+ _self == o._self
83
+ end
84
+
85
+ # @see the `==` method
86
+ # @param [Object] Object to be compared
87
+ def eql?(o)
88
+ self == o
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Integer] Hash code
93
+ def hash
94
+ [_self].hash
95
+ end
96
+
97
+ # Builds the object from hash
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ # @return [Object] Returns the model itself
100
+ def self.build_from_hash(attributes)
101
+ new.build_from_hash(attributes)
102
+ end
103
+
104
+ # Builds the object from hash
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ # @return [Object] Returns the model itself
107
+ def build_from_hash(attributes)
108
+ return nil unless attributes.is_a?(Hash)
109
+ self.class.fastly_types.each_pair do |key, type|
110
+ if attributes[self.class.attribute_map[key]].nil? && self.class.fastly_nullable.include?(key)
111
+ self.send("#{key}=", nil)
112
+ elsif type =~ /\AArray<(.*)>/i
113
+ # check to ensure the input is an array given that the attribute
114
+ # is documented as an array but the input is not
115
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
116
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
117
+ end
118
+ elsif !attributes[self.class.attribute_map[key]].nil?
119
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
120
+ end
121
+ end
122
+
123
+ self
124
+ end
125
+
126
+ # Deserializes the data based on type
127
+ # @param string type Data type
128
+ # @param string value Value to be deserialized
129
+ # @return [Object] Deserialized data
130
+ def _deserialize(type, value)
131
+ case type.to_sym
132
+ when :Time
133
+ Time.parse(value)
134
+ when :Date
135
+ Date.parse(value)
136
+ when :String
137
+ value.to_s
138
+ when :Integer
139
+ value.to_i
140
+ when :Float
141
+ value.to_f
142
+ when :Boolean
143
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
144
+ true
145
+ else
146
+ false
147
+ end
148
+ when :Object
149
+ # generic object (usually a Hash), return directly
150
+ value
151
+ when /\AArray<(?<inner_type>.+)>\z/
152
+ inner_type = Regexp.last_match[:inner_type]
153
+ value.map { |v| _deserialize(inner_type, v) }
154
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
155
+ k_type = Regexp.last_match[:k_type]
156
+ v_type = Regexp.last_match[:v_type]
157
+ {}.tap do |hash|
158
+ value.each do |k, v|
159
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
160
+ end
161
+ end
162
+ else # model
163
+ # models (e.g. Pet) or oneOf
164
+ klass = Fastly.const_get(type)
165
+ klass.respond_to?(:fastly_one_of) ? klass.build(value) : klass.build_from_hash(value)
166
+ end
167
+ end
168
+
169
+ # Returns the string representation of the object
170
+ # @return [String] String presentation of the object
171
+ def to_s
172
+ to_hash.to_s
173
+ end
174
+
175
+ # to_body is an alias to to_hash (backward compatibility)
176
+ # @return [Hash] Returns the object in the form of hash
177
+ def to_body
178
+ to_hash
179
+ end
180
+
181
+ # Returns the object in the form of hash
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_hash
184
+ hash = {}
185
+ self.class.attribute_map.each_pair do |attr, param|
186
+ value = self.send(attr)
187
+ if value.nil?
188
+ is_nullable = self.class.fastly_nullable.include?(attr)
189
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
190
+ end
191
+
192
+ hash[param] = _to_hash(value)
193
+ end
194
+ hash
195
+ end
196
+
197
+ # Outputs non-array value in the form of hash
198
+ # For object, use to_hash. Otherwise, just return the value
199
+ # @param [Object] value Any valid value
200
+ # @return [Hash] Returns the value in the form of hash
201
+ def _to_hash(value)
202
+ if value.is_a?(Array)
203
+ value.compact.map { |v| _to_hash(v) }
204
+ elsif value.is_a?(Hash)
205
+ {}.tap do |hash|
206
+ value.each { |k, v| hash[k] = _to_hash(v) }
207
+ end
208
+ elsif value.respond_to? :to_hash
209
+ value.to_hash
210
+ else
211
+ value
212
+ end
213
+ end
214
+
215
+ end
216
+
217
+ end
@@ -12,68 +12,61 @@ require 'date'
12
12
  require 'time'
13
13
 
14
14
  module Fastly
15
- class WafExclusionResponseDataAttributes
15
+ class DdosProtectionRule
16
16
  # Date and time in ISO 8601 format.
17
17
  attr_accessor :created_at
18
18
 
19
- # Date and time in ISO 8601 format.
20
- attr_accessor :deleted_at
21
-
22
19
  # Date and time in ISO 8601 format.
23
20
  attr_accessor :updated_at
24
21
 
25
- # A conditional expression in VCL used to determine if the condition is met.
26
- attr_accessor :condition
22
+ # Unique ID of the rule.
23
+ attr_accessor :id
27
24
 
28
- # The type of exclusion.
29
- attr_accessor :exclusion_type
25
+ # A human-readable name for the rule.
26
+ attr_accessor :name
30
27
 
31
- # Whether to generate a log upon matching.
32
- attr_accessor :logging
28
+ attr_accessor :action
33
29
 
34
- # Name of the exclusion.
35
- attr_accessor :name
30
+ # Alphanumeric string identifying the customer.
31
+ attr_accessor :customer_id
36
32
 
37
- # A numeric ID identifying a WAF exclusion.
38
- attr_accessor :number
39
-
40
- # The variable to exclude. An optional selector can be specified after the variable separated by a colon (`:`) to restrict the variable to a particular parameter. Required for `exclusion_type=variable`.
41
- attr_accessor :variable
42
-
43
- class EnumAttributeValidator
44
- attr_reader :datatype
45
- attr_reader :allowable_values
46
-
47
- def initialize(datatype, allowable_values)
48
- @allowable_values = allowable_values.map do |value|
49
- case datatype.to_s
50
- when /Integer/i
51
- value.to_i
52
- when /Float/i
53
- value.to_f
54
- else
55
- value
56
- end
57
- end
58
- end
33
+ # Alphanumeric string identifying the service.
34
+ attr_accessor :service_id
59
35
 
60
- def valid?(value)
61
- !value || allowable_values.include?(value)
62
- end
63
- end
36
+ # Source IP address attribute.
37
+ attr_accessor :source_ip
38
+
39
+ # Country code attribute.
40
+ attr_accessor :country_code
41
+
42
+ # Host attribute.
43
+ attr_accessor :host
44
+
45
+ # ASN attribute.
46
+ attr_accessor :asn
47
+
48
+ # Source IP prefix attribute.
49
+ attr_accessor :source_ip_prefix
50
+
51
+ # Attribute category for additional, unlisted attributes used in a rule.
52
+ attr_accessor :additional_attributes
64
53
 
65
54
  # Attribute mapping from ruby-style variable name to JSON key.
66
55
  def self.attribute_map
67
56
  {
68
57
  :'created_at' => :'created_at',
69
- :'deleted_at' => :'deleted_at',
70
58
  :'updated_at' => :'updated_at',
71
- :'condition' => :'condition',
72
- :'exclusion_type' => :'exclusion_type',
73
- :'logging' => :'logging',
59
+ :'id' => :'id',
74
60
  :'name' => :'name',
75
- :'number' => :'number',
76
- :'variable' => :'variable'
61
+ :'action' => :'action',
62
+ :'customer_id' => :'customer_id',
63
+ :'service_id' => :'service_id',
64
+ :'source_ip' => :'source_ip',
65
+ :'country_code' => :'country_code',
66
+ :'host' => :'host',
67
+ :'asn' => :'asn',
68
+ :'source_ip_prefix' => :'source_ip_prefix',
69
+ :'additional_attributes' => :'additional_attributes'
77
70
  }
78
71
  end
79
72
 
@@ -86,14 +79,18 @@ module Fastly
86
79
  def self.fastly_types
87
80
  {
88
81
  :'created_at' => :'Time',
89
- :'deleted_at' => :'Time',
90
82
  :'updated_at' => :'Time',
91
- :'condition' => :'String',
92
- :'exclusion_type' => :'String',
93
- :'logging' => :'Boolean',
83
+ :'id' => :'String',
94
84
  :'name' => :'String',
95
- :'number' => :'Integer',
96
- :'variable' => :'String'
85
+ :'action' => :'DdosProtectionAction',
86
+ :'customer_id' => :'String',
87
+ :'service_id' => :'String',
88
+ :'source_ip' => :'String',
89
+ :'country_code' => :'String',
90
+ :'host' => :'String',
91
+ :'asn' => :'String',
92
+ :'source_ip_prefix' => :'String',
93
+ :'additional_attributes' => :'Array<String>'
97
94
  }
98
95
  end
99
96
 
@@ -101,17 +98,20 @@ module Fastly
101
98
  def self.fastly_nullable
102
99
  Set.new([
103
100
  :'created_at',
104
- :'deleted_at',
105
101
  :'updated_at',
106
- :'variable'
102
+ :'source_ip',
103
+ :'country_code',
104
+ :'host',
105
+ :'asn',
106
+ :'source_ip_prefix',
107
107
  ])
108
108
  end
109
109
 
110
110
  # List of class defined in allOf (OpenAPI v3)
111
111
  def self.fastly_all_of
112
112
  [
113
- :'Timestamps',
114
- :'WafExclusionResponseDataAttributesAllOf'
113
+ :'DdosProtectionRuleAllOf',
114
+ :'TimestampsNoDelete'
115
115
  ]
116
116
  end
117
117
 
@@ -119,13 +119,13 @@ module Fastly
119
119
  # @param [Hash] attributes Model attributes in the form of hash
120
120
  def initialize(attributes = {})
121
121
  if (!attributes.is_a?(Hash))
122
- fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::WafExclusionResponseDataAttributes` initialize method"
122
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Fastly::DdosProtectionRule` initialize method"
123
123
  end
124
124
 
125
125
  # check to see if the attribute exists and convert string to symbol for hash key
126
126
  attributes = attributes.each_with_object({}) { |(k, v), h|
127
127
  if (!self.class.attribute_map.key?(k.to_sym))
128
- fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::WafExclusionResponseDataAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
128
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Fastly::DdosProtectionRule`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
129
129
  end
130
130
  h[k.to_sym] = v
131
131
  }
@@ -134,38 +134,56 @@ module Fastly
134
134
  self.created_at = attributes[:'created_at']
135
135
  end
136
136
 
137
- if attributes.key?(:'deleted_at')
138
- self.deleted_at = attributes[:'deleted_at']
139
- end
140
-
141
137
  if attributes.key?(:'updated_at')
142
138
  self.updated_at = attributes[:'updated_at']
143
139
  end
144
140
 
145
- if attributes.key?(:'condition')
146
- self.condition = attributes[:'condition']
141
+ if attributes.key?(:'id')
142
+ self.id = attributes[:'id']
147
143
  end
148
144
 
149
- if attributes.key?(:'exclusion_type')
150
- self.exclusion_type = attributes[:'exclusion_type']
145
+ if attributes.key?(:'name')
146
+ self.name = attributes[:'name']
151
147
  end
152
148
 
153
- if attributes.key?(:'logging')
154
- self.logging = attributes[:'logging']
149
+ if attributes.key?(:'action')
150
+ self.action = attributes[:'action']
155
151
  else
156
- self.logging = true
152
+ self.action = 'default'
157
153
  end
158
154
 
159
- if attributes.key?(:'name')
160
- self.name = attributes[:'name']
155
+ if attributes.key?(:'customer_id')
156
+ self.customer_id = attributes[:'customer_id']
157
+ end
158
+
159
+ if attributes.key?(:'service_id')
160
+ self.service_id = attributes[:'service_id']
161
+ end
162
+
163
+ if attributes.key?(:'source_ip')
164
+ self.source_ip = attributes[:'source_ip']
165
+ end
166
+
167
+ if attributes.key?(:'country_code')
168
+ self.country_code = attributes[:'country_code']
169
+ end
170
+
171
+ if attributes.key?(:'host')
172
+ self.host = attributes[:'host']
161
173
  end
162
174
 
163
- if attributes.key?(:'number')
164
- self.number = attributes[:'number']
175
+ if attributes.key?(:'asn')
176
+ self.asn = attributes[:'asn']
165
177
  end
166
178
 
167
- if attributes.key?(:'variable')
168
- self.variable = attributes[:'variable']
179
+ if attributes.key?(:'source_ip_prefix')
180
+ self.source_ip_prefix = attributes[:'source_ip_prefix']
181
+ end
182
+
183
+ if attributes.key?(:'additional_attributes')
184
+ if (value = attributes[:'additional_attributes']).is_a?(Array)
185
+ self.additional_attributes = value
186
+ end
169
187
  end
170
188
  end
171
189
 
@@ -179,47 +197,27 @@ module Fastly
179
197
  # Check to see if the all the properties in the model are valid
180
198
  # @return true if the model is valid
181
199
  def valid?
182
- exclusion_type_validator = EnumAttributeValidator.new('String', ["rule", "variable", "waf"])
183
- return false unless exclusion_type_validator.valid?(@exclusion_type)
184
- variable_validator = EnumAttributeValidator.new('String', ["req.cookies", "req.headers", "req.post", "req.post_filename", "req.qs", "null"])
185
- return false unless variable_validator.valid?(@variable)
186
200
  true
187
201
  end
188
202
 
189
- # Custom attribute writer method checking allowed values (enum).
190
- # @param [Object] exclusion_type Object to be assigned
191
- def exclusion_type=(exclusion_type)
192
- validator = EnumAttributeValidator.new('String', ["rule", "variable", "waf"])
193
- unless validator.valid?(exclusion_type)
194
- fail ArgumentError, "invalid value for \"exclusion_type\", must be one of #{validator.allowable_values}."
195
- end
196
- @exclusion_type = exclusion_type
197
- end
198
-
199
- # Custom attribute writer method checking allowed values (enum).
200
- # @param [Object] variable Object to be assigned
201
- def variable=(variable)
202
- validator = EnumAttributeValidator.new('String', ["req.cookies", "req.headers", "req.post", "req.post_filename", "req.qs", "null"])
203
- unless validator.valid?(variable)
204
- fail ArgumentError, "invalid value for \"variable\", must be one of #{validator.allowable_values}."
205
- end
206
- @variable = variable
207
- end
208
-
209
203
  # Checks equality by comparing each attribute.
210
204
  # @param [Object] Object to be compared
211
205
  def ==(o)
212
206
  return true if self.equal?(o)
213
207
  self.class == o.class &&
214
208
  created_at == o.created_at &&
215
- deleted_at == o.deleted_at &&
216
209
  updated_at == o.updated_at &&
217
- condition == o.condition &&
218
- exclusion_type == o.exclusion_type &&
219
- logging == o.logging &&
210
+ id == o.id &&
220
211
  name == o.name &&
221
- number == o.number &&
222
- variable == o.variable
212
+ action == o.action &&
213
+ customer_id == o.customer_id &&
214
+ service_id == o.service_id &&
215
+ source_ip == o.source_ip &&
216
+ country_code == o.country_code &&
217
+ host == o.host &&
218
+ asn == o.asn &&
219
+ source_ip_prefix == o.source_ip_prefix &&
220
+ additional_attributes == o.additional_attributes
223
221
  end
224
222
 
225
223
  # @see the `==` method
@@ -231,7 +229,7 @@ module Fastly
231
229
  # Calculates hash code according to all attributes.
232
230
  # @return [Integer] Hash code
233
231
  def hash
234
- [created_at, deleted_at, updated_at, condition, exclusion_type, logging, name, number, variable].hash
232
+ [created_at, updated_at, id, name, action, customer_id, service_id, source_ip, country_code, host, asn, source_ip_prefix, additional_attributes].hash
235
233
  end
236
234
 
237
235
  # Builds the object from hash