ngrok-api 0.9.0 → 0.12.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 (413) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/doc/.gitkeep +0 -0
  4. data/doc/NgrokAPI/Client.html +1499 -125
  5. data/doc/NgrokAPI/Error.html +1 -1
  6. data/doc/NgrokAPI/Errors/NotFoundError.html +1 -1
  7. data/doc/NgrokAPI/Errors.html +1 -1
  8. data/doc/NgrokAPI/HttpClient.html +1 -1
  9. data/doc/NgrokAPI/Models/{ApiKey.html → APIKey.html} +108 -177
  10. data/doc/NgrokAPI/Models/AWSAuth.html +617 -0
  11. data/doc/NgrokAPI/Models/AWSCredentials.html +617 -0
  12. data/doc/NgrokAPI/Models/AWSRole.html +543 -0
  13. data/doc/NgrokAPI/Models/AbuseReport.html +987 -0
  14. data/doc/NgrokAPI/Models/AbuseReportHostname.html +617 -0
  15. data/doc/NgrokAPI/Models/CertificateAuthority.html +1439 -0
  16. data/doc/NgrokAPI/Models/Credential.html +1149 -0
  17. data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +913 -0
  18. data/doc/NgrokAPI/Models/EndpointCompression.html +543 -0
  19. data/doc/NgrokAPI/Models/EndpointConfiguration.html +1321 -510
  20. data/doc/NgrokAPI/Models/EndpointIPPolicy.html +617 -0
  21. data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +617 -0
  22. data/doc/NgrokAPI/Models/EndpointLogging.html +617 -0
  23. data/doc/NgrokAPI/Models/EndpointLoggingMutate.html +617 -0
  24. data/doc/NgrokAPI/Models/EndpointMutualTLS.html +617 -0
  25. data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +617 -0
  26. data/doc/NgrokAPI/Models/EndpointOAuth.html +987 -0
  27. data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +839 -0
  28. data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +987 -0
  29. data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +839 -0
  30. data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +839 -0
  31. data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +765 -0
  32. data/doc/NgrokAPI/Models/EndpointOIDC.html +1135 -0
  33. data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +691 -0
  34. data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +691 -0
  35. data/doc/NgrokAPI/Models/EndpointSAML.html +1653 -0
  36. data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +1283 -0
  37. data/doc/NgrokAPI/Models/EndpointTLSTermination.html +691 -0
  38. data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +691 -0
  39. data/doc/NgrokAPI/Models/EventDestination.html +1058 -0
  40. data/doc/NgrokAPI/Models/EventSource.html +765 -0
  41. data/doc/NgrokAPI/Models/EventSourceReplace.html +691 -0
  42. data/doc/NgrokAPI/Models/EventStream.html +1309 -0
  43. data/doc/NgrokAPI/Models/EventSubscription.html +1058 -0
  44. data/doc/NgrokAPI/Models/EventTarget.html +765 -0
  45. data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +617 -0
  46. data/doc/NgrokAPI/Models/EventTargetFirehose.html +617 -0
  47. data/doc/NgrokAPI/Models/EventTargetKinesis.html +617 -0
  48. data/doc/NgrokAPI/Models/IPPolicy.html +1069 -0
  49. data/doc/NgrokAPI/Models/IPPolicyRule.html +1149 -0
  50. data/doc/NgrokAPI/Models/IPRestriction.html +1132 -0
  51. data/doc/NgrokAPI/Models/{TlsCertificate.html → IPWhitelistEntry.html} +168 -163
  52. data/doc/NgrokAPI/Models/Listable.html +1 -1
  53. data/doc/NgrokAPI/Models/Ref.html +617 -0
  54. data/doc/NgrokAPI/Models/ReservedAddr.html +1132 -0
  55. data/doc/NgrokAPI/Models/ReservedDomain.html +111 -1107
  56. data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +839 -0
  57. data/doc/NgrokAPI/Models/ReservedDomainCertNSTarget.html +617 -0
  58. data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +617 -0
  59. data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +617 -0
  60. data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +1143 -0
  61. data/doc/NgrokAPI/Models/SSHCredential.html +1149 -0
  62. data/doc/NgrokAPI/Models/SSHHostCertificate.html +1513 -0
  63. data/doc/NgrokAPI/Models/SSHUserCertificate.html +1661 -0
  64. data/doc/NgrokAPI/Models/TLSCertificate.html +2179 -0
  65. data/doc/NgrokAPI/Models/TLSCertificateSANs.html +617 -0
  66. data/doc/NgrokAPI/Models/Tunnel.html +987 -0
  67. data/doc/NgrokAPI/Models/TunnelSession.html +1209 -0
  68. data/doc/NgrokAPI/Models.html +4 -4
  69. data/doc/NgrokAPI/PagedIterator.html +1 -1
  70. data/{docs/NgrokAPI/Services/ApiKeysClient.html → doc/NgrokAPI/Services/APIKeysClient.html} +287 -151
  71. data/doc/NgrokAPI/Services/AbuseReportsClient.html +723 -0
  72. data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +1489 -0
  73. data/doc/NgrokAPI/Services/CredentialsClient.html +1534 -0
  74. data/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1071 -0
  75. data/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html +1071 -0
  76. data/doc/NgrokAPI/Services/EndpointConfigurationsClient.html +473 -371
  77. data/doc/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1071 -0
  78. data/doc/NgrokAPI/Services/EndpointLoggingModuleClient.html +1071 -0
  79. data/doc/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1071 -0
  80. data/doc/NgrokAPI/Services/EndpointOAuthModuleClient.html +1071 -0
  81. data/doc/NgrokAPI/Services/EndpointOIDCModuleClient.html +1071 -0
  82. data/doc/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1071 -0
  83. data/doc/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1071 -0
  84. data/doc/NgrokAPI/Services/EndpointSAMLModuleClient.html +1071 -0
  85. data/doc/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1071 -0
  86. data/doc/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1071 -0
  87. data/doc/NgrokAPI/Services/EventDestinationsClient.html +1609 -0
  88. data/doc/NgrokAPI/Services/EventSourcesClient.html +1348 -0
  89. data/doc/NgrokAPI/Services/EventStreamsClient.html +1691 -0
  90. data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +1603 -0
  91. data/doc/NgrokAPI/Services/IPPoliciesClient.html +1488 -0
  92. data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +1550 -0
  93. data/doc/NgrokAPI/Services/IPRestrictionsClient.html +1620 -0
  94. data/doc/NgrokAPI/Services/IPWhitelistClient.html +1488 -0
  95. data/doc/NgrokAPI/Services/ReservedAddrsClient.html +1793 -0
  96. data/doc/NgrokAPI/Services/ReservedDomainsClient.html +518 -333
  97. data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1532 -0
  98. data/doc/NgrokAPI/Services/SSHCredentialsClient.html +1552 -0
  99. data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +1573 -0
  100. data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +1617 -0
  101. data/{docs/NgrokAPI/Services/TlsCertificatesClient.html → doc/NgrokAPI/Services/TLSCertificatesClient.html} +290 -198
  102. data/doc/NgrokAPI/Services/TunnelSessionsClient.html +1468 -0
  103. data/doc/NgrokAPI/Services/TunnelsClient.html +513 -0
  104. data/doc/NgrokAPI/Services.html +4 -4
  105. data/doc/NgrokAPI.html +3 -3
  106. data/doc/_index.html +624 -28
  107. data/doc/class_list.html +1 -1
  108. data/doc/file.README.html +1 -1
  109. data/doc/index.html +1 -1
  110. data/doc/method_list.html +7318 -286
  111. data/doc/top-level-namespace.html +1 -1
  112. data/docs/.gitkeep +0 -0
  113. data/docs/NgrokAPI/Client.html +1499 -125
  114. data/docs/NgrokAPI/Error.html +1 -1
  115. data/docs/NgrokAPI/Errors/NotFoundError.html +1 -1
  116. data/docs/NgrokAPI/Errors.html +1 -1
  117. data/docs/NgrokAPI/HttpClient.html +1 -1
  118. data/docs/NgrokAPI/Models/{ApiKey.html → APIKey.html} +108 -177
  119. data/docs/NgrokAPI/Models/AWSAuth.html +617 -0
  120. data/docs/NgrokAPI/Models/AWSCredentials.html +617 -0
  121. data/docs/NgrokAPI/Models/AWSRole.html +543 -0
  122. data/docs/NgrokAPI/Models/AbuseReport.html +987 -0
  123. data/docs/NgrokAPI/Models/AbuseReportHostname.html +617 -0
  124. data/docs/NgrokAPI/Models/CertificateAuthority.html +1439 -0
  125. data/docs/NgrokAPI/Models/Credential.html +1149 -0
  126. data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +913 -0
  127. data/docs/NgrokAPI/Models/EndpointCompression.html +543 -0
  128. data/docs/NgrokAPI/Models/EndpointConfiguration.html +1321 -510
  129. data/docs/NgrokAPI/Models/EndpointIPPolicy.html +617 -0
  130. data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +617 -0
  131. data/docs/NgrokAPI/Models/EndpointLogging.html +617 -0
  132. data/docs/NgrokAPI/Models/EndpointLoggingMutate.html +617 -0
  133. data/docs/NgrokAPI/Models/EndpointMutualTLS.html +617 -0
  134. data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +617 -0
  135. data/docs/NgrokAPI/Models/EndpointOAuth.html +987 -0
  136. data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +839 -0
  137. data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +987 -0
  138. data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +839 -0
  139. data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +839 -0
  140. data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +765 -0
  141. data/docs/NgrokAPI/Models/EndpointOIDC.html +1135 -0
  142. data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +691 -0
  143. data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +691 -0
  144. data/docs/NgrokAPI/Models/EndpointSAML.html +1653 -0
  145. data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +1283 -0
  146. data/docs/NgrokAPI/Models/EndpointTLSTermination.html +691 -0
  147. data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +691 -0
  148. data/docs/NgrokAPI/Models/EventDestination.html +1058 -0
  149. data/docs/NgrokAPI/Models/EventSource.html +765 -0
  150. data/docs/NgrokAPI/Models/EventSourceReplace.html +691 -0
  151. data/docs/NgrokAPI/Models/EventStream.html +1309 -0
  152. data/docs/NgrokAPI/Models/EventSubscription.html +1058 -0
  153. data/docs/NgrokAPI/Models/EventTarget.html +765 -0
  154. data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +617 -0
  155. data/docs/NgrokAPI/Models/EventTargetFirehose.html +617 -0
  156. data/docs/NgrokAPI/Models/EventTargetKinesis.html +617 -0
  157. data/docs/NgrokAPI/Models/IPPolicy.html +1069 -0
  158. data/docs/NgrokAPI/Models/IPPolicyRule.html +1149 -0
  159. data/docs/NgrokAPI/Models/IPRestriction.html +1132 -0
  160. data/docs/NgrokAPI/Models/{TlsCertificate.html → IPWhitelistEntry.html} +168 -163
  161. data/docs/NgrokAPI/Models/Listable.html +1 -1
  162. data/docs/NgrokAPI/Models/Ref.html +617 -0
  163. data/docs/NgrokAPI/Models/ReservedAddr.html +1132 -0
  164. data/docs/NgrokAPI/Models/ReservedDomain.html +111 -1107
  165. data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +839 -0
  166. data/docs/NgrokAPI/Models/ReservedDomainCertNSTarget.html +617 -0
  167. data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +617 -0
  168. data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +617 -0
  169. data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +1143 -0
  170. data/docs/NgrokAPI/Models/SSHCredential.html +1149 -0
  171. data/docs/NgrokAPI/Models/SSHHostCertificate.html +1513 -0
  172. data/docs/NgrokAPI/Models/SSHUserCertificate.html +1661 -0
  173. data/docs/NgrokAPI/Models/TLSCertificate.html +2179 -0
  174. data/docs/NgrokAPI/Models/TLSCertificateSANs.html +617 -0
  175. data/docs/NgrokAPI/Models/Tunnel.html +987 -0
  176. data/docs/NgrokAPI/Models/TunnelSession.html +1209 -0
  177. data/docs/NgrokAPI/Models.html +4 -4
  178. data/docs/NgrokAPI/PagedIterator.html +1 -1
  179. data/{doc/NgrokAPI/Services/ApiKeysClient.html → docs/NgrokAPI/Services/APIKeysClient.html} +287 -151
  180. data/docs/NgrokAPI/Services/AbuseReportsClient.html +723 -0
  181. data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +1489 -0
  182. data/docs/NgrokAPI/Services/CredentialsClient.html +1534 -0
  183. data/docs/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1071 -0
  184. data/docs/NgrokAPI/Services/EndpointCompressionModuleClient.html +1071 -0
  185. data/docs/NgrokAPI/Services/EndpointConfigurationsClient.html +473 -371
  186. data/docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1071 -0
  187. data/docs/NgrokAPI/Services/EndpointLoggingModuleClient.html +1071 -0
  188. data/docs/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1071 -0
  189. data/docs/NgrokAPI/Services/EndpointOAuthModuleClient.html +1071 -0
  190. data/docs/NgrokAPI/Services/EndpointOIDCModuleClient.html +1071 -0
  191. data/docs/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1071 -0
  192. data/docs/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1071 -0
  193. data/docs/NgrokAPI/Services/EndpointSAMLModuleClient.html +1071 -0
  194. data/docs/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1071 -0
  195. data/docs/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1071 -0
  196. data/docs/NgrokAPI/Services/EventDestinationsClient.html +1609 -0
  197. data/docs/NgrokAPI/Services/EventSourcesClient.html +1348 -0
  198. data/docs/NgrokAPI/Services/EventStreamsClient.html +1691 -0
  199. data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +1603 -0
  200. data/docs/NgrokAPI/Services/IPPoliciesClient.html +1488 -0
  201. data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +1550 -0
  202. data/docs/NgrokAPI/Services/IPRestrictionsClient.html +1620 -0
  203. data/docs/NgrokAPI/Services/IPWhitelistClient.html +1488 -0
  204. data/docs/NgrokAPI/Services/ReservedAddrsClient.html +1793 -0
  205. data/docs/NgrokAPI/Services/ReservedDomainsClient.html +518 -333
  206. data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1532 -0
  207. data/docs/NgrokAPI/Services/SSHCredentialsClient.html +1552 -0
  208. data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +1573 -0
  209. data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +1617 -0
  210. data/{doc/NgrokAPI/Services/TlsCertificatesClient.html → docs/NgrokAPI/Services/TLSCertificatesClient.html} +290 -198
  211. data/docs/NgrokAPI/Services/TunnelSessionsClient.html +1468 -0
  212. data/docs/NgrokAPI/Services/TunnelsClient.html +513 -0
  213. data/docs/NgrokAPI/Services.html +4 -4
  214. data/docs/NgrokAPI.html +3 -3
  215. data/docs/_index.html +624 -28
  216. data/docs/class_list.html +1 -1
  217. data/docs/file.README.html +1 -1
  218. data/docs/index.html +1 -1
  219. data/docs/method_list.html +7318 -286
  220. data/docs/top-level-namespace.html +1 -1
  221. data/lib/ngrokapi/client.rb +218 -49
  222. data/lib/ngrokapi/models/abuse_report.rb +37 -0
  223. data/lib/ngrokapi/models/abuse_report_hostname.rb +27 -0
  224. data/lib/ngrokapi/models/api_key.rb +62 -64
  225. data/lib/ngrokapi/models/aws_auth.rb +27 -0
  226. data/lib/ngrokapi/models/aws_credentials.rb +27 -0
  227. data/lib/ngrokapi/models/aws_role.rb +25 -0
  228. data/lib/ngrokapi/models/certificate_authority.rb +72 -0
  229. data/lib/ngrokapi/models/credential.rb +67 -0
  230. data/lib/ngrokapi/models/endpoint_circuit_breaker.rb +35 -0
  231. data/lib/ngrokapi/models/endpoint_compression.rb +25 -0
  232. data/lib/ngrokapi/models/endpoint_configuration.rb +130 -119
  233. data/lib/ngrokapi/models/endpoint_ip_policy.rb +27 -0
  234. data/lib/ngrokapi/models/endpoint_ip_policy_mutate.rb +27 -0
  235. data/lib/ngrokapi/models/endpoint_logging.rb +27 -0
  236. data/lib/ngrokapi/models/endpoint_logging_mutate.rb +27 -0
  237. data/lib/ngrokapi/models/endpoint_mutual_tls.rb +27 -0
  238. data/lib/ngrokapi/models/endpoint_mutual_tls_mutate.rb +27 -0
  239. data/lib/ngrokapi/models/endpoint_o_auth.rb +37 -0
  240. data/lib/ngrokapi/models/endpoint_o_auth_facebook.rb +33 -0
  241. data/lib/ngrokapi/models/endpoint_o_auth_git_hub.rb +37 -0
  242. data/lib/ngrokapi/models/endpoint_o_auth_google.rb +33 -0
  243. data/lib/ngrokapi/models/endpoint_o_auth_microsoft.rb +33 -0
  244. data/lib/ngrokapi/models/endpoint_o_auth_provider.rb +31 -0
  245. data/lib/ngrokapi/models/endpoint_oidc.rb +41 -0
  246. data/lib/ngrokapi/models/endpoint_request_headers.rb +29 -0
  247. data/lib/ngrokapi/models/endpoint_response_headers.rb +29 -0
  248. data/lib/ngrokapi/models/endpoint_saml.rb +55 -0
  249. data/lib/ngrokapi/models/endpoint_saml_mutate.rb +45 -0
  250. data/lib/ngrokapi/models/endpoint_tls_termination.rb +29 -0
  251. data/lib/ngrokapi/models/endpoint_webhook_validation.rb +29 -0
  252. data/lib/ngrokapi/models/event_destination.rb +49 -0
  253. data/lib/ngrokapi/models/event_source.rb +31 -0
  254. data/lib/ngrokapi/models/event_source_replace.rb +29 -0
  255. data/lib/ngrokapi/models/event_stream.rb +77 -0
  256. data/lib/ngrokapi/models/event_subscription.rb +47 -0
  257. data/lib/ngrokapi/models/event_target.rb +31 -0
  258. data/lib/ngrokapi/models/event_target_cloudwatch_logs.rb +27 -0
  259. data/lib/ngrokapi/models/event_target_firehose.rb +27 -0
  260. data/lib/ngrokapi/models/event_target_kinesis.rb +27 -0
  261. data/lib/ngrokapi/models/ip_policy.rb +64 -0
  262. data/lib/ngrokapi/models/ip_policy_rule.rb +67 -0
  263. data/lib/ngrokapi/models/ip_restriction.rb +49 -0
  264. data/lib/ngrokapi/models/ip_whitelist_entry.rb +62 -0
  265. data/lib/ngrokapi/models/ref.rb +27 -0
  266. data/lib/ngrokapi/models/reserved_addr.rb +49 -0
  267. data/lib/ngrokapi/models/reserved_domain.rb +59 -211
  268. data/lib/ngrokapi/models/reserved_domain_cert_job.rb +33 -0
  269. data/lib/ngrokapi/models/reserved_domain_cert_ns_target.rb +27 -0
  270. data/lib/ngrokapi/models/reserved_domain_cert_policy.rb +27 -0
  271. data/lib/ngrokapi/models/reserved_domain_cert_status.rb +27 -0
  272. data/lib/ngrokapi/models/ssh_certificate_authority.rb +64 -0
  273. data/lib/ngrokapi/models/ssh_credential.rb +67 -0
  274. data/lib/ngrokapi/models/ssh_host_certificate.rb +74 -0
  275. data/lib/ngrokapi/models/ssh_user_certificate.rb +78 -0
  276. data/lib/ngrokapi/models/tls_certificate.rb +92 -62
  277. data/lib/ngrokapi/models/tls_certificate_sa_ns.rb +27 -0
  278. data/lib/ngrokapi/models/tunnel.rb +37 -0
  279. data/lib/ngrokapi/models/tunnel_session.rb +43 -0
  280. data/lib/ngrokapi/services/.gitkeep +0 -0
  281. data/lib/ngrokapi/services/abuse_reports_client.rb +84 -0
  282. data/lib/ngrokapi/services/api_keys_client.rb +203 -144
  283. data/lib/ngrokapi/services/certificate_authorities_client.rb +204 -0
  284. data/lib/ngrokapi/services/credentials_client.rb +212 -0
  285. data/lib/ngrokapi/services/endpoint_circuit_breaker_module_client.rb +122 -0
  286. data/lib/ngrokapi/services/endpoint_compression_module_client.rb +122 -0
  287. data/lib/ngrokapi/services/endpoint_configurations_client.rb +324 -313
  288. data/lib/ngrokapi/services/endpoint_ip_policy_module_client.rb +122 -0
  289. data/lib/ngrokapi/services/endpoint_logging_module_client.rb +122 -0
  290. data/lib/ngrokapi/services/endpoint_mutual_tls_module_client.rb +122 -0
  291. data/lib/ngrokapi/services/endpoint_o_auth_module_client.rb +122 -0
  292. data/lib/ngrokapi/services/endpoint_oidc_module_client.rb +122 -0
  293. data/lib/ngrokapi/services/endpoint_request_headers_module_client.rb +122 -0
  294. data/lib/ngrokapi/services/endpoint_response_headers_module_client.rb +122 -0
  295. data/lib/ngrokapi/services/endpoint_saml_module_client.rb +122 -0
  296. data/lib/ngrokapi/services/endpoint_tls_termination_module_client.rb +122 -0
  297. data/lib/ngrokapi/services/endpoint_webhook_validation_module_client.rb +122 -0
  298. data/lib/ngrokapi/services/event_destinations_client.rb +222 -0
  299. data/lib/ngrokapi/services/event_sources_client.rb +177 -0
  300. data/lib/ngrokapi/services/event_streams_client.rb +226 -0
  301. data/lib/ngrokapi/services/event_subscriptions_client.rb +213 -0
  302. data/lib/ngrokapi/services/ip_policies_client.rb +208 -0
  303. data/lib/ngrokapi/services/ip_policy_rules_client.rb +210 -0
  304. data/lib/ngrokapi/services/ip_restrictions_client.rb +223 -0
  305. data/lib/ngrokapi/services/ip_whitelist_client.rb +202 -0
  306. data/lib/ngrokapi/services/reserved_addrs_client.rb +246 -0
  307. data/lib/ngrokapi/services/reserved_domains_client.rb +382 -313
  308. data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +207 -0
  309. data/lib/ngrokapi/services/ssh_credentials_client.rb +211 -0
  310. data/lib/ngrokapi/services/ssh_host_certificates_client.rb +214 -0
  311. data/lib/ngrokapi/services/ssh_user_certificates_client.rb +220 -0
  312. data/lib/ngrokapi/services/tls_certificates_client.rb +207 -161
  313. data/lib/ngrokapi/services/tunnel_sessions_client.rb +228 -0
  314. data/lib/ngrokapi/services/tunnels_client.rb +51 -0
  315. data/lib/ngrokapi/version.rb +1 -1
  316. data/spec/ngrokapi/client_spec.rb +139 -33
  317. data/spec/ngrokapi/models/abuse_report_hostname_spec.rb +21 -0
  318. data/spec/ngrokapi/models/abuse_report_spec.rb +21 -0
  319. data/spec/ngrokapi/models/api_key_spec.rb +42 -43
  320. data/spec/ngrokapi/models/aws_auth_spec.rb +21 -0
  321. data/spec/ngrokapi/models/aws_credentials_spec.rb +21 -0
  322. data/spec/ngrokapi/models/aws_role_spec.rb +21 -0
  323. data/spec/ngrokapi/models/certificate_authority_spec.rb +42 -0
  324. data/spec/ngrokapi/models/credential_spec.rb +45 -0
  325. data/spec/ngrokapi/models/endpoint_circuit_breaker_spec.rb +21 -0
  326. data/spec/ngrokapi/models/endpoint_compression_spec.rb +21 -0
  327. data/spec/ngrokapi/models/endpoint_configuration_spec.rb +78 -0
  328. data/spec/ngrokapi/models/endpoint_ip_policy_mutate_spec.rb +21 -0
  329. data/spec/ngrokapi/models/endpoint_ip_policy_spec.rb +21 -0
  330. data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +21 -0
  331. data/spec/ngrokapi/models/endpoint_logging_spec.rb +21 -0
  332. data/spec/ngrokapi/models/endpoint_mutual_tls_mutate_spec.rb +21 -0
  333. data/spec/ngrokapi/models/endpoint_mutual_tls_spec.rb +21 -0
  334. data/spec/ngrokapi/models/endpoint_o_auth_facebook_spec.rb +21 -0
  335. data/spec/ngrokapi/models/endpoint_o_auth_git_hub_spec.rb +21 -0
  336. data/spec/ngrokapi/models/endpoint_o_auth_google_spec.rb +21 -0
  337. data/spec/ngrokapi/models/endpoint_o_auth_microsoft_spec.rb +21 -0
  338. data/spec/ngrokapi/models/endpoint_o_auth_provider_spec.rb +21 -0
  339. data/spec/ngrokapi/models/endpoint_o_auth_spec.rb +21 -0
  340. data/spec/ngrokapi/models/endpoint_oidc_spec.rb +21 -0
  341. data/spec/ngrokapi/models/endpoint_request_headers_spec.rb +21 -0
  342. data/spec/ngrokapi/models/endpoint_response_headers_spec.rb +21 -0
  343. data/spec/ngrokapi/models/endpoint_saml_mutate_spec.rb +21 -0
  344. data/spec/ngrokapi/models/endpoint_saml_spec.rb +21 -0
  345. data/spec/ngrokapi/models/endpoint_tls_termination_spec.rb +21 -0
  346. data/spec/ngrokapi/models/endpoint_webhook_validation_spec.rb +21 -0
  347. data/spec/ngrokapi/models/event_destination_spec.rb +28 -0
  348. data/spec/ngrokapi/models/event_source_replace_spec.rb +21 -0
  349. data/spec/ngrokapi/models/event_source_spec.rb +21 -0
  350. data/spec/ngrokapi/models/event_stream_spec.rb +51 -0
  351. data/spec/ngrokapi/models/event_subscription_spec.rb +28 -0
  352. data/spec/ngrokapi/models/event_target_cloudwatch_logs_spec.rb +21 -0
  353. data/spec/ngrokapi/models/event_target_firehose_spec.rb +21 -0
  354. data/spec/ngrokapi/models/event_target_kinesis_spec.rb +21 -0
  355. data/spec/ngrokapi/models/event_target_spec.rb +21 -0
  356. data/spec/ngrokapi/models/ip_policy_rule_spec.rb +45 -0
  357. data/spec/ngrokapi/models/ip_policy_spec.rb +42 -0
  358. data/spec/ngrokapi/models/ip_restriction_spec.rb +28 -0
  359. data/spec/ngrokapi/models/ip_whitelist_entry_spec.rb +42 -0
  360. data/spec/ngrokapi/models/listable_spec.rb +4 -4
  361. data/spec/ngrokapi/models/ref_spec.rb +21 -0
  362. data/spec/ngrokapi/models/reserved_addr_spec.rb +28 -0
  363. data/spec/ngrokapi/models/reserved_domain_cert_job_spec.rb +21 -0
  364. data/spec/ngrokapi/models/reserved_domain_cert_ns_target_spec.rb +21 -0
  365. data/spec/ngrokapi/models/reserved_domain_cert_policy_spec.rb +21 -0
  366. data/spec/ngrokapi/models/reserved_domain_cert_status_spec.rb +21 -0
  367. data/spec/ngrokapi/models/reserved_domain_spec.rb +28 -100
  368. data/spec/ngrokapi/models/ssh_certificate_authority_spec.rb +42 -0
  369. data/spec/ngrokapi/models/ssh_credential_spec.rb +45 -0
  370. data/spec/ngrokapi/models/ssh_host_certificate_spec.rb +42 -0
  371. data/spec/ngrokapi/models/ssh_user_certificate_spec.rb +42 -0
  372. data/spec/ngrokapi/models/tls_certificate_sa_ns_spec.rb +21 -0
  373. data/spec/ngrokapi/models/tls_certificate_spec.rb +42 -0
  374. data/spec/ngrokapi/models/tunnel_session_spec.rb +21 -0
  375. data/spec/ngrokapi/models/tunnel_spec.rb +21 -0
  376. data/spec/ngrokapi/paged_iterator_spec.rb +5 -5
  377. data/spec/ngrokapi/services/.gitkeep +0 -0
  378. data/spec/ngrokapi/services/abuse_reports_client_spec.rb +67 -0
  379. data/spec/ngrokapi/services/api_keys_client_spec.rb +160 -127
  380. data/spec/ngrokapi/services/certificate_authorities_client_spec.rb +162 -0
  381. data/spec/ngrokapi/services/credentials_client_spec.rb +166 -0
  382. data/spec/ngrokapi/services/endpoint_circuit_breaker_module_client_spec.rb +127 -0
  383. data/spec/ngrokapi/services/endpoint_compression_module_client_spec.rb +127 -0
  384. data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +240 -0
  385. data/spec/ngrokapi/services/endpoint_ip_policy_module_client_spec.rb +127 -0
  386. data/spec/ngrokapi/services/endpoint_logging_module_client_spec.rb +127 -0
  387. data/spec/ngrokapi/services/endpoint_mutual_tls_module_client_spec.rb +127 -0
  388. data/spec/ngrokapi/services/endpoint_o_auth_module_client_spec.rb +127 -0
  389. data/spec/ngrokapi/services/endpoint_oidc_module_client_spec.rb +127 -0
  390. data/spec/ngrokapi/services/endpoint_request_headers_module_client_spec.rb +127 -0
  391. data/spec/ngrokapi/services/endpoint_response_headers_module_client_spec.rb +127 -0
  392. data/spec/ngrokapi/services/endpoint_saml_module_client_spec.rb +127 -0
  393. data/spec/ngrokapi/services/endpoint_tls_termination_module_client_spec.rb +127 -0
  394. data/spec/ngrokapi/services/endpoint_webhook_validation_module_client_spec.rb +127 -0
  395. data/spec/ngrokapi/services/event_destinations_client_spec.rb +175 -0
  396. data/spec/ngrokapi/services/event_sources_client_spec.rb +162 -0
  397. data/spec/ngrokapi/services/event_streams_client_spec.rb +180 -0
  398. data/spec/ngrokapi/services/event_subscriptions_client_spec.rb +172 -0
  399. data/spec/ngrokapi/services/ip_policies_client_spec.rb +162 -0
  400. data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +168 -0
  401. data/spec/ngrokapi/services/ip_restrictions_client_spec.rb +174 -0
  402. data/spec/ngrokapi/services/ip_whitelist_client_spec.rb +162 -0
  403. data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +209 -0
  404. data/spec/ngrokapi/services/reserved_domains_client_spec.rb +352 -0
  405. data/spec/ngrokapi/services/ssh_certificate_authorities_client_spec.rb +166 -0
  406. data/spec/ngrokapi/services/ssh_credentials_client_spec.rb +168 -0
  407. data/spec/ngrokapi/services/ssh_host_certificates_client_spec.rb +170 -0
  408. data/spec/ngrokapi/services/ssh_user_certificates_client_spec.rb +174 -0
  409. data/spec/ngrokapi/services/tls_certificates_client_spec.rb +164 -0
  410. data/spec/ngrokapi/services/tunnel_sessions_client_spec.rb +184 -0
  411. data/spec/ngrokapi/services/tunnels_client_spec.rb +21 -0
  412. data/spec/spec_helper.rb +958 -0
  413. metadata +355 -10
