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,211 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # Certificate Authorities are x509 certificates that are used to sign other
7
+ # x509 certificates. Attach a Certificate Authority to the Mutual TLS module
8
+ # to verify that the TLS certificate presented by a client has been signed by
9
+ # this CA. Certificate Authorities are used only for mTLS validation only and
10
+ # thus a private key is not included in the resource.
11
+ #
12
+ # https://ngrok.com/docs/api#api-certificate-authorities
13
+ class CertificateAuthoritiesClient
14
+ # The API path for the requests
15
+ PATH = '/certificate_authorities'
16
+ # The List Property from the resulting API for list calls
17
+ LIST_PROPERTY = 'certificate_authorities'
18
+
19
+ attr_reader :client
20
+
21
+ def initialize(client:)
22
+ @client = client
23
+ end
24
+
25
+ ##
26
+ # Upload a new Certificate Authority
27
+ #
28
+ # @param [string] description human-readable description of this Certificate Authority. optional, max 255 bytes.
29
+ # @param [string] metadata arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes.
30
+ # @param [string] ca_pem raw PEM of the Certificate Authority
31
+ # @return [NgrokAPI::Models::CertificateAuthority] result from the API request
32
+ #
33
+ # https://ngrok.com/docs/api#api-certificate-authorities-create
34
+ def create(description: "", metadata: "", ca_pem:)
35
+ path = '/certificate_authorities'
36
+ replacements = {
37
+ }
38
+ data = {}
39
+ data[:description] = description if description
40
+ data[:metadata] = metadata if metadata
41
+ data[:ca_pem] = ca_pem if ca_pem
42
+ result = @client.post(path % replacements, data: data)
43
+ NgrokAPI::Models::CertificateAuthority.new(client: self, result: result)
44
+ end
45
+
46
+ ##
47
+ # Delete a Certificate Authority
48
+ #
49
+ # @param [string] id a resource identifier
50
+ # @return [NgrokAPI::Models::Empty] result from the API request
51
+ #
52
+ # https://ngrok.com/docs/api#api-certificate-authorities-delete
53
+ def delete(id: "")
54
+ path = '/certificate_authorities/%{id}'
55
+ replacements = {
56
+ id: id,
57
+ }
58
+ @client.delete(path % replacements)
59
+ end
60
+
61
+ ##
62
+ # Delete a Certificate Authority
63
+ # Throws an exception if API error.
64
+ #
65
+ # @param [string] id a resource identifier
66
+ # @return [NgrokAPI::Models::Empty] result from the API request
67
+ #
68
+ # https://ngrok.com/docs/api#api-certificate-authorities-delete
69
+ def delete!(id: "")
70
+ path = '/certificate_authorities/%{id}'
71
+ replacements = {
72
+ id: id,
73
+ }
74
+ @client.delete(path % replacements, danger: true)
75
+ end
76
+
77
+ ##
78
+ # Get detailed information about a certficate authority
79
+ #
80
+ # @param [string] id a resource identifier
81
+ # @return [NgrokAPI::Models::CertificateAuthority] result from the API request
82
+ #
83
+ # https://ngrok.com/docs/api#api-certificate-authorities-get
84
+ def get(id: "")
85
+ path = '/certificate_authorities/%{id}'
86
+ replacements = {
87
+ id: id,
88
+ }
89
+ data = {}
90
+ result = @client.get(path % replacements, data: data)
91
+ NgrokAPI::Models::CertificateAuthority.new(client: self, result: result)
92
+ end
93
+
94
+ ##
95
+ # Get detailed information about a certficate authority
96
+ # Throws an exception if API error.
97
+ #
98
+ # @param [string] id a resource identifier
99
+ # @return [NgrokAPI::Models::CertificateAuthority] result from the API request
100
+ #
101
+ # https://ngrok.com/docs/api#api-certificate-authorities-get
102
+ def get!(id: "")
103
+ path = '/certificate_authorities/%{id}'
104
+ replacements = {
105
+ id: id,
106
+ }
107
+ data = {}
108
+ result = @client.get(path % replacements, data: data, danger: true)
109
+ NgrokAPI::Models::CertificateAuthority.new(client: self, result: result)
110
+ end
111
+
112
+ ##
113
+ # List all Certificate Authority on this account
114
+ #
115
+ # @param [string] before_id
116
+ # @param [string] limit
117
+ # @param [string] url optional and mutually exclusive from before_id and limit
118
+ # @return [NgrokAPI::Models::Listable] result from the API request
119
+ #
120
+ # https://ngrok.com/docs/api#api-certificate-authorities-list
121
+ def list(before_id: nil, limit: nil,
122
+ url: nil)
123
+ result = @client.list(
124
+ before_id: before_id,
125
+ limit: limit,
126
+ url: url,
127
+ path: PATH
128
+ )
129
+
130
+ NgrokAPI::Models::Listable.new(
131
+ client: self,
132
+ result: result,
133
+ list_property: LIST_PROPERTY,
134
+ klass: NgrokAPI::Models::CertificateAuthority
135
+ )
136
+ end
137
+
138
+ ##
139
+ # List all Certificate Authority on this account
140
+ # Throws an exception if API error.
141
+ #
142
+ # @param [string] before_id
143
+ # @param [string] limit
144
+ # @param [string] url optional and mutually exclusive from before_id and limit
145
+ # @return [NgrokAPI::Models::Listable] result from the API request
146
+ #
147
+ # https://ngrok.com/docs/api#api-certificate-authorities-list
148
+ def list!(before_id: nil, limit: nil,
149
+ url: nil)
150
+ result = @client.list(
151
+ before_id: before_id,
152
+ limit: limit,
153
+ danger: true,
154
+ url: url,
155
+ path: PATH
156
+ )
157
+
158
+ NgrokAPI::Models::Listable.new(
159
+ client: self,
160
+ result: result,
161
+ list_property: LIST_PROPERTY,
162
+ klass: NgrokAPI::Models::CertificateAuthority,
163
+ danger: true
164
+ )
165
+ end
166
+
167
+ ##
168
+ # Update attributes of a Certificate Authority by ID
169
+ #
170
+ # @param [string] id
171
+ # @param [string] description human-readable description of this Certificate Authority. optional, max 255 bytes.
172
+ # @param [string] metadata arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes.
173
+ # @return [NgrokAPI::Models::CertificateAuthority] result from the API request
174
+ #
175
+ # https://ngrok.com/docs/api#api-certificate-authorities-update
176
+ def update(id: "", description: nil, metadata: nil)
177
+ path = '/certificate_authorities/%{id}'
178
+ replacements = {
179
+ id: id,
180
+ }
181
+ data = {}
182
+ data[:description] = description if description
183
+ data[:metadata] = metadata if metadata
184
+ result = @client.patch(path % replacements, data: data)
185
+ NgrokAPI::Models::CertificateAuthority.new(client: self, result: result)
186
+ end
187
+
188
+ ##
189
+ # Update attributes of a Certificate Authority by ID
190
+ # Throws an exception if API error.
191
+ #
192
+ # @param [string] id
193
+ # @param [string] description human-readable description of this Certificate Authority. optional, max 255 bytes.
194
+ # @param [string] metadata arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes.
195
+ # @return [NgrokAPI::Models::CertificateAuthority] result from the API request
196
+ #
197
+ # https://ngrok.com/docs/api#api-certificate-authorities-update
198
+ def update!(id: "", description: nil, metadata: nil)
199
+ path = '/certificate_authorities/%{id}'
200
+ replacements = {
201
+ id: id,
202
+ }
203
+ data = {}
204
+ data[:description] = description if description
205
+ data[:metadata] = metadata if metadata
206
+ result = @client.patch(path % replacements, data: data, danger: true)
207
+ NgrokAPI::Models::CertificateAuthority.new(client: self, result: result)
208
+ end
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,217 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok
7
+ # agent to connect the ngrok service as your account. They are installed with
8
+ # the `ngrok authtoken` command or by specifying it in the `ngrok.yml`
9
+ # configuration file with the `authtoken` property.
10
+ #
11
+ # https://ngrok.com/docs/api#api-credentials
12
+ class CredentialsClient
13
+ # The API path for the requests
14
+ PATH = '/credentials'
15
+ # The List Property from the resulting API for list calls
16
+ LIST_PROPERTY = 'credentials'
17
+
18
+ attr_reader :client
19
+
20
+ def initialize(client:)
21
+ @client = client
22
+ end
23
+
24
+ ##
25
+ # Create a new tunnel authtoken credential. This authtoken credential can be used
26
+ # to start a new tunnel session. The response to this API call is the only time
27
+ # the generated token is available. If you need it for future use, you must save
28
+ # it securely yourself.
29
+ #
30
+ # @param [string] description human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes.
31
+ # @param [string] metadata arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes.
32
+ # @param [List<string>] acl optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the ``bind`` rule. The ``bind`` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule ``bind:example.ngrok.io``. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of ``bind:*.example.com`` which will allow ``x.example.com``, ``y.example.com``, ``*.example.com``, etc. A rule of ``'*'`` is equivalent to no acl at all and will explicitly permit all actions.
33
+ # @return [NgrokAPI::Models::Credential] result from the API request
34
+ #
35
+ # https://ngrok.com/docs/api#api-credentials-create
36
+ def create(description: "", metadata: "", acl: [])
37
+ path = '/credentials'
38
+ replacements = {
39
+ }
40
+ data = {}
41
+ data[:description] = description if description
42
+ data[:metadata] = metadata if metadata
43
+ data[:acl] = acl if acl
44
+ result = @client.post(path % replacements, data: data)
45
+ NgrokAPI::Models::Credential.new(client: self, result: result)
46
+ end
47
+
48
+ ##
49
+ # Delete a tunnel authtoken credential by ID
50
+ #
51
+ # @param [string] id a resource identifier
52
+ # @return [NgrokAPI::Models::Empty] result from the API request
53
+ #
54
+ # https://ngrok.com/docs/api#api-credentials-delete
55
+ def delete(id: "")
56
+ path = '/credentials/%{id}'
57
+ replacements = {
58
+ id: id,
59
+ }
60
+ @client.delete(path % replacements)
61
+ end
62
+
63
+ ##
64
+ # Delete a tunnel authtoken credential by ID
65
+ # Throws an exception if API error.
66
+ #
67
+ # @param [string] id a resource identifier
68
+ # @return [NgrokAPI::Models::Empty] result from the API request
69
+ #
70
+ # https://ngrok.com/docs/api#api-credentials-delete
71
+ def delete!(id: "")
72
+ path = '/credentials/%{id}'
73
+ replacements = {
74
+ id: id,
75
+ }
76
+ @client.delete(path % replacements, danger: true)
77
+ end
78
+
79
+ ##
80
+ # Get detailed information about a tunnel authtoken credential
81
+ #
82
+ # @param [string] id a resource identifier
83
+ # @return [NgrokAPI::Models::Credential] result from the API request
84
+ #
85
+ # https://ngrok.com/docs/api#api-credentials-get
86
+ def get(id: "")
87
+ path = '/credentials/%{id}'
88
+ replacements = {
89
+ id: id,
90
+ }
91
+ data = {}
92
+ result = @client.get(path % replacements, data: data)
93
+ NgrokAPI::Models::Credential.new(client: self, result: result)
94
+ end
95
+
96
+ ##
97
+ # Get detailed information about a tunnel authtoken credential
98
+ # Throws an exception if API error.
99
+ #
100
+ # @param [string] id a resource identifier
101
+ # @return [NgrokAPI::Models::Credential] result from the API request
102
+ #
103
+ # https://ngrok.com/docs/api#api-credentials-get
104
+ def get!(id: "")
105
+ path = '/credentials/%{id}'
106
+ replacements = {
107
+ id: id,
108
+ }
109
+ data = {}
110
+ result = @client.get(path % replacements, data: data, danger: true)
111
+ NgrokAPI::Models::Credential.new(client: self, result: result)
112
+ end
113
+
114
+ ##
115
+ # List all tunnel authtoken credentials on this account
116
+ #
117
+ # @param [string] before_id
118
+ # @param [string] limit
119
+ # @param [string] url optional and mutually exclusive from before_id and limit
120
+ # @return [NgrokAPI::Models::Listable] result from the API request
121
+ #
122
+ # https://ngrok.com/docs/api#api-credentials-list
123
+ def list(before_id: nil, limit: nil,
124
+ url: nil)
125
+ result = @client.list(
126
+ before_id: before_id,
127
+ limit: limit,
128
+ url: url,
129
+ path: PATH
130
+ )
131
+
132
+ NgrokAPI::Models::Listable.new(
133
+ client: self,
134
+ result: result,
135
+ list_property: LIST_PROPERTY,
136
+ klass: NgrokAPI::Models::Credential
137
+ )
138
+ end
139
+
140
+ ##
141
+ # List all tunnel authtoken credentials on this account
142
+ # Throws an exception if API error.
143
+ #
144
+ # @param [string] before_id
145
+ # @param [string] limit
146
+ # @param [string] url optional and mutually exclusive from before_id and limit
147
+ # @return [NgrokAPI::Models::Listable] result from the API request
148
+ #
149
+ # https://ngrok.com/docs/api#api-credentials-list
150
+ def list!(before_id: nil, limit: nil,
151
+ url: nil)
152
+ result = @client.list(
153
+ before_id: before_id,
154
+ limit: limit,
155
+ danger: true,
156
+ url: url,
157
+ path: PATH
158
+ )
159
+
160
+ NgrokAPI::Models::Listable.new(
161
+ client: self,
162
+ result: result,
163
+ list_property: LIST_PROPERTY,
164
+ klass: NgrokAPI::Models::Credential,
165
+ danger: true
166
+ )
167
+ end
168
+
169
+ ##
170
+ # Update attributes of an tunnel authtoken credential by ID
171
+ #
172
+ # @param [string] id
173
+ # @param [string] description human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes.
174
+ # @param [string] metadata arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes.
175
+ # @param [List<string>] acl optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the ``bind`` rule. The ``bind`` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule ``bind:example.ngrok.io``. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of ``bind:*.example.com`` which will allow ``x.example.com``, ``y.example.com``, ``*.example.com``, etc. A rule of ``'*'`` is equivalent to no acl at all and will explicitly permit all actions.
176
+ # @return [NgrokAPI::Models::Credential] result from the API request
177
+ #
178
+ # https://ngrok.com/docs/api#api-credentials-update
179
+ def update(id: "", description: nil, metadata: nil, acl: nil)
180
+ path = '/credentials/%{id}'
181
+ replacements = {
182
+ id: id,
183
+ }
184
+ data = {}
185
+ data[:description] = description if description
186
+ data[:metadata] = metadata if metadata
187
+ data[:acl] = acl if acl
188
+ result = @client.patch(path % replacements, data: data)
189
+ NgrokAPI::Models::Credential.new(client: self, result: result)
190
+ end
191
+
192
+ ##
193
+ # Update attributes of an tunnel authtoken credential by ID
194
+ # Throws an exception if API error.
195
+ #
196
+ # @param [string] id
197
+ # @param [string] description human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes.
198
+ # @param [string] metadata arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes.
199
+ # @param [List<string>] acl optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the ``bind`` rule. The ``bind`` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule ``bind:example.ngrok.io``. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of ``bind:*.example.com`` which will allow ``x.example.com``, ``y.example.com``, ``*.example.com``, etc. A rule of ``'*'`` is equivalent to no acl at all and will explicitly permit all actions.
200
+ # @return [NgrokAPI::Models::Credential] result from the API request
201
+ #
202
+ # https://ngrok.com/docs/api#api-credentials-update
203
+ def update!(id: "", description: nil, metadata: nil, acl: nil)
204
+ path = '/credentials/%{id}'
205
+ replacements = {
206
+ id: id,
207
+ }
208
+ data = {}
209
+ data[:description] = description if description
210
+ data[:metadata] = metadata if metadata
211
+ data[:acl] = acl if acl
212
+ result = @client.patch(path % replacements, data: data, danger: true)
213
+ NgrokAPI::Models::Credential.new(client: self, result: result)
214
+ end
215
+ end
216
+ end
217
+ end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module
7
+ class EndpointCircuitBreakerModuleClient
8
+ # The API path for the requests
9
+ PATH = '/endpoint_configurations/%{id}/circuit_breaker'
10
+
11
+ attr_reader :client
12
+
13
+ def initialize(client:)
14
+ @client = client
15
+ end
16
+
17
+ ##
18
+ # @param [string] id
19
+ # @param [EndpointCircuitBreaker] a_module
20
+ # @return [NgrokAPI::Models::EndpointCircuitBreaker] result from the API request
21
+ #
22
+ # https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-replace
23
+ def replace(id: "", a_module: nil)
24
+ path = '/endpoint_configurations/%{id}/circuit_breaker'
25
+ replacements = {
26
+ id: id,
27
+ }
28
+ data = {}
29
+ data[:module] = a_module if a_module
30
+ result = @client.put(path % replacements, data: data)
31
+ NgrokAPI::Models::EndpointCircuitBreaker.new(client: self, result: result)
32
+ end
33
+
34
+ ##
35
+ # @param [string] id
36
+ # @param [EndpointCircuitBreaker] a_module
37
+ # @return [NgrokAPI::Models::EndpointCircuitBreaker] result from the API request
38
+ #
39
+ # https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-replace
40
+ def replace!(id: "", a_module: nil)
41
+ path = '/endpoint_configurations/%{id}/circuit_breaker'
42
+ replacements = {
43
+ id: id,
44
+ }
45
+ data = {}
46
+ data[:module] = a_module if a_module
47
+ result = @client.put(path % replacements, data: data, danger: true)
48
+ NgrokAPI::Models::EndpointCircuitBreaker.new(client: self, result: result)
49
+ end
50
+
51
+ ##
52
+ # @param [string] id a resource identifier
53
+ # @return [NgrokAPI::Models::EndpointCircuitBreaker] result from the API request
54
+ #
55
+ # https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-get
56
+ def get(id: "")
57
+ path = '/endpoint_configurations/%{id}/circuit_breaker'
58
+ replacements = {
59
+ id: id,
60
+ }
61
+ data = {}
62
+ result = @client.get(path % replacements, data: data)
63
+ NgrokAPI::Models::EndpointCircuitBreaker.new(client: self, result: result)
64
+ end
65
+
66
+ ##
67
+ # @param [string] id a resource identifier
68
+ # @return [NgrokAPI::Models::EndpointCircuitBreaker] result from the API request
69
+ #
70
+ # https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-get
71
+ def get!(id: "")
72
+ path = '/endpoint_configurations/%{id}/circuit_breaker'
73
+ replacements = {
74
+ id: id,
75
+ }
76
+ data = {}
77
+ result = @client.get(path % replacements, data: data, danger: true)
78
+ NgrokAPI::Models::EndpointCircuitBreaker.new(client: self, result: result)
79
+ end
80
+
81
+ ##
82
+ # @param [string] id a resource identifier
83
+ # @return [NgrokAPI::Models::Empty] result from the API request
84
+ #
85
+ # https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-delete
86
+ def delete(id: "")
87
+ path = '/endpoint_configurations/%{id}/circuit_breaker'
88
+ replacements = {
89
+ id: id,
90
+ }
91
+ @client.delete(path % replacements)
92
+ end
93
+
94
+ ##
95
+ # @param [string] id a resource identifier
96
+ # @return [NgrokAPI::Models::Empty] result from the API request
97
+ #
98
+ # https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-delete
99
+ def delete!(id: "")
100
+ path = '/endpoint_configurations/%{id}/circuit_breaker'
101
+ replacements = {
102
+ id: id,
103
+ }
104
+ @client.delete(path % replacements, danger: true)
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # https://ngrok.com/docs/api#api-endpoint-compression-module
7
+ class EndpointCompressionModuleClient
8
+ # The API path for the requests
9
+ PATH = '/endpoint_configurations/%{id}/compression'
10
+
11
+ attr_reader :client
12
+
13
+ def initialize(client:)
14
+ @client = client
15
+ end
16
+
17
+ ##
18
+ # @param [string] id
19
+ # @param [EndpointCompression] a_module
20
+ # @return [NgrokAPI::Models::EndpointCompression] result from the API request
21
+ #
22
+ # https://ngrok.com/docs/api#api-endpoint-compression-module-replace
23
+ def replace(id: "", a_module: nil)
24
+ path = '/endpoint_configurations/%{id}/compression'
25
+ replacements = {
26
+ id: id,
27
+ }
28
+ data = {}
29
+ data[:module] = a_module if a_module
30
+ result = @client.put(path % replacements, data: data)
31
+ NgrokAPI::Models::EndpointCompression.new(client: self, result: result)
32
+ end
33
+
34
+ ##
35
+ # @param [string] id
36
+ # @param [EndpointCompression] a_module
37
+ # @return [NgrokAPI::Models::EndpointCompression] result from the API request
38
+ #
39
+ # https://ngrok.com/docs/api#api-endpoint-compression-module-replace
40
+ def replace!(id: "", a_module: nil)
41
+ path = '/endpoint_configurations/%{id}/compression'
42
+ replacements = {
43
+ id: id,
44
+ }
45
+ data = {}
46
+ data[:module] = a_module if a_module
47
+ result = @client.put(path % replacements, data: data, danger: true)
48
+ NgrokAPI::Models::EndpointCompression.new(client: self, result: result)
49
+ end
50
+
51
+ ##
52
+ # @param [string] id a resource identifier
53
+ # @return [NgrokAPI::Models::EndpointCompression] result from the API request
54
+ #
55
+ # https://ngrok.com/docs/api#api-endpoint-compression-module-get
56
+ def get(id: "")
57
+ path = '/endpoint_configurations/%{id}/compression'
58
+ replacements = {
59
+ id: id,
60
+ }
61
+ data = {}
62
+ result = @client.get(path % replacements, data: data)
63
+ NgrokAPI::Models::EndpointCompression.new(client: self, result: result)
64
+ end
65
+
66
+ ##
67
+ # @param [string] id a resource identifier
68
+ # @return [NgrokAPI::Models::EndpointCompression] result from the API request
69
+ #
70
+ # https://ngrok.com/docs/api#api-endpoint-compression-module-get
71
+ def get!(id: "")
72
+ path = '/endpoint_configurations/%{id}/compression'
73
+ replacements = {
74
+ id: id,
75
+ }
76
+ data = {}
77
+ result = @client.get(path % replacements, data: data, danger: true)
78
+ NgrokAPI::Models::EndpointCompression.new(client: self, result: result)
79
+ end
80
+
81
+ ##
82
+ # @param [string] id a resource identifier
83
+ # @return [NgrokAPI::Models::Empty] result from the API request
84
+ #
85
+ # https://ngrok.com/docs/api#api-endpoint-compression-module-delete
86
+ def delete(id: "")
87
+ path = '/endpoint_configurations/%{id}/compression'
88
+ replacements = {
89
+ id: id,
90
+ }
91
+ @client.delete(path % replacements)
92
+ end
93
+
94
+ ##
95
+ # @param [string] id a resource identifier
96
+ # @return [NgrokAPI::Models::Empty] result from the API request
97
+ #
98
+ # https://ngrok.com/docs/api#api-endpoint-compression-module-delete
99
+ def delete!(id: "")
100
+ path = '/endpoint_configurations/%{id}/compression'
101
+ replacements = {
102
+ id: id,
103
+ }
104
+ @client.delete(path % replacements, danger: true)
105
+ end
106
+ end
107
+ end
108
+ end