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