fastly 17.2.0 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -1
  3. data/Gemfile.lock +1 -1
  4. data/README.md +73 -2
  5. data/docs/AiRuntimeControlProviderConnectionsApi.md +210 -0
  6. data/docs/AiRuntimeControlProvidersApi.md +121 -0
  7. data/docs/AiRuntimeControlResponseBodyEnable.md +12 -0
  8. data/docs/AiRuntimeControlResponseCustomer.md +10 -0
  9. data/docs/AiRuntimeControlResponseLinks.md +10 -0
  10. data/docs/AiRuntimeControlResponseLinksLinks.md +10 -0
  11. data/docs/AiRuntimeControlResponseProduct.md +10 -0
  12. data/docs/AiRuntimeControlResponseProductProduct.md +11 -0
  13. data/docs/AiRuntimeControlSessionsApi.md +69 -0
  14. data/docs/AiRuntimeControlUsageMetricsApi.md +113 -0
  15. data/docs/AiRuntimeControlVirtualKeysApi.md +334 -0
  16. data/docs/ArcBedrockSetupResponse.md +11 -0
  17. data/docs/ArcCreateVirtualKeyResponse.md +19 -0
  18. data/docs/ArcError.md +12 -0
  19. data/docs/ArcFailoverTarget.md +10 -0
  20. data/docs/ArcGetProviderConnectionResponse.md +19 -0
  21. data/docs/ArcGetProviderConnectionResponseExtra.md +10 -0
  22. data/docs/ArcModel.md +12 -0
  23. data/docs/ArcModelsMeta.md +10 -0
  24. data/docs/ArcModelsResponse.md +11 -0
  25. data/docs/ArcProvider.md +13 -0
  26. data/docs/ArcProviderConnectionApiKey.md +14 -0
  27. data/docs/ArcProviderConnectionAwsIam.md +14 -0
  28. data/docs/ArcProviderConnectionListItemResponse.md +19 -0
  29. data/docs/ArcProviderConnectionListItemResponseExtra.md +10 -0
  30. data/docs/ArcProviderConnectionRequest.md +49 -0
  31. data/docs/ArcProviderConnectionResponse.md +18 -0
  32. data/docs/ArcProviderConnectionsMeta.md +11 -0
  33. data/docs/ArcProviderConnectionsResponse.md +11 -0
  34. data/docs/ArcProvidersMeta.md +10 -0
  35. data/docs/ArcProvidersResponse.md +11 -0
  36. data/docs/ArcRotateVirtualKeyRequest.md +10 -0
  37. data/docs/ArcRotateVirtualKeyResponse.md +17 -0
  38. data/docs/ArcSession.md +28 -0
  39. data/docs/ArcSessionLogEntry.md +12 -0
  40. data/docs/ArcSessionsMeta.md +14 -0
  41. data/docs/ArcSessionsResponse.md +11 -0
  42. data/docs/ArcUpdateProviderConnectionRequest.md +14 -0
  43. data/docs/ArcUpdateVirtualKeyRequest.md +16 -0
  44. data/docs/ArcUpdateVirtualKeyResponse.md +20 -0
  45. data/docs/ArcUsageMetric.md +18 -0
  46. data/docs/ArcUsageMetricsMeta.md +11 -0
  47. data/docs/ArcUsageMetricsResponse.md +11 -0
  48. data/docs/ArcVirtualKey.md +15 -0
  49. data/docs/ArcVirtualKeyFailoverRequest.md +13 -0
  50. data/docs/ArcVirtualKeyFailoverResponse.md +13 -0
  51. data/docs/ArcVirtualKeyListItemResponse.md +26 -0
  52. data/docs/ArcVirtualKeyListItemResponseExtra.md +20 -0
  53. data/docs/ArcVirtualKeyResponse.md +25 -0
  54. data/docs/ArcVirtualKeyResponseExtra.md +19 -0
  55. data/docs/ArcVirtualKeysMeta.md +14 -0
  56. data/docs/ArcVirtualKeysResponse.md +11 -0
  57. data/docs/AutomationToken.md +6 -2
  58. data/docs/AutomationTokenCreateRequest.md +10 -1
  59. data/docs/AutomationTokenCreateResponse.md +6 -2
  60. data/docs/AutomationTokenResponse.md +5 -1
  61. data/docs/AutomationTokenRole.md +11 -0
  62. data/docs/AutomationTokenUnversionedError.md +11 -0
  63. data/docs/AutomationTokenUnversionedErrorResponse.md +10 -0
  64. data/docs/AutomationTokenWorkspace.md +11 -0
  65. data/docs/AutomationTokenWorkspacesMeta.md +12 -0
  66. data/docs/AutomationTokenWorkspacesResponse.md +12 -0
  67. data/docs/AutomationTokensApi.md +43 -1
  68. data/docs/BotManagementAction.md +10 -0
  69. data/docs/BotManagementApi.md +433 -0
  70. data/docs/BotManagementBot.md +10 -0
  71. data/docs/BotManagementBotAction.md +10 -0
  72. data/docs/BotManagementBotResponse.md +12 -0
  73. data/docs/BotManagementBotResponseExtra.md +11 -0
  74. data/docs/BotManagementBotsResponse.md +11 -0
  75. data/docs/BotManagementCategoriesResponse.md +11 -0
  76. data/docs/BotManagementCategory.md +10 -0
  77. data/docs/BotManagementCategoryResponse.md +13 -0
  78. data/docs/BotManagementCategoryResponseExtra.md +12 -0
  79. data/docs/BotManagementError.md +12 -0
  80. data/docs/BotManagementInvalidRequestError.md +12 -0
  81. data/docs/BotManagementInvalidRequestErrorExtra.md +12 -0
  82. data/docs/BotManagementMeta.md +12 -0
  83. data/docs/BotManagementNotAllowedError.md +12 -0
  84. data/docs/BotManagementNotAllowedErrorExtra.md +11 -0
  85. data/docs/BotManagementNotAuthenticatedError.md +12 -0
  86. data/docs/BotManagementNotAuthenticatedErrorExtra.md +11 -0
  87. data/docs/BotManagementNotFoundError.md +12 -0
  88. data/docs/BotManagementNotFoundErrorExtra.md +11 -0
  89. data/docs/BotManagementProtectionMode.md +9 -0
  90. data/docs/BotManagementRateLimitError.md +12 -0
  91. data/docs/BotManagementRateLimitErrorExtra.md +11 -0
  92. data/docs/BotManagementWorkspace.md +12 -0
  93. data/docs/BotManagementWorkspaceBotResponse.md +13 -0
  94. data/docs/BotManagementWorkspaceBotResponseExtra.md +10 -0
  95. data/docs/BotManagementWorkspaceBotsResponse.md +11 -0
  96. data/docs/BotManagementWorkspaceResponse.md +16 -0
  97. data/docs/BotManagementWorkspaceResponseExtra.md +13 -0
  98. data/docs/BotManagementWorkspacesResponse.md +11 -0
  99. data/docs/BotRequestMetricsDataItem.md +16 -0
  100. data/docs/BotRequestMetricsMetadata.md +14 -0
  101. data/docs/BotRequestMetricsResponse.md +11 -0
  102. data/docs/BotRequestsMetricsApi.md +77 -0
  103. data/docs/BulkUpdateDictionaryItem.md +1 -1
  104. data/docs/DdosProtectionRule.md +1 -1
  105. data/docs/DdosProtectionRuleAllOf.md +1 -1
  106. data/docs/DdosProtectionRulePatch.md +1 -1
  107. data/docs/DdosProtectionRuleWithStats.md +1 -1
  108. data/docs/DictionaryItem.md +1 -1
  109. data/docs/DictionaryItemApi.md +14 -14
  110. data/docs/DictionaryItemResponse.md +1 -1
  111. data/docs/MetricsPlatformApi.md +69 -13
  112. data/docs/NetworkProtectApi.md +789 -0
  113. data/docs/NetworkProtectConflict.md +13 -0
  114. data/docs/NetworkProtectConflictError.md +11 -0
  115. data/docs/NetworkProtectEndpoint.md +11 -0
  116. data/docs/NetworkProtectEndpointCreate.md +11 -0
  117. data/docs/NetworkProtectEndpointPolicy.md +11 -0
  118. data/docs/NetworkProtectEndpointResponse.md +14 -0
  119. data/docs/NetworkProtectEndpointResponseFields.md +12 -0
  120. data/docs/NetworkProtectEndpointUpdate.md +10 -0
  121. data/docs/NetworkProtectEndpointsResponse.md +11 -0
  122. data/docs/NetworkProtectErrorDetail.md +11 -0
  123. data/docs/NetworkProtectInvalidRequest.md +13 -0
  124. data/docs/NetworkProtectListMeta.md +11 -0
  125. data/docs/NetworkProtectLoaStatus.md +9 -0
  126. data/docs/NetworkProtectNetwork.md +15 -0
  127. data/docs/NetworkProtectNetworkCreate.md +14 -0
  128. data/docs/NetworkProtectNetworkResponse.md +22 -0
  129. data/docs/NetworkProtectNetworkResponseFields.md +16 -0
  130. data/docs/NetworkProtectNetworkUpdate.md +14 -0
  131. data/docs/NetworkProtectNetworksResponse.md +11 -0
  132. data/docs/NetworkProtectPolicyEndpoint.md +13 -0
  133. data/docs/NetworkProtectPrefixList.md +12 -0
  134. data/docs/NetworkProtectPrefixListCreate.md +12 -0
  135. data/docs/NetworkProtectPrefixListFamily.md +9 -0
  136. data/docs/NetworkProtectPrefixListResponse.md +15 -0
  137. data/docs/NetworkProtectPrefixListResponseFields.md +12 -0
  138. data/docs/NetworkProtectPrefixListUpdate.md +11 -0
  139. data/docs/NetworkProtectPrefixListsResponse.md +11 -0
  140. data/docs/NetworkProtectRegion.md +9 -0
  141. data/docs/NetworkProtectRoaStatus.md +9 -0
  142. data/docs/NetworkProtectRule.md +16 -0
  143. data/docs/NetworkProtectRuleAction.md +9 -0
  144. data/docs/NetworkProtectRuleDestinationPorts.md +9 -0
  145. data/docs/NetworkProtectRuleIpProtocol.md +9 -0
  146. data/docs/NetworkProtectRuleMatchDestinationIp.md +10 -0
  147. data/docs/NetworkProtectRuleMatchDestinationPorts.md +10 -0
  148. data/docs/NetworkProtectRuleMatchIpProtocol.md +10 -0
  149. data/docs/NetworkProtectRuleMatchSourcePorts.md +10 -0
  150. data/docs/NetworkProtectRuleMatchSourcePrefixList.md +10 -0
  151. data/docs/NetworkProtectRuleResponse.md +16 -0
  152. data/docs/NetworkProtectRuleSet.md +11 -0
  153. data/docs/NetworkProtectRuleSetCreate.md +11 -0
  154. data/docs/NetworkProtectRuleSetDefaultAction.md +9 -0
  155. data/docs/NetworkProtectRuleSetResponse.md +14 -0
  156. data/docs/NetworkProtectRuleSetResponseFields.md +12 -0
  157. data/docs/NetworkProtectRuleSetUpdate.md +11 -0
  158. data/docs/NetworkProtectRuleSetsResponse.md +11 -0
  159. data/docs/NetworkProtectRuleSourcePorts.md +9 -0
  160. data/docs/NetworkProtectRuleTimestamps.md +11 -0
  161. data/docs/PlatformValues.md +359 -16
  162. data/docs/ProductAiRuntimeControlApi.md +115 -0
  163. data/docs/PurgeApi.md +6 -0
  164. data/docs/RealtimeEntryAggregated.md +16 -0
  165. data/docs/RealtimeEntryDatacenter.md +16 -0
  166. data/docs/RealtimeMeasurements.md +16 -0
  167. data/docs/Results.md +16 -0
  168. data/lib/fastly/api/ai_runtime_control_provider_connections_api.rb +355 -0
  169. data/lib/fastly/api/ai_runtime_control_providers_api.rb +195 -0
  170. data/lib/fastly/api/ai_runtime_control_sessions_api.rb +112 -0
  171. data/lib/fastly/api/ai_runtime_control_usage_metrics_api.rb +176 -0
  172. data/lib/fastly/api/ai_runtime_control_virtual_keys_api.rb +580 -0
  173. data/lib/fastly/api/automation_tokens_api.rb +78 -1
  174. data/lib/fastly/api/bot_management_api.rb +787 -0
  175. data/lib/fastly/api/bot_requests_metrics_api.rb +137 -0
  176. data/lib/fastly/api/dictionary_item_api.rb +14 -14
  177. data/lib/fastly/api/metrics_platform_api.rb +130 -23
  178. data/lib/fastly/api/network_protect_api.rb +1420 -0
  179. data/lib/fastly/api/product_ai_runtime_control_api.rb +186 -0
  180. data/lib/fastly/api/purge_api.rb +21 -0
  181. data/lib/fastly/configuration.rb +331 -1
  182. data/lib/fastly/models/ai_runtime_control_response_body_enable.rb +243 -0
  183. data/lib/fastly/models/ai_runtime_control_response_customer.rb +216 -0
  184. data/lib/fastly/models/ai_runtime_control_response_links.rb +216 -0
  185. data/lib/fastly/models/ai_runtime_control_response_links_links.rb +217 -0
  186. data/lib/fastly/models/ai_runtime_control_response_product.rb +216 -0
  187. data/lib/fastly/models/ai_runtime_control_response_product_product.rb +227 -0
  188. data/lib/fastly/models/arc_bedrock_setup_response.rb +237 -0
  189. data/lib/fastly/models/arc_create_virtual_key_response.rb +346 -0
  190. data/lib/fastly/models/arc_error.rb +238 -0
  191. data/lib/fastly/models/arc_failover_target.rb +223 -0
  192. data/lib/fastly/models/arc_get_provider_connection_response.rb +393 -0
  193. data/lib/fastly/models/arc_get_provider_connection_response_extra.rb +224 -0
  194. data/lib/fastly/models/arc_model.rb +253 -0
  195. data/lib/fastly/models/arc_models_meta.rb +217 -0
  196. data/lib/fastly/models/arc_models_response.rb +238 -0
  197. data/lib/fastly/models/arc_provider.rb +270 -0
  198. data/lib/fastly/models/arc_provider_connection_api_key.rb +335 -0
  199. data/lib/fastly/models/arc_provider_connection_aws_iam.rb +350 -0
  200. data/lib/fastly/models/arc_provider_connection_list_item_response.rb +386 -0
  201. data/lib/fastly/models/arc_provider_connection_list_item_response_extra.rb +217 -0
  202. data/lib/fastly/models/arc_provider_connection_request.rb +103 -0
  203. data/lib/fastly/models/arc_provider_connection_response.rb +369 -0
  204. data/lib/fastly/models/arc_provider_connections_meta.rb +228 -0
  205. data/lib/fastly/models/arc_provider_connections_response.rb +238 -0
  206. data/lib/fastly/models/arc_providers_meta.rb +217 -0
  207. data/lib/fastly/models/arc_providers_response.rb +238 -0
  208. data/lib/fastly/models/arc_rotate_virtual_key_request.rb +218 -0
  209. data/lib/fastly/models/arc_rotate_virtual_key_response.rb +324 -0
  210. data/lib/fastly/models/arc_session.rb +465 -0
  211. data/lib/fastly/models/arc_session_log_entry.rb +240 -0
  212. data/lib/fastly/models/arc_sessions_meta.rb +260 -0
  213. data/lib/fastly/models/arc_sessions_response.rb +238 -0
  214. data/lib/fastly/models/arc_update_provider_connection_request.rb +275 -0
  215. data/lib/fastly/models/arc_update_virtual_key_request.rb +345 -0
  216. data/lib/fastly/models/arc_update_virtual_key_response.rb +352 -0
  217. data/lib/fastly/models/arc_usage_metric.rb +347 -0
  218. data/lib/fastly/models/arc_usage_metrics_meta.rb +228 -0
  219. data/lib/fastly/models/arc_usage_metrics_response.rb +238 -0
  220. data/lib/fastly/models/arc_virtual_key.rb +342 -0
  221. data/lib/fastly/models/arc_virtual_key_failover_request.rb +255 -0
  222. data/lib/fastly/models/arc_virtual_key_failover_response.rb +270 -0
  223. data/lib/fastly/models/arc_virtual_key_list_item_response.rb +492 -0
  224. data/lib/fastly/models/arc_virtual_key_list_item_response_extra.rb +350 -0
  225. data/lib/fastly/models/arc_virtual_key_response.rb +477 -0
  226. data/lib/fastly/models/arc_virtual_key_response_extra.rb +335 -0
  227. data/lib/fastly/models/arc_virtual_keys_meta.rb +260 -0
  228. data/lib/fastly/models/arc_virtual_keys_response.rb +238 -0
  229. data/lib/fastly/models/automation_token.rb +49 -5
  230. data/lib/fastly/models/automation_token_create_request.rb +161 -7
  231. data/lib/fastly/models/automation_token_create_response.rb +49 -5
  232. data/lib/fastly/models/automation_token_error_response.rb +1 -0
  233. data/lib/fastly/models/automation_token_response.rb +46 -2
  234. data/lib/fastly/models/automation_token_role.rb +227 -0
  235. data/lib/fastly/models/automation_token_unversioned_error.rb +225 -0
  236. data/lib/fastly/models/automation_token_unversioned_error_response.rb +219 -0
  237. data/lib/fastly/models/automation_token_workspace.rb +237 -0
  238. data/lib/fastly/models/automation_token_workspaces_meta.rb +242 -0
  239. data/lib/fastly/models/automation_token_workspaces_response.rb +253 -0
  240. data/lib/fastly/models/bot_management_action.rb +257 -0
  241. data/lib/fastly/models/bot_management_bot.rb +222 -0
  242. data/lib/fastly/models/bot_management_bot_action.rb +257 -0
  243. data/lib/fastly/models/bot_management_bot_response.rb +259 -0
  244. data/lib/fastly/models/bot_management_bot_response_extra.rb +237 -0
  245. data/lib/fastly/models/bot_management_bots_response.rb +238 -0
  246. data/lib/fastly/models/bot_management_categories_response.rb +238 -0
  247. data/lib/fastly/models/bot_management_category.rb +222 -0
  248. data/lib/fastly/models/bot_management_category_response.rb +269 -0
  249. data/lib/fastly/models/bot_management_category_response_extra.rb +247 -0
  250. data/lib/fastly/models/bot_management_error.rb +248 -0
  251. data/lib/fastly/models/bot_management_invalid_request_error.rb +291 -0
  252. data/lib/fastly/models/bot_management_invalid_request_error_extra.rb +283 -0
  253. data/lib/fastly/models/bot_management_meta.rb +239 -0
  254. data/lib/fastly/models/bot_management_not_allowed_error.rb +287 -0
  255. data/lib/fastly/models/bot_management_not_allowed_error_extra.rb +259 -0
  256. data/lib/fastly/models/bot_management_not_authenticated_error.rb +287 -0
  257. data/lib/fastly/models/bot_management_not_authenticated_error_extra.rb +259 -0
  258. data/lib/fastly/models/bot_management_not_found_error.rb +287 -0
  259. data/lib/fastly/models/bot_management_not_found_error_extra.rb +259 -0
  260. data/lib/fastly/models/bot_management_protection_mode.rb +36 -0
  261. data/lib/fastly/models/bot_management_rate_limit_error.rb +287 -0
  262. data/lib/fastly/models/bot_management_rate_limit_error_extra.rb +259 -0
  263. data/lib/fastly/models/bot_management_workspace.rb +276 -0
  264. data/lib/fastly/models/bot_management_workspace_bot_response.rb +275 -0
  265. data/lib/fastly/models/bot_management_workspace_bot_response_extra.rb +222 -0
  266. data/lib/fastly/models/bot_management_workspace_bots_response.rb +238 -0
  267. data/lib/fastly/models/bot_management_workspace_response.rb +354 -0
  268. data/lib/fastly/models/bot_management_workspace_response_extra.rb +264 -0
  269. data/lib/fastly/models/bot_management_workspaces_response.rb +238 -0
  270. data/lib/fastly/models/bot_request_metrics_data_item.rb +278 -0
  271. data/lib/fastly/models/bot_request_metrics_metadata.rb +258 -0
  272. data/lib/fastly/models/bot_request_metrics_response.rb +228 -0
  273. data/lib/fastly/models/bulk_update_dictionary_item.rb +1 -1
  274. data/lib/fastly/models/ddos_protection_request_enable_mode.rb +2 -2
  275. data/lib/fastly/models/ddos_protection_request_update_configuration.rb +2 -2
  276. data/lib/fastly/models/ddos_protection_rule.rb +1 -1
  277. data/lib/fastly/models/ddos_protection_rule_all_of.rb +1 -1
  278. data/lib/fastly/models/ddos_protection_rule_patch.rb +1 -1
  279. data/lib/fastly/models/ddos_protection_rule_with_stats.rb +1 -1
  280. data/lib/fastly/models/dictionary_item.rb +1 -1
  281. data/lib/fastly/models/dictionary_item_response.rb +1 -1
  282. data/lib/fastly/models/event_attributes.rb +2 -2
  283. data/lib/fastly/models/network_protect_conflict.rb +299 -0
  284. data/lib/fastly/models/network_protect_conflict_error.rb +228 -0
  285. data/lib/fastly/models/network_protect_endpoint.rb +266 -0
  286. data/lib/fastly/models/network_protect_endpoint_create.rb +266 -0
  287. data/lib/fastly/models/network_protect_endpoint_policy.rb +255 -0
  288. data/lib/fastly/models/network_protect_endpoint_response.rb +340 -0
  289. data/lib/fastly/models/network_protect_endpoint_response_fields.rb +274 -0
  290. data/lib/fastly/models/network_protect_endpoint_update.rb +251 -0
  291. data/lib/fastly/models/network_protect_endpoints_response.rb +239 -0
  292. data/lib/fastly/models/network_protect_error_detail.rb +238 -0
  293. data/lib/fastly/models/{automation_token_create_request_attributes.rb → network_protect_invalid_request.rb} +63 -75
  294. data/lib/fastly/models/network_protect_list_meta.rb +263 -0
  295. data/lib/fastly/models/network_protect_loa_status.rb +36 -0
  296. data/lib/fastly/models/network_protect_network.rb +363 -0
  297. data/lib/fastly/models/network_protect_network_create.rb +340 -0
  298. data/lib/fastly/models/network_protect_network_response.rb +477 -0
  299. data/lib/fastly/models/network_protect_network_response_fields.rb +314 -0
  300. data/lib/fastly/models/network_protect_network_update.rb +329 -0
  301. data/lib/fastly/models/network_protect_networks_response.rb +239 -0
  302. data/lib/fastly/models/network_protect_policy_endpoint.rb +307 -0
  303. data/lib/fastly/models/network_protect_prefix_list.rb +282 -0
  304. data/lib/fastly/models/network_protect_prefix_list_create.rb +301 -0
  305. data/lib/fastly/models/network_protect_prefix_list_family.rb +35 -0
  306. data/lib/fastly/models/network_protect_prefix_list_response.rb +356 -0
  307. data/lib/fastly/models/network_protect_prefix_list_response_fields.rb +274 -0
  308. data/lib/fastly/models/network_protect_prefix_list_update.rb +269 -0
  309. data/lib/fastly/models/network_protect_prefix_lists_response.rb +239 -0
  310. data/lib/fastly/models/network_protect_region.rb +34 -0
  311. data/lib/fastly/models/network_protect_roa_status.rb +37 -0
  312. data/lib/fastly/models/network_protect_rule.rb +372 -0
  313. data/lib/fastly/models/network_protect_rule_action.rb +35 -0
  314. data/lib/fastly/models/network_protect_rule_destination_ports.rb +208 -0
  315. data/lib/fastly/models/network_protect_rule_ip_protocol.rb +37 -0
  316. data/lib/fastly/models/network_protect_rule_match_destination_ip.rb +223 -0
  317. data/lib/fastly/models/network_protect_rule_match_destination_ports.rb +222 -0
  318. data/lib/fastly/models/network_protect_rule_match_ip_protocol.rb +222 -0
  319. data/lib/fastly/models/network_protect_rule_match_source_ports.rb +222 -0
  320. data/lib/fastly/models/network_protect_rule_match_source_prefix_list.rb +244 -0
  321. data/lib/fastly/models/network_protect_rule_response.rb +329 -0
  322. data/lib/fastly/models/network_protect_rule_set.rb +258 -0
  323. data/lib/fastly/models/network_protect_rule_set_create.rb +249 -0
  324. data/lib/fastly/models/network_protect_rule_set_default_action.rb +35 -0
  325. data/lib/fastly/models/network_protect_rule_set_response.rb +332 -0
  326. data/lib/fastly/models/network_protect_rule_set_response_fields.rb +274 -0
  327. data/lib/fastly/models/network_protect_rule_set_update.rb +244 -0
  328. data/lib/fastly/models/network_protect_rule_sets_response.rb +239 -0
  329. data/lib/fastly/models/network_protect_rule_source_ports.rb +208 -0
  330. data/lib/fastly/models/network_protect_rule_timestamps.rb +228 -0
  331. data/lib/fastly/models/platform_values.rb +3568 -137
  332. data/lib/fastly/models/realtime_entry_aggregated.rb +164 -4
  333. data/lib/fastly/models/realtime_entry_datacenter.rb +164 -4
  334. data/lib/fastly/models/realtime_measurements.rb +164 -4
  335. data/lib/fastly/models/results.rb +161 -1
  336. data/lib/fastly/version.rb +1 -1
  337. data/lib/fastly.rb +143 -1
  338. data/sig.json +1 -1
  339. metadata +288 -4
  340. data/docs/AutomationTokenCreateRequestAttributes.md +0 -15