@@ -0,0 +1,222 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # https://ngrok.com/docs/api#api-event-destinations
7
+ class EventDestinationsClient
8
+ # The API path for the requests
9
+ PATH = '/event_destinations'
10
+ # The List Property from the resulting API for list calls
11
+ LIST_PROPERTY = 'event_destinations'
12
+
13
+ attr_reader :client
14
+
15
+ def initialize(client:)
16
+ @client = client
17
+ end
18
+
19
+ ##
20
+ # Create a new Event Destination. It will not apply to anything until it is
21
+ # associated with an Event Stream, and that Event Stream is associated with an
22
+ # Endpoint Config.
23
+ #
24
+ # @param [string] metadata Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes.
25
+ # @param [string] description Human-readable description of the Event Destination. Optional, max 255 bytes.
26
+ # @param [string] format The output format you would like to serialize events into when sending to their target. Currently the only accepted value is ``JSON``.
27
+ # @param [EventTarget] target An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: ``kinesis``, ``firehose``, ``cloudwatch_logs``, or ``s3``.
28
+ # @return [NgrokAPI::Models::EventDestination] result from the API request
29
+ #
30
+ # https://ngrok.com/docs/api#api-event-destinations-create
31
+ def create(
32
+ metadata: "",
33
+ description: "",
34
+ format: "",
35
+ target: nil,
36
+ verify_with_test_event: nil
37
+ )
38
+ path = '/event_destinations'
39
+ replacements = {
40
+ }
41
+ data = {}
42
+ data[:metadata] = metadata if metadata
43
+ data[:description] = description if description
44
+ data[:format] = format if format
45
+ data[:target] = target if target
46
+ result = @client.post(path % replacements, data: data)
47
+ NgrokAPI::Models::EventDestination.new(client: self, result: result)
48
+ end
49
+
50
+ ##
51
+ # Delete an Event Destination. If the Event Destination is still referenced by an
52
+ # Event Stream, this will throw an error until that Event Stream has removed that
53
+ # reference.
54
+ #
55
+ # @param [string] id a resource identifier
56
+ # @return [NgrokAPI::Models::Empty] result from the API request
57
+ #
58
+ # https://ngrok.com/docs/api#api-event-destinations-delete
59
+ def delete(
60
+ id: ""
61
+ )
62
+ path = '/event_destinations/%{id}'
63
+ replacements = {
64
+ id: id,
65
+ }
66
+ @client.delete(path % replacements)
67
+ end
68
+
69
+ ##
70
+ # Delete an Event Destination. If the Event Destination is still referenced by an
71
+ # Event Stream, this will throw an error until that Event Stream has removed that
72
+ # reference.
73
+ # Throws an exception if API error.
74
+ #
75
+ # @param [string] id a resource identifier
76
+ # @return [NgrokAPI::Models::Empty] result from the API request
77
+ #
78
+ # https://ngrok.com/docs/api#api-event-destinations-delete
79
+ def delete!(
80
+ id: ""
81
+ )
82
+ path = '/event_destinations/%{id}'
83
+ replacements = {
84
+ id: id,
85
+ }
86
+ @client.delete(path % replacements, danger: true)
87
+ end
88
+
89
+ ##
90
+ # Get detailed information about an Event Destination by ID.
91
+ #
92
+ # @param [string] id a resource identifier
93
+ # @return [NgrokAPI::Models::EventDestination] result from the API request
94
+ #
95
+ # https://ngrok.com/docs/api#api-event-destinations-get
96
+ def get(
97
+ id: ""
98
+ )
99
+ path = '/event_destinations/%{id}'
100
+ replacements = {
101
+ id: id,
102
+ }
103
+ data = {}
104
+ result = @client.get(path % replacements, data: data)
105
+ NgrokAPI::Models::EventDestination.new(client: self, result: result)
106
+ end
107
+
108
+ ##
109
+ # Get detailed information about an Event Destination by ID.
110
+ # Throws an exception if API error.
111
+ #
112
+ # @param [string] id a resource identifier
113
+ # @return [NgrokAPI::Models::EventDestination] result from the API request
114
+ #
115
+ # https://ngrok.com/docs/api#api-event-destinations-get
116
+ def get!(
117
+ id: ""
118
+ )
119
+ path = '/event_destinations/%{id}'
120
+ replacements = {
121
+ id: id,
122
+ }
123
+ data = {}
124
+ result = @client.get(path % replacements, data: data, danger: true)
125
+ NgrokAPI::Models::EventDestination.new(client: self, result: result)
126
+ end
127
+
128
+ ##
129
+ # List all Event Destinations on this account.
130
+ #
131
+ # @param [string] before_id
132
+ # @param [string] limit
133
+ # @param [string] url optional and mutually exclusive from before_id and limit
134
+ # @return [NgrokAPI::Models::Listable] result from the API request
135
+ #
136
+ # https://ngrok.com/docs/api#api-event-destinations-list
137
+ def list(
138
+ before_id: nil,
139
+ limit: nil,
140
+ url: nil
141
+ )
142
+ result = @client.list(
143
+ before_id: before_id,
144
+ limit: limit,
145
+ url: url,
146
+ path: PATH
147
+ )
148
+ NgrokAPI::Models::Listable.new(
149
+ client: self,
150
+ result: result,
151
+ list_property: LIST_PROPERTY,
152
+ klass: NgrokAPI::Models::EventDestination
153
+ )
154
+ end
155
+
156
+ ##
157
+ # Update attributes of an Event Destination.
158
+ #
159
+ # @param [string] id Unique identifier for this Event Destination.
160
+ # @param [string] metadata Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes.
161
+ # @param [string] description Human-readable description of the Event Destination. Optional, max 255 bytes.
162
+ # @param [string] format The output format you would like to serialize events into when sending to their target. Currently the only accepted value is ``JSON``.
163
+ # @param [EventTarget] target An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: ``kinesis``, ``firehose``, ``cloudwatch_logs``, or ``s3``.
164
+ # @return [NgrokAPI::Models::EventDestination] result from the API request
165
+ #
166
+ # https://ngrok.com/docs/api#api-event-destinations-update
167
+ def update(
168
+ id: "",
169
+ metadata: nil,
170
+ description: nil,
171
+ format: nil,
172
+ target: nil,
173
+ verify_with_test_event: nil
174
+ )
175
+ path = '/event_destinations/%{id}'
176
+ replacements = {
177
+ id: id,
178
+ }
179
+ data = {}
180
+ data[:metadata] = metadata if metadata
181
+ data[:description] = description if description
182
+ data[:format] = format if format
183
+ data[:target] = target if target
184
+ result = @client.patch(path % replacements, data: data)
185
+ NgrokAPI::Models::EventDestination.new(client: self, result: result)
186
+ end
187
+
188
+ ##
189
+ # Update attributes of an Event Destination.
190
+ # Throws an exception if API error.
191
+ #
192
+ # @param [string] id Unique identifier for this Event Destination.
193
+ # @param [string] metadata Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes.
194
+ # @param [string] description Human-readable description of the Event Destination. Optional, max 255 bytes.
195
+ # @param [string] format The output format you would like to serialize events into when sending to their target. Currently the only accepted value is ``JSON``.
196
+ # @param [EventTarget] target An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: ``kinesis``, ``firehose``, ``cloudwatch_logs``, or ``s3``.
197
+ # @return [NgrokAPI::Models::EventDestination] result from the API request
198
+ #
199
+ # https://ngrok.com/docs/api#api-event-destinations-update
200
+ def update!(
201
+ id: "",
202
+ metadata: nil,
203
+ description: nil,
204
+ format: nil,
205
+ target: nil,
206
+ verify_with_test_event: nil
207
+ )
208
+ path = '/event_destinations/%{id}'
209
+ replacements = {
210
+ id: id,
211
+ }
212
+ data = {}
213
+ data[:metadata] = metadata if metadata
214
+ data[:description] = description if description
215
+ data[:format] = format if format
216
+ data[:target] = target if target
217
+ result = @client.patch(path % replacements, data: data, danger: true)
218
+ NgrokAPI::Models::EventDestination.new(client: self, result: result)
219
+ end
220
+ end
221
+ end
222
+ end
@@ -0,0 +1,177 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # https://ngrok.com/docs/api#api-event-sources
7
+ class EventSourcesClient
8
+ # The API path for the requests
9
+ PATH = '/event_subscriptions/%{subscription_id}/sources'
10
+
11
+ attr_reader :client
12
+
13
+ def initialize(client:)
14
+ @client = client
15
+ end
16
+
17
+ ##
18
+ # Add an additional type for which this event subscription will trigger
19
+ #
20
+ # @param [string] subscription_id The unique identifier for the Event Subscription that this Event Source is attached to.
21
+ # @param [string] type Type of event for which an event subscription will trigger
22
+ # @return [NgrokAPI::Models::EventSource] result from the API request
23
+ #
24
+ # https://ngrok.com/docs/api#api-event-sources-create
25
+ def create(
26
+ subscription_id: "",
27
+ type: "",
28
+ filter: "",
29
+ fields: []
30
+ )
31
+ path = '/event_subscriptions/%{subscription_id}/sources'
32
+ replacements = {
33
+ subscription_id: subscription_id,
34
+ }
35
+ data = {}
36
+ data[:type] = type if type
37
+ result = @client.post(path % replacements, data: data)
38
+ NgrokAPI::Models::EventSource.new(client: self, result: result)
39
+ end
40
+
41
+ ##
42
+ # Remove a type for which this event subscription will trigger
43
+ #
44
+ # @param [string] subscription_id The unique identifier for the Event Subscription that this Event Source is attached to.
45
+ # @param [string] type Type of event for which an event subscription will trigger
46
+ # @return [NgrokAPI::Models::Empty] result from the API request
47
+ #
48
+ # https://ngrok.com/docs/api#api-event-sources-delete
49
+ def delete(
50
+ subscription_id: "",
51
+ type: ""
52
+ )
53
+ path = '/event_subscriptions/%{subscription_id}/sources/%{type}'
54
+ replacements = {
55
+ subscription_id: subscription_id,
56
+ type: type,
57
+ }
58
+ @client.delete(path % replacements)
59
+ end
60
+
61
+ ##
62
+ # Remove a type for which this event subscription will trigger
63
+ # Throws an exception if API error.
64
+ #
65
+ # @param [string] subscription_id The unique identifier for the Event Subscription that this Event Source is attached to.
66
+ # @param [string] type Type of event for which an event subscription will trigger
67
+ # @return [NgrokAPI::Models::Empty] result from the API request
68
+ #
69
+ # https://ngrok.com/docs/api#api-event-sources-delete
70
+ def delete!(
71
+ subscription_id: "",
72
+ type: ""
73
+ )
74
+ path = '/event_subscriptions/%{subscription_id}/sources/%{type}'
75
+ replacements = {
76
+ subscription_id: subscription_id,
77
+ type: type,
78
+ }
79
+ @client.delete(path % replacements, danger: true)
80
+ end
81
+
82
+ ##
83
+ # Get the details for a given type that triggers for the given event subscription
84
+ #
85
+ # @param [string] subscription_id The unique identifier for the Event Subscription that this Event Source is attached to.
86
+ # @param [string] type Type of event for which an event subscription will trigger
87
+ # @return [NgrokAPI::Models::EventSource] result from the API request
88
+ #
89
+ # https://ngrok.com/docs/api#api-event-sources-get
90
+ def get(
91
+ subscription_id: "",
92
+ type: ""
93
+ )
94
+ path = '/event_subscriptions/%{subscription_id}/sources/%{type}'
95
+ replacements = {
96
+ subscription_id: subscription_id,
97
+ type: type,
98
+ }
99
+ data = {}
100
+ result = @client.get(path % replacements, data: data)
101
+ NgrokAPI::Models::EventSource.new(client: self, result: result)
102
+ end
103
+
104
+ ##
105
+ # Get the details for a given type that triggers for the given event subscription
106
+ # Throws an exception if API error.
107
+ #
108
+ # @param [string] subscription_id The unique identifier for the Event Subscription that this Event Source is attached to.
109
+ # @param [string] type Type of event for which an event subscription will trigger
110
+ # @return [NgrokAPI::Models::EventSource] result from the API request
111
+ #
112
+ # https://ngrok.com/docs/api#api-event-sources-get
113
+ def get!(
114
+ subscription_id: "",
115
+ type: ""
116
+ )
117
+ path = '/event_subscriptions/%{subscription_id}/sources/%{type}'
118
+ replacements = {
119
+ subscription_id: subscription_id,
120
+ type: type,
121
+ }
122
+ data = {}
123
+ result = @client.get(path % replacements, data: data, danger: true)
124
+ NgrokAPI::Models::EventSource.new(client: self, result: result)
125
+ end
126
+
127
+ ##
128
+ # Update the type for which this event subscription will trigger
129
+ #
130
+ # @param [string] subscription_id The unique identifier for the Event Subscription that this Event Source is attached to.
131
+ # @param [string] type Type of event for which an event subscription will trigger
132
+ # @return [NgrokAPI::Models::EventSource] result from the API request
133
+ #
134
+ # https://ngrok.com/docs/api#api-event-sources-update
135
+ def update(
136
+ subscription_id: "",
137
+ type: "",
138
+ filter: nil,
139
+ fields: nil
140
+ )
141
+ path = '/event_subscriptions/%{subscription_id}/sources/%{type}'
142
+ replacements = {
143
+ subscription_id: subscription_id,
144
+ type: type,
145
+ }
146
+ data = {}
147
+ result = @client.patch(path % replacements, data: data)
148
+ NgrokAPI::Models::EventSource.new(client: self, result: result)
149
+ end
150
+
151
+ ##
152
+ # Update the type for which this event subscription will trigger
153
+ # Throws an exception if API error.
154
+ #
155
+ # @param [string] subscription_id The unique identifier for the Event Subscription that this Event Source is attached to.
156
+ # @param [string] type Type of event for which an event subscription will trigger
157
+ # @return [NgrokAPI::Models::EventSource] result from the API request
158
+ #
159
+ # https://ngrok.com/docs/api#api-event-sources-update
160
+ def update!(
161
+ subscription_id: "",
162
+ type: "",
163
+ filter: nil,
164
+ fields: nil
165
+ )
166
+ path = '/event_subscriptions/%{subscription_id}/sources/%{type}'
167
+ replacements = {
168
+ subscription_id: subscription_id,
169
+ type: type,
170
+ }
171
+ data = {}
172
+ result = @client.patch(path % replacements, data: data, danger: true)
173
+ NgrokAPI::Models::EventSource.new(client: self, result: result)
174
+ end
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,226 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # https://ngrok.com/docs/api#api-event-streams
7
+ class EventStreamsClient
8
+ # The API path for the requests
9
+ PATH = '/event_streams'
10
+ # The List Property from the resulting API for list calls
11
+ LIST_PROPERTY = 'event_streams'
12
+
13
+ attr_reader :client
14
+
15
+ def initialize(client:)
16
+ @client = client
17
+ end
18
+
19
+ ##
20
+ # Create a new Event Stream. It will not apply to anything until you associate it
21
+ # with one or more Endpoint Configs.
22
+ #
23
+ # @param [string] metadata Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes.
24
+ # @param [string] description Human-readable description of the Event Stream. Optional, max 255 bytes.
25
+ # @param [List<string>] fields A list of protocol-specific fields you want to collect on each event.
26
+ # @param [string] event_type The protocol that determines which events will be collected. Supported values are ``tcp_connection_closed`` and ``http_request_complete``.
27
+ # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.
28
+ # @param [float64] sampling_rate The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.
29
+ # @return [NgrokAPI::Models::EventStream] result from the API request
30
+ #
31
+ # https://ngrok.com/docs/api#api-event-streams-create
32
+ def create(
33
+ metadata: "",
34
+ description: "",
35
+ fields: [],
36
+ event_type: "",
37
+ destination_ids: [],
38
+ sampling_rate: 0
39
+ )
40
+ path = '/event_streams'
41
+ replacements = {
42
+ }
43
+ data = {}
44
+ data[:metadata] = metadata if metadata
45
+ data[:description] = description if description
46
+ data[:fields] = fields if fields
47
+ data[:event_type] = event_type if event_type
48
+ data[:destination_ids] = destination_ids if destination_ids
49
+ data[:sampling_rate] = sampling_rate if sampling_rate
50
+ result = @client.post(path % replacements, data: data)
51
+ NgrokAPI::Models::EventStream.new(client: self, result: result)
52
+ end
53
+
54
+ ##
55
+ # Delete an Event Stream. Associated Event Destinations will be preserved.
56
+ #
57
+ # @param [string] id a resource identifier
58
+ # @return [NgrokAPI::Models::Empty] result from the API request
59
+ #
60
+ # https://ngrok.com/docs/api#api-event-streams-delete
61
+ def delete(
62
+ id: ""
63
+ )
64
+ path = '/event_streams/%{id}'
65
+ replacements = {
66
+ id: id,
67
+ }
68
+ @client.delete(path % replacements)
69
+ end
70
+
71
+ ##
72
+ # Delete an Event Stream. Associated Event Destinations will be preserved.
73
+ # Throws an exception if API error.
74
+ #
75
+ # @param [string] id a resource identifier
76
+ # @return [NgrokAPI::Models::Empty] result from the API request
77
+ #
78
+ # https://ngrok.com/docs/api#api-event-streams-delete
79
+ def delete!(
80
+ id: ""
81
+ )
82
+ path = '/event_streams/%{id}'
83
+ replacements = {
84
+ id: id,
85
+ }
86
+ @client.delete(path % replacements, danger: true)
87
+ end
88
+
89
+ ##
90
+ # Get detailed information about an Event Stream by ID.
91
+ #
92
+ # @param [string] id a resource identifier
93
+ # @return [NgrokAPI::Models::EventStream] result from the API request
94
+ #
95
+ # https://ngrok.com/docs/api#api-event-streams-get
96
+ def get(
97
+ id: ""
98
+ )
99
+ path = '/event_streams/%{id}'
100
+ replacements = {
101
+ id: id,
102
+ }
103
+ data = {}
104
+ result = @client.get(path % replacements, data: data)
105
+ NgrokAPI::Models::EventStream.new(client: self, result: result)
106
+ end
107
+
108
+ ##
109
+ # Get detailed information about an Event Stream by ID.
110
+ # Throws an exception if API error.
111
+ #
112
+ # @param [string] id a resource identifier
113
+ # @return [NgrokAPI::Models::EventStream] result from the API request
114
+ #
115
+ # https://ngrok.com/docs/api#api-event-streams-get
116
+ def get!(
117
+ id: ""
118
+ )
119
+ path = '/event_streams/%{id}'
120
+ replacements = {
121
+ id: id,
122
+ }
123
+ data = {}
124
+ result = @client.get(path % replacements, data: data, danger: true)
125
+ NgrokAPI::Models::EventStream.new(client: self, result: result)
126
+ end
127
+
128
+ ##
129
+ # List all Event Streams available on this account.
130
+ #
131
+ # @param [string] before_id
132
+ # @param [string] limit
133
+ # @param [string] url optional and mutually exclusive from before_id and limit
134
+ # @return [NgrokAPI::Models::Listable] result from the API request
135
+ #
136
+ # https://ngrok.com/docs/api#api-event-streams-list
137
+ def list(
138
+ before_id: nil,
139
+ limit: nil,
140
+ url: nil
141
+ )
142
+ result = @client.list(
143
+ before_id: before_id,
144
+ limit: limit,
145
+ url: url,
146
+ path: PATH
147
+ )
148
+ NgrokAPI::Models::Listable.new(
149
+ client: self,
150
+ result: result,
151
+ list_property: LIST_PROPERTY,
152
+ klass: NgrokAPI::Models::EventStream
153
+ )
154
+ end
155
+
156
+ ##
157
+ # Update attributes of an Event Stream by ID.
158
+ #
159
+ # @param [string] id Unique identifier for this Event Stream.
160
+ # @param [string] metadata Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes.
161
+ # @param [string] description Human-readable description of the Event Stream. Optional, max 255 bytes.
162
+ # @param [List<string>] fields A list of protocol-specific fields you want to collect on each event.
163
+ # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.
164
+ # @param [float64] sampling_rate The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.
165
+ # @return [NgrokAPI::Models::EventStream] result from the API request
166
+ #
167
+ # https://ngrok.com/docs/api#api-event-streams-update
168
+ def update(
169
+ id: "",
170
+ metadata: nil,
171
+ description: nil,
172
+ fields: nil,
173
+ destination_ids: nil,
174
+ sampling_rate: nil
175
+ )
176
+ path = '/event_streams/%{id}'
177
+ replacements = {
178
+ id: id,
179
+ }
180
+ data = {}
181
+ data[:metadata] = metadata if metadata
182
+ data[:description] = description if description
183
+ data[:fields] = fields if fields
184
+ data[:destination_ids] = destination_ids if destination_ids
185
+ data[:sampling_rate] = sampling_rate if sampling_rate
186
+ result = @client.patch(path % replacements, data: data)
187
+ NgrokAPI::Models::EventStream.new(client: self, result: result)
188
+ end
189
+
190
+ ##
191
+ # Update attributes of an Event Stream by ID.
192
+ # Throws an exception if API error.
193
+ #
194
+ # @param [string] id Unique identifier for this Event Stream.
195
+ # @param [string] metadata Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes.
196
+ # @param [string] description Human-readable description of the Event Stream. Optional, max 255 bytes.
197
+ # @param [List<string>] fields A list of protocol-specific fields you want to collect on each event.
198
+ # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.
199
+ # @param [float64] sampling_rate The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.
200
+ # @return [NgrokAPI::Models::EventStream] result from the API request
201
+ #
202
+ # https://ngrok.com/docs/api#api-event-streams-update
203
+ def update!(
204
+ id: "",
205
+ metadata: nil,
206
+ description: nil,
207
+ fields: nil,
208
+ destination_ids: nil,
209
+ sampling_rate: nil
210
+ )
211
+ path = '/event_streams/%{id}'
212
+ replacements = {
213
+ id: id,
214
+ }
215
+ data = {}
216
+ data[:metadata] = metadata if metadata
217
+ data[:description] = description if description
218
+ data[:fields] = fields if fields
219
+ data[:destination_ids] = destination_ids if destination_ids
220
+ data[:sampling_rate] = sampling_rate if sampling_rate
221
+ result = @client.patch(path % replacements, data: data, danger: true)
222
+ NgrokAPI::Models::EventStream.new(client: self, result: result)
223
+ end
224
+ end
225
+ end
226
+ end