fastly 8.10.0 → 10.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 (378) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -2
  3. data/Gemfile.lock +3 -3
  4. data/README.md +63 -45
  5. data/docs/AccessKey.md +12 -0
  6. data/docs/AccessKeyResponse.md +15 -0
  7. data/docs/AclsInComputeApi.md +4 -4
  8. data/docs/AiAcceleratorResponseBodyEnable.md +12 -0
  9. data/docs/AiAcceleratorResponseCustomer.md +10 -0
  10. data/docs/AiAcceleratorResponseCustomerCustomer.md +11 -0
  11. data/docs/AiAcceleratorResponseLinks.md +10 -0
  12. data/docs/AiAcceleratorResponseLinksLinks.md +10 -0
  13. data/docs/AiAcceleratorResponseProduct.md +10 -0
  14. data/docs/AiAcceleratorResponseProductProduct.md +11 -0
  15. data/docs/Backend.md +1 -1
  16. data/docs/BackendApi.md +4 -4
  17. data/docs/BackendResponse.md +1 -1
  18. data/docs/BillingUsageMetricsApi.md +17 -23
  19. data/docs/BotManagementResponseBodyEnable.md +12 -0
  20. data/docs/BotManagementResponseLinks.md +10 -0
  21. data/docs/BotManagementResponseLinksLinks.md +11 -0
  22. data/docs/BotManagementResponseProduct.md +10 -0
  23. data/docs/BotManagementResponseProductProduct.md +11 -0
  24. data/docs/BotManagementResponseService.md +10 -0
  25. data/docs/{EnabledProductResponseService.md → BotManagementResponseServiceService.md} +1 -1
  26. data/docs/BrotliCompressionResponseBodyEnable.md +12 -0
  27. data/docs/BrotliCompressionResponseLinks.md +10 -0
  28. data/docs/BrotliCompressionResponseLinksLinks.md +11 -0
  29. data/docs/BrotliCompressionResponseProduct.md +10 -0
  30. data/docs/BrotliCompressionResponseProductProduct.md +11 -0
  31. data/docs/BrotliCompressionResponseService.md +10 -0
  32. data/docs/ComputeAclList.md +11 -0
  33. data/docs/{LegacyWafTag.md → ComputeAclListMeta.md} +2 -2
  34. data/docs/ComputeAclLookup.md +1 -2
  35. data/docs/{InlineResponse2004Meta.md → ComputeAclUpdate.md} +2 -3
  36. data/docs/DdosProtectionRequestUpdateConfiguration.md +10 -0
  37. data/docs/DdosProtectionResponseConfiguration.md +10 -0
  38. data/docs/DdosProtectionResponseConfigurationConfiguration.md +10 -0
  39. data/docs/DdosProtectionResponseConfigure.md +13 -0
  40. data/docs/DdosProtectionResponseEnable.md +12 -0
  41. data/docs/DdosProtectionResponseLinks.md +10 -0
  42. data/docs/DdosProtectionResponseLinksLinks.md +11 -0
  43. data/docs/DdosProtectionResponseProduct.md +10 -0
  44. data/docs/DdosProtectionResponseProductProduct.md +11 -0
  45. data/docs/DdosProtectionResponseService.md +10 -0
  46. data/docs/DimensionAttributesCountryStats.md +12 -0
  47. data/docs/DimensionAttributesRate.md +10 -0
  48. data/docs/DimensionBrowser.md +10 -0
  49. data/docs/DimensionContentType.md +10 -0
  50. data/docs/DimensionCountry.md +10 -0
  51. data/docs/DimensionDevice.md +10 -0
  52. data/docs/DimensionOs.md +10 -0
  53. data/docs/DimensionResponse.md +10 -0
  54. data/docs/DimensionStatusCode.md +10 -0
  55. data/docs/DimensionUrl.md +10 -0
  56. data/docs/DomainInspectorMeasurements.md +2 -0
  57. data/docs/DomainInspectorResponseBodyEnable.md +12 -0
  58. data/docs/DomainInspectorResponseLinks.md +10 -0
  59. data/docs/DomainInspectorResponseLinksLinks.md +11 -0
  60. data/docs/DomainInspectorResponseProduct.md +10 -0
  61. data/docs/{InlineResponse2003Meta.md → DomainInspectorResponseProductProduct.md} +3 -3
  62. data/docs/DomainInspectorResponseService.md +10 -0
  63. data/docs/FanoutResponseBodyEnable.md +12 -0
  64. data/docs/FanoutResponseLinks.md +10 -0
  65. data/docs/{EnabledProductResponseLinks.md → FanoutResponseLinksLinks.md} +1 -1
  66. data/docs/FanoutResponseProduct.md +10 -0
  67. data/docs/{EnabledProductResponseProduct.md → FanoutResponseProductProduct.md} +1 -1
  68. data/docs/FanoutResponseService.md +10 -0
  69. data/docs/FilterFieldItem.md +12 -0
  70. data/docs/GetLogInsightsResponse.md +11 -0
  71. data/docs/GetLogRecordsResponse.md +11 -0
  72. data/docs/GetLogRecordsResponseMeta.md +10 -0
  73. data/docs/GetLogRecordsResponseMetaFilters.md +16 -0
  74. data/docs/ImageOptimizerResponseBodyEnable.md +12 -0
  75. data/docs/ImageOptimizerResponseLinks.md +10 -0
  76. data/docs/ImageOptimizerResponseLinksLinks.md +11 -0
  77. data/docs/ImageOptimizerResponseProduct.md +10 -0
  78. data/docs/ImageOptimizerResponseProductProduct.md +11 -0
  79. data/docs/ImageOptimizerResponseService.md +10 -0
  80. data/docs/InlineResponse2003.md +2 -2
  81. data/docs/InlineResponse2004.md +1 -1
  82. data/docs/InsightsApi.md +69 -0
  83. data/docs/KvStoreApi.md +30 -30
  84. data/docs/{Batch.md → KvStoreBatchResponse.md} +2 -2
  85. data/docs/{BatchErrors.md → KvStoreBatchResponseErrors.md} +4 -4
  86. data/docs/{StoreResponse.md → KvStoreDetails.md} +2 -2
  87. data/docs/KvStoreItemApi.md +55 -50
  88. data/docs/KvStoreRequestCreate.md +10 -0
  89. data/docs/KvStoreUpsertBatch.md +14 -0
  90. data/docs/LogExplorerApi.md +65 -0
  91. data/docs/LogExplorerInsightsResponseBodyEnable.md +12 -0
  92. data/docs/LogExplorerInsightsResponseLinks.md +10 -0
  93. data/docs/LogExplorerInsightsResponseLinksLinks.md +11 -0
  94. data/docs/LogExplorerInsightsResponseProduct.md +10 -0
  95. data/docs/LogExplorerInsightsResponseProductProduct.md +11 -0
  96. data/docs/LogExplorerInsightsResponseService.md +10 -0
  97. data/docs/LogInsights.md +12 -0
  98. data/docs/LogInsightsDimensionAttributes.md +49 -0
  99. data/docs/LogInsightsDimensions.md +61 -0
  100. data/docs/LogInsightsMeta.md +10 -0
  101. data/docs/LogInsightsMetaFilter.md +14 -0
  102. data/docs/LogInsightsValues.md +65 -0
  103. data/docs/{ReadOnlyServiceId.md → LogPropertyServiceId.md} +1 -1
  104. data/docs/LogRecord.md +37 -0
  105. data/docs/LoggingGrafanacloudlogsAdditional.md +14 -0
  106. data/docs/LoggingGrafanacloudlogsApi.md +259 -0
  107. data/docs/LoggingGrafanacloudlogsResponse.md +23 -0
  108. data/docs/{ReadOnlyVersion.md → NgwafRequestEnable.md} +2 -1
  109. data/docs/NgwafRequestUpdateConfiguration.md +11 -0
  110. data/docs/NgwafResponseConfiguration.md +10 -0
  111. data/docs/{ConfiguredProductResponseConfiguration.md → NgwafResponseConfigurationConfiguration.md} +2 -2
  112. data/docs/NgwafResponseConfigure.md +13 -0
  113. data/docs/NgwafResponseEnable.md +12 -0
  114. data/docs/NgwafResponseLinks.md +10 -0
  115. data/docs/{ConfiguredProductResponseLinks.md → NgwafResponseLinksLinks.md} +1 -1
  116. data/docs/NgwafResponseProduct.md +10 -0
  117. data/docs/{ConfiguredProductResponseProduct.md → NgwafResponseProductProduct.md} +1 -1
  118. data/docs/NgwafResponseService.md +10 -0
  119. data/docs/ObjectStorageAccessKeysApi.md +163 -0
  120. data/docs/ObjectStorageResponseBodyEnable.md +12 -0
  121. data/docs/ObjectStorageResponseCustomer.md +10 -0
  122. data/docs/ObjectStorageResponseLinks.md +10 -0
  123. data/docs/ObjectStorageResponseLinksLinks.md +10 -0
  124. data/docs/ObjectStorageResponseProduct.md +10 -0
  125. data/docs/ObjectStorageResponseProductProduct.md +11 -0
  126. data/docs/OriginInspectorMeasurements.md +4 -0
  127. data/docs/OriginInspectorResponseBodyEnable.md +12 -0
  128. data/docs/OriginInspectorResponseLinks.md +10 -0
  129. data/docs/OriginInspectorResponseLinksLinks.md +11 -0
  130. data/docs/OriginInspectorResponseProduct.md +10 -0
  131. data/docs/OriginInspectorResponseProductProduct.md +11 -0
  132. data/docs/OriginInspectorResponseService.md +10 -0
  133. data/docs/OriginInspectorValues.md +4 -0
  134. data/docs/ProductAiAcceleratorApi.md +115 -0
  135. data/docs/ProductBotManagementApi.md +130 -0
  136. data/docs/ProductBrotliCompressionApi.md +130 -0
  137. data/docs/ProductDdosProtectionApi.md +208 -0
  138. data/docs/ProductDomainInspectorApi.md +130 -0
  139. data/docs/ProductFanoutApi.md +130 -0
  140. data/docs/ProductImageOptimizerApi.md +130 -0
  141. data/docs/ProductLogExplorerInsightsApi.md +130 -0
  142. data/docs/ProductNgwafApi.md +210 -0
  143. data/docs/ProductObjectStorageApi.md +115 -0
  144. data/docs/ProductOriginInspectorApi.md +130 -0
  145. data/docs/ProductWebsocketsApi.md +130 -0
  146. data/docs/RealtimeEntryAggregated.md +18 -7
  147. data/docs/RealtimeMeasurements.md +18 -7
  148. data/docs/Results.md +18 -7
  149. data/docs/SnippetApi.md +15 -15
  150. data/docs/Usagemetric.md +18 -0
  151. data/docs/{Store.md → Usagemetrics.md} +2 -2
  152. data/docs/ValueField.md +59 -0
  153. data/docs/Values.md +2 -0
  154. data/docs/Values503Responses.md +12 -0
  155. data/docs/ValuesBandwidth.md +11 -0
  156. data/docs/ValuesBrowser.md +11 -0
  157. data/docs/ValuesCacheHitRatio.md +10 -0
  158. data/docs/ValuesCountryStats.md +12 -0
  159. data/docs/ValuesDuration.md +12 -0
  160. data/docs/ValuesMisses.md +10 -0
  161. data/docs/ValuesRate.md +10 -0
  162. data/docs/ValuesRequests.md +10 -0
  163. data/docs/ValuesStatusCodes.md +12 -0
  164. data/docs/WebsocketsResponseBodyEnable.md +12 -0
  165. data/docs/WebsocketsResponseLinks.md +10 -0
  166. data/docs/WebsocketsResponseLinksLinks.md +11 -0
  167. data/docs/WebsocketsResponseProduct.md +10 -0
  168. data/docs/WebsocketsResponseProductProduct.md +11 -0
  169. data/docs/WebsocketsResponseService.md +10 -0
  170. data/lib/fastly/api/acls_in_compute_api.rb +6 -6
  171. data/lib/fastly/api/backend_api.rb +4 -4
  172. data/lib/fastly/api/billing_usage_metrics_api.rb +46 -73
  173. data/lib/fastly/api/insights_api.rb +125 -0
  174. data/lib/fastly/api/kv_store_api.rb +53 -45
  175. data/lib/fastly/api/kv_store_item_api.rb +114 -99
  176. data/lib/fastly/api/log_explorer_api.rb +109 -0
  177. data/lib/fastly/api/logging_grafanacloudlogs_api.rb +471 -0
  178. data/lib/fastly/api/object_storage_access_keys_api.rb +263 -0
  179. data/lib/fastly/api/product_ai_accelerator_api.rb +186 -0
  180. data/lib/fastly/api/product_bot_management_api.rb +207 -0
  181. data/lib/fastly/api/product_brotli_compression_api.rb +207 -0
  182. data/lib/fastly/api/product_ddos_protection_api.rb +340 -0
  183. data/lib/fastly/api/product_domain_inspector_api.rb +207 -0
  184. data/lib/fastly/api/product_fanout_api.rb +207 -0
  185. data/lib/fastly/api/product_image_optimizer_api.rb +207 -0
  186. data/lib/fastly/api/product_log_explorer_insights_api.rb +207 -0
  187. data/lib/fastly/api/product_ngwaf_api.rb +347 -0
  188. data/lib/fastly/api/product_object_storage_api.rb +186 -0
  189. data/lib/fastly/api/product_origin_inspector_api.rb +207 -0
  190. data/lib/fastly/api/product_websockets_api.rb +207 -0
  191. data/lib/fastly/api/snippet_api.rb +35 -35
  192. data/lib/fastly/configuration.rb +308 -200
  193. data/lib/fastly/models/access_key.rb +248 -0
  194. data/lib/fastly/models/{legacy_waf_update_status.rb → access_key_response.rb} +48 -46
  195. data/lib/fastly/models/ai_accelerator_response_body_enable.rb +243 -0
  196. data/lib/fastly/models/ai_accelerator_response_customer.rb +216 -0
  197. data/lib/fastly/models/ai_accelerator_response_customer_customer.rb +227 -0
  198. data/lib/fastly/models/ai_accelerator_response_links.rb +216 -0
  199. data/lib/fastly/models/ai_accelerator_response_links_links.rb +217 -0
  200. data/lib/fastly/models/ai_accelerator_response_product.rb +216 -0
  201. data/lib/fastly/models/ai_accelerator_response_product_product.rb +227 -0
  202. data/lib/fastly/models/backend.rb +1 -1
  203. data/lib/fastly/models/backend_response.rb +1 -1
  204. data/lib/fastly/models/bot_management_response_body_enable.rb +243 -0
  205. data/lib/fastly/models/bot_management_response_links.rb +216 -0
  206. data/lib/fastly/models/bot_management_response_links_links.rb +227 -0
  207. data/lib/fastly/models/bot_management_response_product.rb +216 -0
  208. data/lib/fastly/models/bot_management_response_product_product.rb +227 -0
  209. data/lib/fastly/models/bot_management_response_service.rb +216 -0
  210. data/lib/fastly/models/{enabled_product_response_service.rb → bot_management_response_service_service.rb} +3 -3
  211. data/lib/fastly/models/brotli_compression_response_body_enable.rb +243 -0
  212. data/lib/fastly/models/brotli_compression_response_links.rb +216 -0
  213. data/lib/fastly/models/brotli_compression_response_links_links.rb +227 -0
  214. data/lib/fastly/models/brotli_compression_response_product.rb +216 -0
  215. data/lib/fastly/models/brotli_compression_response_product_product.rb +227 -0
  216. data/lib/fastly/models/brotli_compression_response_service.rb +216 -0
  217. data/lib/fastly/models/compute_acl_list.rb +228 -0
  218. data/lib/fastly/models/compute_acl_list_entries.rb +1 -1
  219. data/lib/fastly/models/compute_acl_list_meta.rb +218 -0
  220. data/lib/fastly/models/compute_acl_lookup.rb +3 -13
  221. data/lib/fastly/models/compute_acl_update.rb +219 -0
  222. data/lib/fastly/models/compute_acl_update_entry.rb +1 -1
  223. data/lib/fastly/models/ddos_protection_request_update_configuration.rb +256 -0
  224. data/lib/fastly/models/ddos_protection_response_configuration.rb +216 -0
  225. data/lib/fastly/models/ddos_protection_response_configuration_configuration.rb +217 -0
  226. data/lib/fastly/models/ddos_protection_response_configure.rb +253 -0
  227. data/lib/fastly/models/ddos_protection_response_enable.rb +243 -0
  228. data/lib/fastly/models/ddos_protection_response_links.rb +216 -0
  229. data/lib/fastly/models/ddos_protection_response_links_links.rb +227 -0
  230. data/lib/fastly/models/ddos_protection_response_product.rb +216 -0
  231. data/lib/fastly/models/ddos_protection_response_product_product.rb +227 -0
  232. data/lib/fastly/models/ddos_protection_response_service.rb +216 -0
  233. data/lib/fastly/models/dimension_attributes_country_stats.rb +237 -0
  234. data/lib/fastly/models/dimension_attributes_rate.rb +217 -0
  235. data/lib/fastly/models/dimension_browser.rb +217 -0
  236. data/lib/fastly/models/dimension_content_type.rb +217 -0
  237. data/lib/fastly/models/dimension_country.rb +217 -0
  238. data/lib/fastly/models/dimension_device.rb +217 -0
  239. data/lib/fastly/models/{store.rb → dimension_os.rb} +11 -11
  240. data/lib/fastly/models/{read_only_service_id.rb → dimension_response.rb} +15 -5
  241. data/lib/fastly/models/dimension_status_code.rb +217 -0
  242. data/lib/fastly/models/{legacy_waf_tag.rb → dimension_url.rb} +11 -11
  243. data/lib/fastly/models/domain_inspector_measurements.rb +21 -1
  244. data/lib/fastly/models/domain_inspector_response_body_enable.rb +243 -0
  245. data/lib/fastly/models/domain_inspector_response_links.rb +216 -0
  246. data/lib/fastly/models/domain_inspector_response_links_links.rb +227 -0
  247. data/lib/fastly/models/domain_inspector_response_product.rb +216 -0
  248. data/lib/fastly/models/domain_inspector_response_product_product.rb +227 -0
  249. data/lib/fastly/models/domain_inspector_response_service.rb +216 -0
  250. data/lib/fastly/models/fanout_response_body_enable.rb +243 -0
  251. data/lib/fastly/models/fanout_response_links.rb +216 -0
  252. data/lib/fastly/models/{enabled_product_response_links.rb → fanout_response_links_links.rb} +3 -3
  253. data/lib/fastly/models/fanout_response_product.rb +216 -0
  254. data/lib/fastly/models/{enabled_product_response_product.rb → fanout_response_product_product.rb} +3 -3
  255. data/lib/fastly/models/fanout_response_service.rb +216 -0
  256. data/lib/fastly/models/filter_field_item.rb +271 -0
  257. data/lib/fastly/models/{inline_response2004_meta.rb → get_log_insights_response.rb} +18 -16
  258. data/lib/fastly/models/get_log_records_response.rb +227 -0
  259. data/lib/fastly/models/get_log_records_response_meta.rb +216 -0
  260. data/lib/fastly/models/{legacy_waf_firewall.rb → get_log_records_response_meta_filters.rb} +80 -70
  261. data/lib/fastly/models/image_optimizer_response_body_enable.rb +243 -0
  262. data/lib/fastly/models/image_optimizer_response_links.rb +216 -0
  263. data/lib/fastly/models/image_optimizer_response_links_links.rb +227 -0
  264. data/lib/fastly/models/image_optimizer_response_product.rb +216 -0
  265. data/lib/fastly/models/image_optimizer_response_product_product.rb +227 -0
  266. data/lib/fastly/models/image_optimizer_response_service.rb +216 -0
  267. data/lib/fastly/models/inline_response2003.rb +2 -2
  268. data/lib/fastly/models/inline_response2004.rb +1 -1
  269. data/lib/fastly/models/{batch.rb → kv_store_batch_response.rb} +5 -5
  270. data/lib/fastly/models/{batch_errors.rb → kv_store_batch_response_errors.rb} +6 -6
  271. data/lib/fastly/models/{store_response.rb → kv_store_details.rb} +4 -4
  272. data/lib/fastly/models/{legacy_waf_configuration_set.rb → kv_store_request_create.rb} +10 -15
  273. data/lib/fastly/models/kv_store_upsert_batch.rb +269 -0
  274. data/lib/fastly/models/log_explorer_insights_response_body_enable.rb +243 -0
  275. data/lib/fastly/models/log_explorer_insights_response_links.rb +216 -0
  276. data/lib/fastly/models/log_explorer_insights_response_links_links.rb +227 -0
  277. data/lib/fastly/models/log_explorer_insights_response_product.rb +216 -0
  278. data/lib/fastly/models/log_explorer_insights_response_product_product.rb +227 -0
  279. data/lib/fastly/models/log_explorer_insights_response_service.rb +216 -0
  280. data/lib/fastly/models/log_insights.rb +234 -0
  281. data/lib/fastly/models/log_insights_dimension_attributes.rb +103 -0
  282. data/lib/fastly/models/log_insights_dimensions.rb +109 -0
  283. data/lib/fastly/models/log_insights_meta.rb +217 -0
  284. data/lib/fastly/models/{inline_response2003_meta.rb → log_insights_meta_filter.rb} +69 -13
  285. data/lib/fastly/models/log_insights_values.rb +111 -0
  286. data/lib/fastly/models/{read_only_version.rb → log_property_service_id.rb} +4 -3
  287. data/lib/fastly/models/log_record.rb +486 -0
  288. data/lib/fastly/models/logging_grafanacloudlogs_additional.rb +257 -0
  289. data/lib/fastly/models/logging_grafanacloudlogs_response.rb +408 -0
  290. data/lib/fastly/models/{set_workspace_id.rb → ngwaf_request_enable.rb} +9 -4
  291. data/lib/fastly/models/{set_configuration.rb → ngwaf_request_update_configuration.rb} +5 -5
  292. data/lib/fastly/models/ngwaf_response_configuration.rb +216 -0
  293. data/lib/fastly/models/{configured_product_response_configuration.rb → ngwaf_response_configuration_configuration.rb} +4 -4
  294. data/lib/fastly/models/{configured_product_response.rb → ngwaf_response_configure.rb} +17 -7
  295. data/lib/fastly/models/{enabled_product_response.rb → ngwaf_response_enable.rb} +15 -6
  296. data/lib/fastly/models/ngwaf_response_links.rb +216 -0
  297. data/lib/fastly/models/{configured_product_response_links.rb → ngwaf_response_links_links.rb} +3 -3
  298. data/lib/fastly/models/ngwaf_response_product.rb +216 -0
  299. data/lib/fastly/models/ngwaf_response_product_product.rb +227 -0
  300. data/lib/fastly/models/ngwaf_response_service.rb +216 -0
  301. data/lib/fastly/models/object_storage_response_body_enable.rb +243 -0
  302. data/lib/fastly/models/object_storage_response_customer.rb +216 -0
  303. data/lib/fastly/models/object_storage_response_links.rb +216 -0
  304. data/lib/fastly/models/object_storage_response_links_links.rb +217 -0
  305. data/lib/fastly/models/object_storage_response_product.rb +216 -0
  306. data/lib/fastly/models/object_storage_response_product_product.rb +227 -0
  307. data/lib/fastly/models/origin_inspector_measurements.rb +41 -1
  308. data/lib/fastly/models/origin_inspector_response_body_enable.rb +243 -0
  309. data/lib/fastly/models/origin_inspector_response_links.rb +216 -0
  310. data/lib/fastly/models/origin_inspector_response_links_links.rb +227 -0
  311. data/lib/fastly/models/origin_inspector_response_product.rb +216 -0
  312. data/lib/fastly/models/origin_inspector_response_product_product.rb +227 -0
  313. data/lib/fastly/models/origin_inspector_response_service.rb +216 -0
  314. data/lib/fastly/models/origin_inspector_values.rb +41 -1
  315. data/lib/fastly/models/realtime_entry_aggregated.rb +184 -74
  316. data/lib/fastly/models/realtime_measurements.rb +184 -74
  317. data/lib/fastly/models/results.rb +181 -71
  318. data/lib/fastly/models/schemas_snippet_response.rb +1 -0
  319. data/lib/fastly/models/snippet.rb +1 -0
  320. data/lib/fastly/models/snippet_common.rb +1 -0
  321. data/lib/fastly/models/snippet_response.rb +1 -0
  322. data/lib/fastly/models/snippet_response_post.rb +1 -0
  323. data/lib/fastly/models/snippet_with_dynamic_number.rb +1 -0
  324. data/lib/fastly/models/usagemetric.rb +297 -0
  325. data/lib/fastly/models/usagemetrics.rb +218 -0
  326. data/lib/fastly/models/value_field.rb +108 -0
  327. data/lib/fastly/models/values.rb +21 -1
  328. data/lib/fastly/models/{legacy_waf_rule_status.rb → values503_responses.rb} +25 -25
  329. data/lib/fastly/models/values_bandwidth.rb +227 -0
  330. data/lib/fastly/models/values_browser.rb +227 -0
  331. data/lib/fastly/models/values_cache_hit_ratio.rb +217 -0
  332. data/lib/fastly/models/values_country_stats.rb +237 -0
  333. data/lib/fastly/models/{legacy_waf_rule.rb → values_duration.rb} +25 -45
  334. data/lib/fastly/models/values_misses.rb +217 -0
  335. data/lib/fastly/models/values_rate.rb +217 -0
  336. data/lib/fastly/models/values_requests.rb +217 -0
  337. data/lib/fastly/models/values_status_codes.rb +237 -0
  338. data/lib/fastly/models/websockets_response_body_enable.rb +243 -0
  339. data/lib/fastly/models/websockets_response_links.rb +216 -0
  340. data/lib/fastly/models/websockets_response_links_links.rb +227 -0
  341. data/lib/fastly/models/websockets_response_product.rb +216 -0
  342. data/lib/fastly/models/{configured_product_response_product.rb → websockets_response_product_product.rb} +3 -3
  343. data/lib/fastly/models/websockets_response_service.rb +216 -0
  344. data/lib/fastly/version.rb +1 -1
  345. data/lib/fastly.rb +147 -35
  346. data/sig.json +1 -1
  347. metadata +299 -75
  348. data/docs/ConfiguredProductResponse.md +0 -13
  349. data/docs/EnabledProductResponse.md +0 -12
  350. data/docs/EnabledProductsApi.md +0 -220
  351. data/docs/LegacyWafConfigurationSet.md +0 -11
  352. data/docs/LegacyWafConfigurationSetsApi.md +0 -128
  353. data/docs/LegacyWafFirewall.md +0 -18
  354. data/docs/LegacyWafFirewallApi.md +0 -355
  355. data/docs/LegacyWafOwasp.md +0 -38
  356. data/docs/LegacyWafOwaspApi.md +0 -141
  357. data/docs/LegacyWafRule.md +0 -14
  358. data/docs/LegacyWafRuleApi.md +0 -187
  359. data/docs/LegacyWafRuleStatus.md +0 -12
  360. data/docs/LegacyWafRuleStatusApi.md +0 -205
  361. data/docs/LegacyWafRuleset.md +0 -11
  362. data/docs/LegacyWafRulesetApi.md +0 -139
  363. data/docs/LegacyWafTagApi.md +0 -61
  364. data/docs/LegacyWafUpdateStatus.md +0 -15
  365. data/docs/LegacyWafUpdateStatusApi.md +0 -105
  366. data/docs/SetConfiguration.md +0 -11
  367. data/docs/SetWorkspaceId.md +0 -10
  368. data/lib/fastly/api/enabled_products_api.rb +0 -382
  369. data/lib/fastly/api/legacy_waf_configuration_sets_api.rb +0 -209
  370. data/lib/fastly/api/legacy_waf_firewall_api.rb +0 -627
  371. data/lib/fastly/api/legacy_waf_owasp_api.rb +0 -244
  372. data/lib/fastly/api/legacy_waf_rule_api.rb +0 -307
  373. data/lib/fastly/api/legacy_waf_rule_status_api.rb +0 -366
  374. data/lib/fastly/api/legacy_waf_ruleset_api.rb +0 -237
  375. data/lib/fastly/api/legacy_waf_tag_api.rb +0 -96
  376. data/lib/fastly/api/legacy_waf_update_status_api.rb +0 -184
  377. data/lib/fastly/models/legacy_waf_owasp.rb +0 -527
  378. data/lib/fastly/models/legacy_waf_ruleset.rb +0 -227