@@ -0,0 +1,787 @@
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 BotManagementApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Get a bot
21
+ # Get the attributes of a bot in a category.
22
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
23
+ # @option opts [String] :category_id The ID of the bot category. (required)
24
+ # @option opts [String] :bot_id The ID of the bot. (required)
25
+ # @return [BotManagementBotResponse]
26
+ def bot_management_get_bot(opts = {})
27
+ data, _status_code, _headers = bot_management_get_bot_with_http_info(opts)
28
+ data
29
+ end
30
+
31
+ # Get a bot
32
+ # Get the attributes of a bot in a category.
33
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
34
+ # @option opts [String] :category_id The ID of the bot category. (required)
35
+ # @option opts [String] :bot_id The ID of the bot. (required)
36
+ # @return [Array<(BotManagementBotResponse, Integer, Hash)>] BotManagementBotResponse data, response status code and response headers
37
+ def bot_management_get_bot_with_http_info(opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_get_bot ...'
40
+ end
41
+ # unbox the parameters from the hash
42
+ workspace_id = opts[:'workspace_id']
43
+ category_id = opts[:'category_id']
44
+ bot_id = opts[:'bot_id']
45
+ # verify the required parameter 'workspace_id' is set
46
+ if @api_client.config.client_side_validation && workspace_id.nil?
47
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_get_bot"
48
+ end
49
+ # verify the required parameter 'category_id' is set
50
+ if @api_client.config.client_side_validation && category_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'category_id' when calling BotManagementApi.bot_management_get_bot"
52
+ end
53
+ # verify the required parameter 'bot_id' is set
54
+ if @api_client.config.client_side_validation && bot_id.nil?
55
+ fail ArgumentError, "Missing the required parameter 'bot_id' when calling BotManagementApi.bot_management_get_bot"
56
+ end
57
+ # resource path
58
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}/policy/categories/{category_id}/bots/{bot_id}'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s)).sub('{' + 'category_id' + '}', CGI.escape(category_id.to_s)).sub('{' + 'bot_id' + '}', CGI.escape(bot_id.to_s))
59
+
60
+ # query parameters
61
+ query_params = opts[:query_params] || {}
62
+
63
+ # header parameters
64
+ header_params = opts[:header_params] || {}
65
+ # HTTP header 'Accept' (if needed)
66
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
67
+
68
+ # form parameters
69
+ form_params = opts[:form_params] || {}
70
+
71
+ # http body (model)
72
+ post_body = opts[:debug_body]
73
+
74
+ # return_type
75
+ return_type = opts[:debug_return_type] || 'BotManagementBotResponse'
76
+
77
+ # auth_names
78
+ auth_names = opts[:debug_auth_names] || ['token']
79
+
80
+ new_options = opts.merge(
81
+ :operation => :"BotManagementApi.bot_management_get_bot",
82
+ :header_params => header_params,
83
+ :query_params => query_params,
84
+ :form_params => form_params,
85
+ :body => post_body,
86
+ :auth_names => auth_names,
87
+ :return_type => return_type
88
+ )
89
+
90
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
91
+ if @api_client.config.debugging
92
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_get_bot\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
93
+ end
94
+ return data, status_code, headers
95
+ end
96
+
97
+ # Get a category
98
+ # Get the attributes of a bot category.
99
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
100
+ # @option opts [String] :category_id The ID of the bot category. (required)
101
+ # @return [BotManagementCategoryResponse]
102
+ def bot_management_get_category(opts = {})
103
+ data, _status_code, _headers = bot_management_get_category_with_http_info(opts)
104
+ data
105
+ end
106
+
107
+ # Get a category
108
+ # Get the attributes of a bot category.
109
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
110
+ # @option opts [String] :category_id The ID of the bot category. (required)
111
+ # @return [Array<(BotManagementCategoryResponse, Integer, Hash)>] BotManagementCategoryResponse data, response status code and response headers
112
+ def bot_management_get_category_with_http_info(opts = {})
113
+ if @api_client.config.debugging
114
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_get_category ...'
115
+ end
116
+ # unbox the parameters from the hash
117
+ workspace_id = opts[:'workspace_id']
118
+ category_id = opts[:'category_id']
119
+ # verify the required parameter 'workspace_id' is set
120
+ if @api_client.config.client_side_validation && workspace_id.nil?
121
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_get_category"
122
+ end
123
+ # verify the required parameter 'category_id' is set
124
+ if @api_client.config.client_side_validation && category_id.nil?
125
+ fail ArgumentError, "Missing the required parameter 'category_id' when calling BotManagementApi.bot_management_get_category"
126
+ end
127
+ # resource path
128
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}/policy/categories/{category_id}'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s)).sub('{' + 'category_id' + '}', CGI.escape(category_id.to_s))
129
+
130
+ # query parameters
131
+ query_params = opts[:query_params] || {}
132
+
133
+ # header parameters
134
+ header_params = opts[:header_params] || {}
135
+ # HTTP header 'Accept' (if needed)
136
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
137
+
138
+ # form parameters
139
+ form_params = opts[:form_params] || {}
140
+
141
+ # http body (model)
142
+ post_body = opts[:debug_body]
143
+
144
+ # return_type
145
+ return_type = opts[:debug_return_type] || 'BotManagementCategoryResponse'
146
+
147
+ # auth_names
148
+ auth_names = opts[:debug_auth_names] || ['token']
149
+
150
+ new_options = opts.merge(
151
+ :operation => :"BotManagementApi.bot_management_get_category",
152
+ :header_params => header_params,
153
+ :query_params => query_params,
154
+ :form_params => form_params,
155
+ :body => post_body,
156
+ :auth_names => auth_names,
157
+ :return_type => return_type
158
+ )
159
+
160
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
161
+ if @api_client.config.debugging
162
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_get_category\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
163
+ end
164
+ return data, status_code, headers
165
+ end
166
+
167
+ # Get a workspace
168
+ # Retrieve a bot management workspace.
169
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
170
+ # @return [BotManagementWorkspaceResponse]
171
+ def bot_management_get_workspace(opts = {})
172
+ data, _status_code, _headers = bot_management_get_workspace_with_http_info(opts)
173
+ data
174
+ end
175
+
176
+ # Get a workspace
177
+ # Retrieve a bot management workspace.
178
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
179
+ # @return [Array<(BotManagementWorkspaceResponse, Integer, Hash)>] BotManagementWorkspaceResponse data, response status code and response headers
180
+ def bot_management_get_workspace_with_http_info(opts = {})
181
+ if @api_client.config.debugging
182
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_get_workspace ...'
183
+ end
184
+ # unbox the parameters from the hash
185
+ workspace_id = opts[:'workspace_id']
186
+ # verify the required parameter 'workspace_id' is set
187
+ if @api_client.config.client_side_validation && workspace_id.nil?
188
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_get_workspace"
189
+ end
190
+ # resource path
191
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s))
192
+
193
+ # query parameters
194
+ query_params = opts[:query_params] || {}
195
+
196
+ # header parameters
197
+ header_params = opts[:header_params] || {}
198
+ # HTTP header 'Accept' (if needed)
199
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
200
+
201
+ # form parameters
202
+ form_params = opts[:form_params] || {}
203
+
204
+ # http body (model)
205
+ post_body = opts[:debug_body]
206
+
207
+ # return_type
208
+ return_type = opts[:debug_return_type] || 'BotManagementWorkspaceResponse'
209
+
210
+ # auth_names
211
+ auth_names = opts[:debug_auth_names] || ['token']
212
+
213
+ new_options = opts.merge(
214
+ :operation => :"BotManagementApi.bot_management_get_workspace",
215
+ :header_params => header_params,
216
+ :query_params => query_params,
217
+ :form_params => form_params,
218
+ :body => post_body,
219
+ :auth_names => auth_names,
220
+ :return_type => return_type
221
+ )
222
+
223
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
224
+ if @api_client.config.debugging
225
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_get_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
226
+ end
227
+ return data, status_code, headers
228
+ end
229
+
230
+ # List all bots in a workspace
231
+ # List all bots in a workspace's policy across all categories.
232
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
233
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
234
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results.
235
+ # @return [BotManagementWorkspaceBotsResponse]
236
+ def bot_management_list_bots(opts = {})
237
+ data, _status_code, _headers = bot_management_list_bots_with_http_info(opts)
238
+ data
239
+ end
240
+
241
+ # List all bots in a workspace
242
+ # List all bots in a workspace&#39;s policy across all categories.
243
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
244
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
245
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results.
246
+ # @return [Array<(BotManagementWorkspaceBotsResponse, Integer, Hash)>] BotManagementWorkspaceBotsResponse data, response status code and response headers
247
+ def bot_management_list_bots_with_http_info(opts = {})
248
+ if @api_client.config.debugging
249
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_list_bots ...'
250
+ end
251
+ # unbox the parameters from the hash
252
+ workspace_id = opts[:'workspace_id']
253
+ # verify the required parameter 'workspace_id' is set
254
+ if @api_client.config.client_side_validation && workspace_id.nil?
255
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_list_bots"
256
+ end
257
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000
258
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling BotManagementApi.bot_management_list_bots, must be smaller than or equal to 1000.'
259
+ end
260
+
261
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
262
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling BotManagementApi.bot_management_list_bots, must be greater than or equal to 1.'
263
+ end
264
+
265
+ # resource path
266
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}/policy/bots'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s))
267
+
268
+ # query parameters
269
+ query_params = opts[:query_params] || {}
270
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
271
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
272
+
273
+ # header parameters
274
+ header_params = opts[:header_params] || {}
275
+ # HTTP header 'Accept' (if needed)
276
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
277
+
278
+ # form parameters
279
+ form_params = opts[:form_params] || {}
280
+
281
+ # http body (model)
282
+ post_body = opts[:debug_body]
283
+
284
+ # return_type
285
+ return_type = opts[:debug_return_type] || 'BotManagementWorkspaceBotsResponse'
286
+
287
+ # auth_names
288
+ auth_names = opts[:debug_auth_names] || ['token']
289
+
290
+ new_options = opts.merge(
291
+ :operation => :"BotManagementApi.bot_management_list_bots",
292
+ :header_params => header_params,
293
+ :query_params => query_params,
294
+ :form_params => form_params,
295
+ :body => post_body,
296
+ :auth_names => auth_names,
297
+ :return_type => return_type
298
+ )
299
+
300
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
301
+ if @api_client.config.debugging
302
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_list_bots\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
303
+ end
304
+ return data, status_code, headers
305
+ end
306
+
307
+ # List categories
308
+ # List all bot categories in a workspace's policy. Each category has an action that applies to every bot in the category. To list the bots themselves, use [list all bots in a workspace](#bot-management-list-bots) or [list bots in a category](#bot-management-list-category-bots).
309
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
310
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
311
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results.
312
+ # @return [BotManagementCategoriesResponse]
313
+ def bot_management_list_categories(opts = {})
314
+ data, _status_code, _headers = bot_management_list_categories_with_http_info(opts)
315
+ data
316
+ end
317
+
318
+ # List categories
319
+ # List all bot categories in a workspace&#39;s policy. Each category has an action that applies to every bot in the category. To list the bots themselves, use [list all bots in a workspace](#bot-management-list-bots) or [list bots in a category](#bot-management-list-category-bots).
320
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
321
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
322
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results.
323
+ # @return [Array<(BotManagementCategoriesResponse, Integer, Hash)>] BotManagementCategoriesResponse data, response status code and response headers
324
+ def bot_management_list_categories_with_http_info(opts = {})
325
+ if @api_client.config.debugging
326
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_list_categories ...'
327
+ end
328
+ # unbox the parameters from the hash
329
+ workspace_id = opts[:'workspace_id']
330
+ # verify the required parameter 'workspace_id' is set
331
+ if @api_client.config.client_side_validation && workspace_id.nil?
332
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_list_categories"
333
+ end
334
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000
335
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling BotManagementApi.bot_management_list_categories, must be smaller than or equal to 1000.'
336
+ end
337
+
338
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
339
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling BotManagementApi.bot_management_list_categories, must be greater than or equal to 1.'
340
+ end
341
+
342
+ # resource path
343
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}/policy/categories'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s))
344
+
345
+ # query parameters
346
+ query_params = opts[:query_params] || {}
347
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
348
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
349
+
350
+ # header parameters
351
+ header_params = opts[:header_params] || {}
352
+ # HTTP header 'Accept' (if needed)
353
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
354
+
355
+ # form parameters
356
+ form_params = opts[:form_params] || {}
357
+
358
+ # http body (model)
359
+ post_body = opts[:debug_body]
360
+
361
+ # return_type
362
+ return_type = opts[:debug_return_type] || 'BotManagementCategoriesResponse'
363
+
364
+ # auth_names
365
+ auth_names = opts[:debug_auth_names] || ['token']
366
+
367
+ new_options = opts.merge(
368
+ :operation => :"BotManagementApi.bot_management_list_categories",
369
+ :header_params => header_params,
370
+ :query_params => query_params,
371
+ :form_params => form_params,
372
+ :body => post_body,
373
+ :auth_names => auth_names,
374
+ :return_type => return_type
375
+ )
376
+
377
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
378
+ if @api_client.config.debugging
379
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_list_categories\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
380
+ end
381
+ return data, status_code, headers
382
+ end
383
+
384
+ # List bots in a category
385
+ # List all bots in a bot category.
386
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
387
+ # @option opts [String] :category_id The ID of the bot category. (required)
388
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
389
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results.
390
+ # @return [BotManagementBotsResponse]
391
+ def bot_management_list_category_bots(opts = {})
392
+ data, _status_code, _headers = bot_management_list_category_bots_with_http_info(opts)
393
+ data
394
+ end
395
+
396
+ # List bots in a category
397
+ # List all bots in a bot category.
398
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
399
+ # @option opts [String] :category_id The ID of the bot category. (required)
400
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
401
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results.
402
+ # @return [Array<(BotManagementBotsResponse, Integer, Hash)>] BotManagementBotsResponse data, response status code and response headers
403
+ def bot_management_list_category_bots_with_http_info(opts = {})
404
+ if @api_client.config.debugging
405
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_list_category_bots ...'
406
+ end
407
+ # unbox the parameters from the hash
408
+ workspace_id = opts[:'workspace_id']
409
+ category_id = opts[:'category_id']
410
+ # verify the required parameter 'workspace_id' is set
411
+ if @api_client.config.client_side_validation && workspace_id.nil?
412
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_list_category_bots"
413
+ end
414
+ # verify the required parameter 'category_id' is set
415
+ if @api_client.config.client_side_validation && category_id.nil?
416
+ fail ArgumentError, "Missing the required parameter 'category_id' when calling BotManagementApi.bot_management_list_category_bots"
417
+ end
418
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000
419
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling BotManagementApi.bot_management_list_category_bots, must be smaller than or equal to 1000.'
420
+ end
421
+
422
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
423
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling BotManagementApi.bot_management_list_category_bots, must be greater than or equal to 1.'
424
+ end
425
+
426
+ # resource path
427
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}/policy/categories/{category_id}/bots'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s)).sub('{' + 'category_id' + '}', CGI.escape(category_id.to_s))
428
+
429
+ # query parameters
430
+ query_params = opts[:query_params] || {}
431
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
432
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
433
+
434
+ # header parameters
435
+ header_params = opts[:header_params] || {}
436
+ # HTTP header 'Accept' (if needed)
437
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
438
+
439
+ # form parameters
440
+ form_params = opts[:form_params] || {}
441
+
442
+ # http body (model)
443
+ post_body = opts[:debug_body]
444
+
445
+ # return_type
446
+ return_type = opts[:debug_return_type] || 'BotManagementBotsResponse'
447
+
448
+ # auth_names
449
+ auth_names = opts[:debug_auth_names] || ['token']
450
+
451
+ new_options = opts.merge(
452
+ :operation => :"BotManagementApi.bot_management_list_category_bots",
453
+ :header_params => header_params,
454
+ :query_params => query_params,
455
+ :form_params => form_params,
456
+ :body => post_body,
457
+ :auth_names => auth_names,
458
+ :return_type => return_type
459
+ )
460
+
461
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
462
+ if @api_client.config.debugging
463
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_list_category_bots\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
464
+ end
465
+ return data, status_code, headers
466
+ end
467
+
468
+ # List workspaces
469
+ # List bot management workspaces.
470
+ # @option opts [String] :service_id Filter results to the workspace attached to this service. Returns an empty list if the service is not attached to a workspace.
471
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
472
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results.
473
+ # @return [BotManagementWorkspacesResponse]
474
+ def bot_management_list_workspaces(opts = {})
475
+ data, _status_code, _headers = bot_management_list_workspaces_with_http_info(opts)
476
+ data
477
+ end
478
+
479
+ # List workspaces
480
+ # List bot management workspaces.
481
+ # @option opts [String] :service_id Filter results to the workspace attached to this service. Returns an empty list if the service is not attached to a workspace.
482
+ # @option opts [Integer] :limit Limit how many results are returned. (default to 100)
483
+ # @option opts [String] :cursor Cursor for pagination. Use the &#x60;next_cursor&#x60; value from a previous response to request the next page of results.
484
+ # @return [Array<(BotManagementWorkspacesResponse, Integer, Hash)>] BotManagementWorkspacesResponse data, response status code and response headers
485
+ def bot_management_list_workspaces_with_http_info(opts = {})
486
+ if @api_client.config.debugging
487
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_list_workspaces ...'
488
+ end
489
+ # unbox the parameters from the hash
490
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000
491
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling BotManagementApi.bot_management_list_workspaces, must be smaller than or equal to 1000.'
492
+ end
493
+
494
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
495
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling BotManagementApi.bot_management_list_workspaces, must be greater than or equal to 1.'
496
+ end
497
+
498
+ # resource path
499
+ local_var_path = '/bot-management/v1/workspaces'
500
+
501
+ # query parameters
502
+ query_params = opts[:query_params] || {}
503
+ query_params[:'service_id'] = opts[:'service_id'] if !opts[:'service_id'].nil?
504
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
505
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
506
+
507
+ # header parameters
508
+ header_params = opts[:header_params] || {}
509
+ # HTTP header 'Accept' (if needed)
510
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
511
+
512
+ # form parameters
513
+ form_params = opts[:form_params] || {}
514
+
515
+ # http body (model)
516
+ post_body = opts[:debug_body]
517
+
518
+ # return_type
519
+ return_type = opts[:debug_return_type] || 'BotManagementWorkspacesResponse'
520
+
521
+ # auth_names
522
+ auth_names = opts[:debug_auth_names] || ['token']
523
+
524
+ new_options = opts.merge(
525
+ :operation => :"BotManagementApi.bot_management_list_workspaces",
526
+ :header_params => header_params,
527
+ :query_params => query_params,
528
+ :form_params => form_params,
529
+ :body => post_body,
530
+ :auth_names => auth_names,
531
+ :return_type => return_type
532
+ )
533
+
534
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
535
+ if @api_client.config.debugging
536
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_list_workspaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
537
+ end
538
+ return data, status_code, headers
539
+ end
540
+
541
+ # Set a bot action
542
+ # Set the action for a bot. Set the action to 'inherit' to apply the category's action or to a specific value to override the category's action.
543
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
544
+ # @option opts [String] :category_id The ID of the bot category. (required)
545
+ # @option opts [String] :bot_id The ID of the bot. (required)
546
+ # @option opts [BotManagementBot] :bot_management_bot (required)
547
+ # @return [BotManagementBotResponse]
548
+ def bot_management_update_bot(opts = {})
549
+ data, _status_code, _headers = bot_management_update_bot_with_http_info(opts)
550
+ data
551
+ end
552
+
553
+ # Set a bot action
554
+ # Set the action for a bot. Set the action to &#39;inherit&#39; to apply the category&#39;s action or to a specific value to override the category&#39;s action.
555
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
556
+ # @option opts [String] :category_id The ID of the bot category. (required)
557
+ # @option opts [String] :bot_id The ID of the bot. (required)
558
+ # @option opts [BotManagementBot] :bot_management_bot (required)
559
+ # @return [Array<(BotManagementBotResponse, Integer, Hash)>] BotManagementBotResponse data, response status code and response headers
560
+ def bot_management_update_bot_with_http_info(opts = {})
561
+ if @api_client.config.debugging
562
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_update_bot ...'
563
+ end
564
+ # unbox the parameters from the hash
565
+ workspace_id = opts[:'workspace_id']
566
+ category_id = opts[:'category_id']
567
+ bot_id = opts[:'bot_id']
568
+ bot_management_bot = opts[:'bot_management_bot']
569
+ # verify the required parameter 'workspace_id' is set
570
+ if @api_client.config.client_side_validation && workspace_id.nil?
571
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_update_bot"
572
+ end
573
+ # verify the required parameter 'category_id' is set
574
+ if @api_client.config.client_side_validation && category_id.nil?
575
+ fail ArgumentError, "Missing the required parameter 'category_id' when calling BotManagementApi.bot_management_update_bot"
576
+ end
577
+ # verify the required parameter 'bot_id' is set
578
+ if @api_client.config.client_side_validation && bot_id.nil?
579
+ fail ArgumentError, "Missing the required parameter 'bot_id' when calling BotManagementApi.bot_management_update_bot"
580
+ end
581
+ # verify the required parameter 'bot_management_bot' is set
582
+ if @api_client.config.client_side_validation && bot_management_bot.nil?
583
+ fail ArgumentError, "Missing the required parameter 'bot_management_bot' when calling BotManagementApi.bot_management_update_bot"
584
+ end
585
+ # resource path
586
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}/policy/categories/{category_id}/bots/{bot_id}'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s)).sub('{' + 'category_id' + '}', CGI.escape(category_id.to_s)).sub('{' + 'bot_id' + '}', CGI.escape(bot_id.to_s))
587
+
588
+ # query parameters
589
+ query_params = opts[:query_params] || {}
590
+
591
+ # header parameters
592
+ header_params = opts[:header_params] || {}
593
+ # HTTP header 'Accept' (if needed)
594
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
595
+ # HTTP header 'Content-Type'
596
+ content_type = @api_client.select_header_content_type(['application/json'])
597
+ if !content_type.nil?
598
+ header_params['Content-Type'] = content_type
599
+ end
600
+
601
+ # form parameters
602
+ form_params = opts[:form_params] || {}
603
+
604
+ # http body (model)
605
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bot_management_bot)
606
+
607
+ # return_type
608
+ return_type = opts[:debug_return_type] || 'BotManagementBotResponse'
609
+
610
+ # auth_names
611
+ auth_names = opts[:debug_auth_names] || ['token']
612
+
613
+ new_options = opts.merge(
614
+ :operation => :"BotManagementApi.bot_management_update_bot",
615
+ :header_params => header_params,
616
+ :query_params => query_params,
617
+ :form_params => form_params,
618
+ :body => post_body,
619
+ :auth_names => auth_names,
620
+ :return_type => return_type
621
+ )
622
+
623
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
624
+ if @api_client.config.debugging
625
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_update_bot\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
626
+ end
627
+ return data, status_code, headers
628
+ end
629
+
630
+ # Set a category action
631
+ # Set the action for a bot category. Every bot in the category configured with the 'inherit' action uses the action set for the category.
632
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
633
+ # @option opts [String] :category_id The ID of the bot category. (required)
634
+ # @option opts [BotManagementCategory] :bot_management_category (required)
635
+ # @return [BotManagementCategoryResponse]
636
+ def bot_management_update_category(opts = {})
637
+ data, _status_code, _headers = bot_management_update_category_with_http_info(opts)
638
+ data
639
+ end
640
+
641
+ # Set a category action
642
+ # Set the action for a bot category. Every bot in the category configured with the &#39;inherit&#39; action uses the action set for the category.
643
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
644
+ # @option opts [String] :category_id The ID of the bot category. (required)
645
+ # @option opts [BotManagementCategory] :bot_management_category (required)
646
+ # @return [Array<(BotManagementCategoryResponse, Integer, Hash)>] BotManagementCategoryResponse data, response status code and response headers
647
+ def bot_management_update_category_with_http_info(opts = {})
648
+ if @api_client.config.debugging
649
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_update_category ...'
650
+ end
651
+ # unbox the parameters from the hash
652
+ workspace_id = opts[:'workspace_id']
653
+ category_id = opts[:'category_id']
654
+ bot_management_category = opts[:'bot_management_category']
655
+ # verify the required parameter 'workspace_id' is set
656
+ if @api_client.config.client_side_validation && workspace_id.nil?
657
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_update_category"
658
+ end
659
+ # verify the required parameter 'category_id' is set
660
+ if @api_client.config.client_side_validation && category_id.nil?
661
+ fail ArgumentError, "Missing the required parameter 'category_id' when calling BotManagementApi.bot_management_update_category"
662
+ end
663
+ # verify the required parameter 'bot_management_category' is set
664
+ if @api_client.config.client_side_validation && bot_management_category.nil?
665
+ fail ArgumentError, "Missing the required parameter 'bot_management_category' when calling BotManagementApi.bot_management_update_category"
666
+ end
667
+ # resource path
668
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}/policy/categories/{category_id}'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s)).sub('{' + 'category_id' + '}', CGI.escape(category_id.to_s))
669
+
670
+ # query parameters
671
+ query_params = opts[:query_params] || {}
672
+
673
+ # header parameters
674
+ header_params = opts[:header_params] || {}
675
+ # HTTP header 'Accept' (if needed)
676
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
677
+ # HTTP header 'Content-Type'
678
+ content_type = @api_client.select_header_content_type(['application/json'])
679
+ if !content_type.nil?
680
+ header_params['Content-Type'] = content_type
681
+ end
682
+
683
+ # form parameters
684
+ form_params = opts[:form_params] || {}
685
+
686
+ # http body (model)
687
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bot_management_category)
688
+
689
+ # return_type
690
+ return_type = opts[:debug_return_type] || 'BotManagementCategoryResponse'
691
+
692
+ # auth_names
693
+ auth_names = opts[:debug_auth_names] || ['token']
694
+
695
+ new_options = opts.merge(
696
+ :operation => :"BotManagementApi.bot_management_update_category",
697
+ :header_params => header_params,
698
+ :query_params => query_params,
699
+ :form_params => form_params,
700
+ :body => post_body,
701
+ :auth_names => auth_names,
702
+ :return_type => return_type
703
+ )
704
+
705
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
706
+ if @api_client.config.debugging
707
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_update_category\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
708
+ end
709
+ return data, status_code, headers
710
+ end
711
+
712
+ # Update a workspace
713
+ # Update the attributes of a bot management workspace.
714
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
715
+ # @option opts [BotManagementWorkspace] :bot_management_workspace (required)
716
+ # @return [BotManagementWorkspaceResponse]
717
+ def bot_management_update_workspace(opts = {})
718
+ data, _status_code, _headers = bot_management_update_workspace_with_http_info(opts)
719
+ data
720
+ end
721
+
722
+ # Update a workspace
723
+ # Update the attributes of a bot management workspace.
724
+ # @option opts [String] :workspace_id The ID of the bot management workspace. (required)
725
+ # @option opts [BotManagementWorkspace] :bot_management_workspace (required)
726
+ # @return [Array<(BotManagementWorkspaceResponse, Integer, Hash)>] BotManagementWorkspaceResponse data, response status code and response headers
727
+ def bot_management_update_workspace_with_http_info(opts = {})
728
+ if @api_client.config.debugging
729
+ @api_client.config.logger.debug 'Calling API: BotManagementApi.bot_management_update_workspace ...'
730
+ end
731
+ # unbox the parameters from the hash
732
+ workspace_id = opts[:'workspace_id']
733
+ bot_management_workspace = opts[:'bot_management_workspace']
734
+ # verify the required parameter 'workspace_id' is set
735
+ if @api_client.config.client_side_validation && workspace_id.nil?
736
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling BotManagementApi.bot_management_update_workspace"
737
+ end
738
+ # verify the required parameter 'bot_management_workspace' is set
739
+ if @api_client.config.client_side_validation && bot_management_workspace.nil?
740
+ fail ArgumentError, "Missing the required parameter 'bot_management_workspace' when calling BotManagementApi.bot_management_update_workspace"
741
+ end
742
+ # resource path
743
+ local_var_path = '/bot-management/v1/workspaces/{workspace_id}'.sub('{' + 'workspace_id' + '}', CGI.escape(workspace_id.to_s))
744
+
745
+ # query parameters
746
+ query_params = opts[:query_params] || {}
747
+
748
+ # header parameters
749
+ header_params = opts[:header_params] || {}
750
+ # HTTP header 'Accept' (if needed)
751
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
752
+ # HTTP header 'Content-Type'
753
+ content_type = @api_client.select_header_content_type(['application/json'])
754
+ if !content_type.nil?
755
+ header_params['Content-Type'] = content_type
756
+ end
757
+
758
+ # form parameters
759
+ form_params = opts[:form_params] || {}
760
+
761
+ # http body (model)
762
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bot_management_workspace)
763
+
764
+ # return_type
765
+ return_type = opts[:debug_return_type] || 'BotManagementWorkspaceResponse'
766
+
767
+ # auth_names
768
+ auth_names = opts[:debug_auth_names] || ['token']
769
+
770
+ new_options = opts.merge(
771
+ :operation => :"BotManagementApi.bot_management_update_workspace",
772
+ :header_params => header_params,
773
+ :query_params => query_params,
774
+ :form_params => form_params,
775
+ :body => post_body,
776
+ :auth_names => auth_names,
777
+ :return_type => return_type
778
+ )
779
+
780
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
781
+ if @api_client.config.debugging
782
+ @api_client.config.logger.debug "API called: BotManagementApi#bot_management_update_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
783
+ end
784
+ return data, status_code, headers
785
+ end
786
+ end
787
+ end