@@ -0,0 +1,207 @@
1
+ =begin
2
+ #Fastly API
3
+
4
+ #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: oss@fastly.com
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module Fastly
14
+ class ProductBrotliCompressionApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Disable product
21
+ # Disable the Brotli Compression product on a service.
22
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
23
+ # @return [nil]
24
+ def disable_product_brotli_compression(opts = {})
25
+ disable_product_brotli_compression_with_http_info(opts)
26
+ nil
27
+ end
28
+
29
+ # Disable product
30
+ # Disable the Brotli Compression product on a service.
31
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
32
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
33
+ def disable_product_brotli_compression_with_http_info(opts = {})
34
+ if @api_client.config.debugging
35
+ @api_client.config.logger.debug 'Calling API: ProductBrotliCompressionApi.disable_product_brotli_compression ...'
36
+ end
37
+ # unbox the parameters from the hash
38
+ service_id = opts[:'service_id']
39
+ # verify the required parameter 'service_id' is set
40
+ if @api_client.config.client_side_validation && service_id.nil?
41
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling ProductBrotliCompressionApi.disable_product_brotli_compression"
42
+ end
43
+ # resource path
44
+ local_var_path = '/enabled-products/v1/brotli_compression/services/{service_id}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+
52
+ # form parameters
53
+ form_params = opts[:form_params] || {}
54
+
55
+ # http body (model)
56
+ post_body = opts[:debug_body]
57
+
58
+ # return_type
59
+ return_type = opts[:debug_return_type]
60
+
61
+ # auth_names
62
+ auth_names = opts[:debug_auth_names] || ['token']
63
+
64
+ new_options = opts.merge(
65
+ :operation => :"ProductBrotliCompressionApi.disable_product_brotli_compression",
66
+ :header_params => header_params,
67
+ :query_params => query_params,
68
+ :form_params => form_params,
69
+ :body => post_body,
70
+ :auth_names => auth_names,
71
+ :return_type => return_type
72
+ )
73
+
74
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
75
+ if @api_client.config.debugging
76
+ @api_client.config.logger.debug "API called: ProductBrotliCompressionApi#disable_product_brotli_compression\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
77
+ end
78
+ return data, status_code, headers
79
+ end
80
+
81
+ # Enable product
82
+ # Enable the Brotli Compression product on a service.
83
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
84
+ # @return [BrotliCompressionResponseBodyEnable]
85
+ def enable_product_brotli_compression(opts = {})
86
+ data, _status_code, _headers = enable_product_brotli_compression_with_http_info(opts)
87
+ data
88
+ end
89
+
90
+ # Enable product
91
+ # Enable the Brotli Compression product on a service.
92
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
93
+ # @return [Array<(BrotliCompressionResponseBodyEnable, Integer, Hash)>] BrotliCompressionResponseBodyEnable data, response status code and response headers
94
+ def enable_product_brotli_compression_with_http_info(opts = {})
95
+ if @api_client.config.debugging
96
+ @api_client.config.logger.debug 'Calling API: ProductBrotliCompressionApi.enable_product_brotli_compression ...'
97
+ end
98
+ # unbox the parameters from the hash
99
+ service_id = opts[:'service_id']
100
+ # verify the required parameter 'service_id' is set
101
+ if @api_client.config.client_side_validation && service_id.nil?
102
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling ProductBrotliCompressionApi.enable_product_brotli_compression"
103
+ end
104
+ # resource path
105
+ local_var_path = '/enabled-products/v1/brotli_compression/services/{service_id}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
106
+
107
+ # query parameters
108
+ query_params = opts[:query_params] || {}
109
+
110
+ # header parameters
111
+ header_params = opts[:header_params] || {}
112
+ # HTTP header 'Accept' (if needed)
113
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
114
+
115
+ # form parameters
116
+ form_params = opts[:form_params] || {}
117
+
118
+ # http body (model)
119
+ post_body = opts[:debug_body]
120
+
121
+ # return_type
122
+ return_type = opts[:debug_return_type] || 'BrotliCompressionResponseBodyEnable'
123
+
124
+ # auth_names
125
+ auth_names = opts[:debug_auth_names] || ['token']
126
+
127
+ new_options = opts.merge(
128
+ :operation => :"ProductBrotliCompressionApi.enable_product_brotli_compression",
129
+ :header_params => header_params,
130
+ :query_params => query_params,
131
+ :form_params => form_params,
132
+ :body => post_body,
133
+ :auth_names => auth_names,
134
+ :return_type => return_type
135
+ )
136
+
137
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
138
+ if @api_client.config.debugging
139
+ @api_client.config.logger.debug "API called: ProductBrotliCompressionApi#enable_product_brotli_compression\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
140
+ end
141
+ return data, status_code, headers
142
+ end
143
+
144
+ # Get product enablement status
145
+ # Get the enablement status of the Brotli Compression product on a service.
146
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
147
+ # @return [BrotliCompressionResponseBodyEnable]
148
+ def get_product_brotli_compression(opts = {})
149
+ data, _status_code, _headers = get_product_brotli_compression_with_http_info(opts)
150
+ data
151
+ end
152
+
153
+ # Get product enablement status
154
+ # Get the enablement status of the Brotli Compression product on a service.
155
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
156
+ # @return [Array<(BrotliCompressionResponseBodyEnable, Integer, Hash)>] BrotliCompressionResponseBodyEnable data, response status code and response headers
157
+ def get_product_brotli_compression_with_http_info(opts = {})
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug 'Calling API: ProductBrotliCompressionApi.get_product_brotli_compression ...'
160
+ end
161
+ # unbox the parameters from the hash
162
+ service_id = opts[:'service_id']
163
+ # verify the required parameter 'service_id' is set
164
+ if @api_client.config.client_side_validation && service_id.nil?
165
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling ProductBrotliCompressionApi.get_product_brotli_compression"
166
+ end
167
+ # resource path
168
+ local_var_path = '/enabled-products/v1/brotli_compression/services/{service_id}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
169
+
170
+ # query parameters
171
+ query_params = opts[:query_params] || {}
172
+
173
+ # header parameters
174
+ header_params = opts[:header_params] || {}
175
+ # HTTP header 'Accept' (if needed)
176
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
177
+
178
+ # form parameters
179
+ form_params = opts[:form_params] || {}
180
+
181
+ # http body (model)
182
+ post_body = opts[:debug_body]
183
+
184
+ # return_type
185
+ return_type = opts[:debug_return_type] || 'BrotliCompressionResponseBodyEnable'
186
+
187
+ # auth_names
188
+ auth_names = opts[:debug_auth_names] || ['token']
189
+
190
+ new_options = opts.merge(
191
+ :operation => :"ProductBrotliCompressionApi.get_product_brotli_compression",
192
+ :header_params => header_params,
193
+ :query_params => query_params,
194
+ :form_params => form_params,
195
+ :body => post_body,
196
+ :auth_names => auth_names,
197
+ :return_type => return_type
198
+ )
199
+
200
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
201
+ if @api_client.config.debugging
202
+ @api_client.config.logger.debug "API called: ProductBrotliCompressionApi#get_product_brotli_compression\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
203
+ end
204
+ return data, status_code, headers
205
+ end
206
+ end
207
+ end
@@ -0,0 +1,340 @@
1
+ =begin
2
+ #Fastly API
3
+
4
+ #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: oss@fastly.com
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module Fastly
14
+ class ProductDdosProtectionApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Disable product
21
+ # Disable the DDoS Protection product on a service.
22
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
23
+ # @return [nil]
24
+ def disable_product_ddos_protection(opts = {})
25
+ disable_product_ddos_protection_with_http_info(opts)
26
+ nil
27
+ end
28
+
29
+ # Disable product
30
+ # Disable the DDoS Protection product on a service.
31
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
32
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
33
+ def disable_product_ddos_protection_with_http_info(opts = {})
34
+ if @api_client.config.debugging
35
+ @api_client.config.logger.debug 'Calling API: ProductDdosProtectionApi.disable_product_ddos_protection ...'
36
+ end
37
+ # unbox the parameters from the hash
38
+ service_id = opts[:'service_id']
39
+ # verify the required parameter 'service_id' is set
40
+ if @api_client.config.client_side_validation && service_id.nil?
41
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling ProductDdosProtectionApi.disable_product_ddos_protection"
42
+ end
43
+ # resource path
44
+ local_var_path = '/enabled-products/v1/ddos_protection/services/{service_id}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+
52
+ # form parameters
53
+ form_params = opts[:form_params] || {}
54
+
55
+ # http body (model)
56
+ post_body = opts[:debug_body]
57
+
58
+ # return_type
59
+ return_type = opts[:debug_return_type]
60
+
61
+ # auth_names
62
+ auth_names = opts[:debug_auth_names] || ['token']
63
+
64
+ new_options = opts.merge(
65
+ :operation => :"ProductDdosProtectionApi.disable_product_ddos_protection",
66
+ :header_params => header_params,
67
+ :query_params => query_params,
68
+ :form_params => form_params,
69
+ :body => post_body,
70
+ :auth_names => auth_names,
71
+ :return_type => return_type
72
+ )
73
+
74
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
75
+ if @api_client.config.debugging
76
+ @api_client.config.logger.debug "API called: ProductDdosProtectionApi#disable_product_ddos_protection\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
77
+ end
78
+ return data, status_code, headers
79
+ end
80
+
81
+ # Enable product
82
+ # Enable the DDoS Protection product on a service.
83
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
84
+ # @return [DdosProtectionResponseEnable]
85
+ def enable_product_ddos_protection(opts = {})
86
+ data, _status_code, _headers = enable_product_ddos_protection_with_http_info(opts)
87
+ data
88
+ end
89
+
90
+ # Enable product
91
+ # Enable the DDoS Protection product on a service.
92
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
93
+ # @return [Array<(DdosProtectionResponseEnable, Integer, Hash)>] DdosProtectionResponseEnable data, response status code and response headers
94
+ def enable_product_ddos_protection_with_http_info(opts = {})
95
+ if @api_client.config.debugging
96
+ @api_client.config.logger.debug 'Calling API: ProductDdosProtectionApi.enable_product_ddos_protection ...'
97
+ end
98
+ # unbox the parameters from the hash
99
+ service_id = opts[:'service_id']
100
+ # verify the required parameter 'service_id' is set
101
+ if @api_client.config.client_side_validation && service_id.nil?
102
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling ProductDdosProtectionApi.enable_product_ddos_protection"
103
+ end
104
+ # resource path
105
+ local_var_path = '/enabled-products/v1/ddos_protection/services/{service_id}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
106
+
107
+ # query parameters
108
+ query_params = opts[:query_params] || {}
109
+
110
+ # header parameters
111
+ header_params = opts[:header_params] || {}
112
+ # HTTP header 'Accept' (if needed)
113
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
114
+
115
+ # form parameters
116
+ form_params = opts[:form_params] || {}
117
+
118
+ # http body (model)
119
+ post_body = opts[:debug_body]
120
+
121
+ # return_type
122
+ return_type = opts[:debug_return_type] || 'DdosProtectionResponseEnable'
123
+
124
+ # auth_names
125
+ auth_names = opts[:debug_auth_names] || ['token']
126
+
127
+ new_options = opts.merge(
128
+ :operation => :"ProductDdosProtectionApi.enable_product_ddos_protection",
129
+ :header_params => header_params,
130
+ :query_params => query_params,
131
+ :form_params => form_params,
132
+ :body => post_body,
133
+ :auth_names => auth_names,
134
+ :return_type => return_type
135
+ )
136
+
137
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
138
+ if @api_client.config.debugging
139
+ @api_client.config.logger.debug "API called: ProductDdosProtectionApi#enable_product_ddos_protection\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
140
+ end
141
+ return data, status_code, headers
142
+ end
143
+
144
+ # Get product enablement status
145
+ # Get the enablement status of the DDoS Protection product on a service.
146
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
147
+ # @return [DdosProtectionResponseEnable]
148
+ def get_product_ddos_protection(opts = {})
149
+ data, _status_code, _headers = get_product_ddos_protection_with_http_info(opts)
150
+ data
151
+ end
152
+
153
+ # Get product enablement status
154
+ # Get the enablement status of the DDoS Protection product on a service.
155
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
156
+ # @return [Array<(DdosProtectionResponseEnable, Integer, Hash)>] DdosProtectionResponseEnable data, response status code and response headers
157
+ def get_product_ddos_protection_with_http_info(opts = {})
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug 'Calling API: ProductDdosProtectionApi.get_product_ddos_protection ...'
160
+ end
161
+ # unbox the parameters from the hash
162
+ service_id = opts[:'service_id']
163
+ # verify the required parameter 'service_id' is set
164
+ if @api_client.config.client_side_validation && service_id.nil?
165
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling ProductDdosProtectionApi.get_product_ddos_protection"
166
+ end
167
+ # resource path
168
+ local_var_path = '/enabled-products/v1/ddos_protection/services/{service_id}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
169
+
170
+ # query parameters
171
+ query_params = opts[:query_params] || {}
172
+
173
+ # header parameters
174
+ header_params = opts[:header_params] || {}
175
+ # HTTP header 'Accept' (if needed)
176
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
177
+
178
+ # form parameters
179
+ form_params = opts[:form_params] || {}
180
+
181
+ # http body (model)
182
+ post_body = opts[:debug_body]
183
+
184
+ # return_type
185
+ return_type = opts[:debug_return_type] || 'DdosProtectionResponseEnable'
186
+
187
+ # auth_names
188
+ auth_names = opts[:debug_auth_names] || ['token']
189
+
190
+ new_options = opts.merge(
191
+ :operation => :"ProductDdosProtectionApi.get_product_ddos_protection",
192
+ :header_params => header_params,
193
+ :query_params => query_params,
194
+ :form_params => form_params,
195
+ :body => post_body,
196
+ :auth_names => auth_names,
197
+ :return_type => return_type
198
+ )
199
+
200
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
201
+ if @api_client.config.debugging
202
+ @api_client.config.logger.debug "API called: ProductDdosProtectionApi#get_product_ddos_protection\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
203
+ end
204
+ return data, status_code, headers
205
+ end
206
+
207
+ # Get configuration
208
+ # Get configuration of the DDoS Protection product on a service.
209
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
210
+ # @return [DdosProtectionResponseConfigure]
211
+ def get_product_ddos_protection_configuration(opts = {})
212
+ data, _status_code, _headers = get_product_ddos_protection_configuration_with_http_info(opts)
213
+ data
214
+ end
215
+
216
+ # Get configuration
217
+ # Get configuration of the DDoS Protection product on a service.
218
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
219
+ # @return [Array<(DdosProtectionResponseConfigure, Integer, Hash)>] DdosProtectionResponseConfigure data, response status code and response headers
220
+ def get_product_ddos_protection_configuration_with_http_info(opts = {})
221
+ if @api_client.config.debugging
222
+ @api_client.config.logger.debug 'Calling API: ProductDdosProtectionApi.get_product_ddos_protection_configuration ...'
223
+ end
224
+ # unbox the parameters from the hash
225
+ service_id = opts[:'service_id']
226
+ # verify the required parameter 'service_id' is set
227
+ if @api_client.config.client_side_validation && service_id.nil?
228
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling ProductDdosProtectionApi.get_product_ddos_protection_configuration"
229
+ end
230
+ # resource path
231
+ local_var_path = '/enabled-products/v1/ddos_protection/services/{service_id}/configuration'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
232
+
233
+ # query parameters
234
+ query_params = opts[:query_params] || {}
235
+
236
+ # header parameters
237
+ header_params = opts[:header_params] || {}
238
+ # HTTP header 'Accept' (if needed)
239
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
240
+
241
+ # form parameters
242
+ form_params = opts[:form_params] || {}
243
+
244
+ # http body (model)
245
+ post_body = opts[:debug_body]
246
+
247
+ # return_type
248
+ return_type = opts[:debug_return_type] || 'DdosProtectionResponseConfigure'
249
+
250
+ # auth_names
251
+ auth_names = opts[:debug_auth_names] || ['token']
252
+
253
+ new_options = opts.merge(
254
+ :operation => :"ProductDdosProtectionApi.get_product_ddos_protection_configuration",
255
+ :header_params => header_params,
256
+ :query_params => query_params,
257
+ :form_params => form_params,
258
+ :body => post_body,
259
+ :auth_names => auth_names,
260
+ :return_type => return_type
261
+ )
262
+
263
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
264
+ if @api_client.config.debugging
265
+ @api_client.config.logger.debug "API called: ProductDdosProtectionApi#get_product_ddos_protection_configuration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
266
+ end
267
+ return data, status_code, headers
268
+ end
269
+
270
+ # Update configuration
271
+ # Update configuration of the DDoS Protection product on a service.
272
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
273
+ # @option opts [DdosProtectionRequestUpdateConfiguration] :ddos_protection_request_update_configuration
274
+ # @return [DdosProtectionResponseConfigure]
275
+ def set_product_ddos_protection_configuration(opts = {})
276
+ data, _status_code, _headers = set_product_ddos_protection_configuration_with_http_info(opts)
277
+ data
278
+ end
279
+
280
+ # Update configuration
281
+ # Update configuration of the DDoS Protection product on a service.
282
+ # @option opts [String] :service_id Alphanumeric string identifying the service. (required)
283
+ # @option opts [DdosProtectionRequestUpdateConfiguration] :ddos_protection_request_update_configuration
284
+ # @return [Array<(DdosProtectionResponseConfigure, Integer, Hash)>] DdosProtectionResponseConfigure data, response status code and response headers
285
+ def set_product_ddos_protection_configuration_with_http_info(opts = {})
286
+ if @api_client.config.debugging
287
+ @api_client.config.logger.debug 'Calling API: ProductDdosProtectionApi.set_product_ddos_protection_configuration ...'
288
+ end
289
+ # unbox the parameters from the hash
290
+ service_id = opts[:'service_id']
291
+ # verify the required parameter 'service_id' is set
292
+ if @api_client.config.client_side_validation && service_id.nil?
293
+ fail ArgumentError, "Missing the required parameter 'service_id' when calling ProductDdosProtectionApi.set_product_ddos_protection_configuration"
294
+ end
295
+ # resource path
296
+ local_var_path = '/enabled-products/v1/ddos_protection/services/{service_id}/configuration'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))
297
+
298
+ # query parameters
299
+ query_params = opts[:query_params] || {}
300
+
301
+ # header parameters
302
+ header_params = opts[:header_params] || {}
303
+ # HTTP header 'Accept' (if needed)
304
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
305
+ # HTTP header 'Content-Type'
306
+ content_type = @api_client.select_header_content_type(['application/json'])
307
+ if !content_type.nil?
308
+ header_params['Content-Type'] = content_type
309
+ end
310
+
311
+ # form parameters
312
+ form_params = opts[:form_params] || {}
313
+
314
+ # http body (model)
315
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'ddos_protection_request_update_configuration'])
316
+
317
+ # return_type
318
+ return_type = opts[:debug_return_type] || 'DdosProtectionResponseConfigure'
319
+
320
+ # auth_names
321
+ auth_names = opts[:debug_auth_names] || ['token']
322
+
323
+ new_options = opts.merge(
324
+ :operation => :"ProductDdosProtectionApi.set_product_ddos_protection_configuration",
325
+ :header_params => header_params,
326
+ :query_params => query_params,
327
+ :form_params => form_params,
328
+ :body => post_body,
329
+ :auth_names => auth_names,
330
+ :return_type => return_type
331
+ )
332
+
333
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
334
+ if @api_client.config.debugging
335
+ @api_client.config.logger.debug "API called: ProductDdosProtectionApi#set_product_ddos_protection_configuration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
336
+ end
337
+ return data, status_code, headers
338
+ end
339
+ end
340
+ end