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
@@ -1,313 +1,289 @@
1
- # frozen_string_literal: true
2
-
3
- module NgrokAPI
4
- module Services
5
- ##
6
- # A client for interacting with the endpoint_configuration API
7
- #
8
- # https://ngrok.com/docs/api#api-endpoint-configurations
9
- class EndpointConfigurationsClient
10
- # The List Property from the resulting API for list calls
11
- LIST_PROPERTY = 'endpoint_configurations'
12
- # The API path for endpoint configurations
13
- PATH = '/endpoint_configurations'
14
-
15
- attr_reader :client
16
-
17
- def initialize(client:)
18
- @client = client
19
- end
20
-
21
- # rubocop:disable LineLength
22
-
23
- ##
24
- # Create a new endpoint configuration
25
- #
26
- # @param [string] description human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
27
- # @param [string] metadata arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
28
- # @param [string] type they type of traffic this endpoint configuration can be applied to. one of: ``http``, ``https``, ``tcp``
29
- # @param [string] circuit_breaker circuit breaker module configuration
30
- # @param [string] compression compression module configuration
31
- # @param [string] request_headers request headers module configuration
32
- # @param [string] response_headers response headers module configuration
33
- # @param [string] ip_policy ip policy module configuration
34
- # @param [string] mutual_tls mutual TLS module configuration
35
- # @param [string] tls_termination TLS termination module configuration
36
- # @param [string] webhook_validation webhook validation module configuration
37
- # @param [string] oauth oauth module configuration
38
- # @param [string] logging logging module configuration
39
- # @param [string] saml saml module configuration
40
- # @param [string] oidc oidc module configuration
41
- # @return [NgrokAPI::Models::EndpointConfiguration] result from create request
42
- #
43
- # https://ngrok.com/docs/api#api-endpoint-configurations-create
44
- def create(
45
- description: '',
46
- metadata: '',
47
- type: '',
48
- circuit_breaker: nil,
49
- compression: nil,
50
- request_headers: nil,
51
- response_headers: nil,
52
- ip_policy: nil,
53
- mutual_tls: nil,
54
- tls_termination: nil,
55
- webhook_validation: nil,
56
- oauth: nil,
57
- logging: nil,
58
- saml: nil,
59
- oidc: nil
60
- )
61
- data = {
62
- type: type,
63
- description: description,
64
- metadata: metadata,
65
- circuit_breaker: circuit_breaker,
66
- compression: compression,
67
- request_headers: request_headers,
68
- response_headers: response_headers,
69
- ip_policy: ip_policy,
70
- mutual_tls: mutual_tls,
71
- tls_termination: tls_termination,
72
- webhook_validation: webhook_validation,
73
- oauth: oauth,
74
- logging: logging,
75
- saml: saml,
76
- oidc: oidc,
77
- }
78
- result = @client.post(PATH, data: data)
79
- NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
80
- end
81
- # rubocop:enable LineLength
82
-
83
- ##
84
- # Delete an endpoint configuration.
85
- # This operation will fail if the endpoint configuration is still referenced by
86
- # any reserved domain or reserved address.
87
- #
88
- # @param [string] id a resource identifier
89
- # @return [nil] result from delete request
90
- #
91
- # https://ngrok.com/docs/api#api-endpoint-configurations-delete
92
- def delete(id: nil)
93
- @client.delete("#{PATH}/#{id}")
94
- end
95
-
96
- ##
97
- # Delete an endpoint configuration. Throw an exception if 404.
98
- # This operation will fail if the endpoint configuration is still referenced by
99
- # any reserved domain or reserved address.
100
- #
101
- # @param [string] id a resource identifier
102
- # @return [nil] result from delete request
103
- #
104
- # https://ngrok.com/docs/api#api-endpoint-configurations-delete
105
- def delete!(id: nil)
106
- @client.delete("#{PATH}/#{id}", danger: true)
107
- end
108
-
109
- ##
110
- # Returns detailed information about an endpoint configuration by ID.
111
- #
112
- # @param [string] id a resource identifier
113
- # @return [NgrokAPI::Models::EndpointConfiguration] result from get request
114
- #
115
- # https://ngrok.com/docs/api#api-endpoint-configurations-get
116
- def get(id: nil)
117
- result = @client.get("#{PATH}/#{id}")
118
- NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
119
- end
120
-
121
- ##
122
- # Returns detailed information about an endpoint configuration by ID. Throw an execption if 404.
123
- #
124
- # @param [string] id a resource identifier
125
- # @return [NgrokAPI::Models::EndpointConfiguration] result from get request
126
- #
127
- # https://ngrok.com/docs/api#api-endpoint-configurations-get
128
- def get!(id: nil)
129
- result = @client.get("#{PATH}/#{id}", danger: true)
130
- NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
131
- end
132
-
133
- ##
134
- # Returns a list of all endpoint configurations on this account.
135
- #
136
- # @param [string] before_id
137
- # @param [integer] limit
138
- # @param [string] url optional and mutually exclusive from before_id and limit
139
- # @return [NgrokAPI::Models::Listable] the result listable
140
- #
141
- # https://ngrok.com/docs/api#api-endpoint-configurations-list
142
- def list(before_id: nil, limit: nil, url: nil)
143
- result = @client.list(before_id: before_id, limit: limit, url: url, path: PATH)
144
- NgrokAPI::Models::Listable.new(
145
- client: self,
146
- result: result,
147
- list_property: LIST_PROPERTY,
148
- klass: NgrokAPI::Models::EndpointConfiguration
149
- )
150
- end
151
-
152
- # rubocop:disable LineLength
153
-
154
- ##
155
- # Updates an endpoint configuration. If a module is not specified in the update, it will not be modified.
156
- # However, each module configuration that is specified will completely replace the existing value.
157
- # There is no way to delete an existing module via this API, instead use the delete module API.
158
- #
159
- # @param [string] id unique identifier of this endpoint configuration
160
- # @param [string] description human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
161
- # @param [string] metadata arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
162
- # @param [string] circuit_breaker circuit breaker module configuration
163
- # @param [string] compression compression module configuration
164
- # @param [string] request_headers request headers module configuration
165
- # @param [string] response_headers response headers module configuration
166
- # @param [string] ip_policy ip policy module configuration
167
- # @param [string] mutual_tls mutual TLS module configuration
168
- # @param [string] tls_termination TLS termination module configuration
169
- # @param [string] webhook_validation webhook validation module configuration
170
- # @param [string] oauth oauth module configuration
171
- # @param [string] logging logging module configuration
172
- # @param [string] saml saml module configuration
173
- # @param [string] oidc oidc module configuration
174
- # @return [NgrokAPI::Models::EndpointConfiguration] result from update request
175
- #
176
- # https://ngrok.com/docs/api#api-endpoint-configurations-update
177
- def update(
178
- id: nil,
179
- description: nil,
180
- metadata: nil,
181
- circuit_breaker: nil,
182
- compression: nil,
183
- request_headers: nil,
184
- response_headers: nil,
185
- ip_policy: nil,
186
- mutual_tls: nil,
187
- tls_termination: nil,
188
- webhook_validation: nil,
189
- oauth: nil,
190
- logging: nil,
191
- saml: nil,
192
- oidc: nil
193
- )
194
- data = build_data(
195
- description: description,
196
- metadata: metadata,
197
- circuit_breaker: circuit_breaker,
198
- compression: compression,
199
- request_headers: request_headers,
200
- response_headers: response_headers,
201
- ip_policy: ip_policy,
202
- mutual_tls: mutual_tls,
203
- tls_termination: tls_termination,
204
- webhook_validation: webhook_validation,
205
- oauth: oauth,
206
- logging: logging,
207
- saml: saml,
208
- oidc: oidc
209
- )
210
- result = @client.patch("#{PATH}/#{id}", data: data)
211
- NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
212
- end
213
-
214
- ##
215
- # Updates an endpoint configuration. If a module is not specified in the update, it will not be modified.
216
- # However, each module configuration that is specified will completely replace the existing value.
217
- # There is no way to delete an existing module via this API, instead use the delete module API.
218
- # Throw an exception if 404.
219
- #
220
- # @param [string] id unique identifier of this endpoint configuration
221
- # @param [string] description human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
222
- # @param [string] metadata arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
223
- # @param [string] circuit_breaker circuit breaker module configuration
224
- # @param [string] compression compression module configuration
225
- # @param [string] request_headers request headers module configuration
226
- # @param [string] response_headers response headers module configuration
227
- # @param [string] ip_policy ip policy module configuration
228
- # @param [string] mutual_tls mutual TLS module configuration
229
- # @param [string] tls_termination TLS termination module configuration
230
- # @param [string] webhook_validation webhook validation module configuration
231
- # @param [string] oauth oauth module configuration
232
- # @param [string] logging logging module configuration
233
- # @param [string] saml saml module configuration
234
- # @param [string] oidc oidc module configuration
235
- # @return [NgrokAPI::Models::EndpointConfiguration] result from update request
236
- #
237
- # https://ngrok.com/docs/api#api-endpoint-configurations-update
238
- def update!(
239
- id: nil,
240
- description: nil,
241
- metadata: nil,
242
- circuit_breaker: nil,
243
- compression: nil,
244
- request_headers: nil,
245
- response_headers: nil,
246
- ip_policy: nil,
247
- mutual_tls: nil,
248
- tls_termination: nil,
249
- webhook_validation: nil,
250
- oauth: nil,
251
- logging: nil,
252
- saml: nil,
253
- oidc: nil
254
- )
255
- data = build_data(
256
- description: description,
257
- metadata: metadata,
258
- circuit_breaker: circuit_breaker,
259
- compression: compression,
260
- request_headers: request_headers,
261
- response_headers: response_headers,
262
- ip_policy: ip_policy,
263
- mutual_tls: mutual_tls,
264
- tls_termination: tls_termination,
265
- webhook_validation: webhook_validation,
266
- oauth: oauth,
267
- logging: logging,
268
- saml: saml,
269
- oidc: oidc
270
- )
271
- result = @client.patch("#{PATH}/#{id}", danger: true, data: data)
272
- NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
273
- end
274
- # rubocop:enable LineLength
275
-
276
- private
277
-
278
- def build_data(
279
- description: nil,
280
- metadata: nil,
281
- circuit_breaker: nil,
282
- compression: nil,
283
- request_headers: nil,
284
- response_headers: nil,
285
- ip_policy: nil,
286
- mutual_tls: nil,
287
- tls_termination: nil,
288
- webhook_validation: nil,
289
- oauth: nil,
290
- logging: nil,
291
- saml: nil,
292
- oidc: nil
293
- )
294
- data = {}
295
- data[:description] = description if description
296
- data[:metadata] = metadata if metadata
297
- data[:circuit_breaker] = circuit_breaker if circuit_breaker
298
- data[:compression] = compression if compression
299
- data[:request_headers] = request_headers if request_headers
300
- data[:response_headers] = response_headers if response_headers
301
- data[:ip_policy] = ip_policy if ip_policy
302
- data[:mutual_tls] = mutual_tls if mutual_tls
303
- data[:tls_termination] = tls_termination if tls_termination
304
- data[:webhook_validation] = webhook_validation if webhook_validation
305
- data[:oauth] = oauth if oauth
306
- data[:logging] = logging if logging
307
- data[:saml] = saml if saml
308
- data[:oidc] = oidc if oidc
309
- data
310
- end
311
- end
312
- end
313
- end
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # Endpoint Configurations are a reusable group of modules that encapsulate how
7
+ # traffic to a domain or address is handled. Endpoint configurations are only
8
+ # applied to Domains and TCP Addresses they have been attached to.
9
+ #
10
+ # https://ngrok.com/docs/api#api-endpoint-configurations
11
+ class EndpointConfigurationsClient
12
+ # The API path for the requests
13
+ PATH = '/endpoint_configurations'
14
+ # The List Property from the resulting API for list calls
15
+ LIST_PROPERTY = 'endpoint_configurations'
16
+
17
+ attr_reader :client
18
+
19
+ def initialize(client:)
20
+ @client = client
21
+ end
22
+
23
+ ##
24
+ # Create a new endpoint configuration
25
+ #
26
+ # @param [string] type they type of traffic this endpoint configuration can be applied to. one of: ``http``, ``https``, ``tcp``
27
+ # @param [string] description human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
28
+ # @param [string] metadata arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
29
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
30
+ # @param [EndpointCompression] compression compression module configuration or ``null``
31
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
32
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
33
+ # @param [EndpointIPPolicyMutate] ip_policy ip policy module configuration or ``null``
34
+ # @param [EndpointMutualTLSMutate] mutual_tls mutual TLS module configuration or ``null``
35
+ # @param [EndpointTLSTermination] tls_termination TLS termination module configuration or ``null``
36
+ # @param [EndpointWebhookValidation] webhook_validation webhook validation module configuration or ``null``
37
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
38
+ # @param [EndpointLoggingMutate] logging logging module configuration or ``null``
39
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
40
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
41
+ # @return [NgrokAPI::Models::EndpointConfiguration] result from the API request
42
+ #
43
+ # https://ngrok.com/docs/api#api-endpoint-configurations-create
44
+ def create(type: "", description: "", metadata: "", basic_auth: nil, circuit_breaker: nil, compression: nil, request_headers: nil, response_headers: nil, ip_policy: nil, mutual_tls: nil, tls_termination: nil, webhook_validation: nil, oauth: nil, logging: nil, saml: nil, oidc: nil, backend: nil)
45
+ path = '/endpoint_configurations'
46
+ replacements = {
47
+ }
48
+ data = {}
49
+ data[:type] = type if type
50
+ data[:description] = description if description
51
+ data[:metadata] = metadata if metadata
52
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
53
+ data[:compression] = compression if compression
54
+ data[:request_headers] = request_headers if request_headers
55
+ data[:response_headers] = response_headers if response_headers
56
+ data[:ip_policy] = ip_policy if ip_policy
57
+ data[:mutual_tls] = mutual_tls if mutual_tls
58
+ data[:tls_termination] = tls_termination if tls_termination
59
+ data[:webhook_validation] = webhook_validation if webhook_validation
60
+ data[:oauth] = oauth if oauth
61
+ data[:logging] = logging if logging
62
+ data[:saml] = saml if saml
63
+ data[:oidc] = oidc if oidc
64
+ result = @client.post(path % replacements, data: data)
65
+ NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
66
+ end
67
+
68
+ ##
69
+ # Delete an endpoint configuration. This operation will fail if the endpoint
70
+ # configuration is still referenced by any reserved domain or reserved address.
71
+ #
72
+ # @param [string] id a resource identifier
73
+ # @return [NgrokAPI::Models::Empty] result from the API request
74
+ #
75
+ # https://ngrok.com/docs/api#api-endpoint-configurations-delete
76
+ def delete(id: "")
77
+ path = '/endpoint_configurations/%{id}'
78
+ replacements = {
79
+ id: id,
80
+ }
81
+ @client.delete(path % replacements)
82
+ end
83
+
84
+ ##
85
+ # Delete an endpoint configuration. This operation will fail if the endpoint
86
+ # configuration is still referenced by any reserved domain or reserved address.
87
+ # Throws an exception if API error.
88
+ #
89
+ # @param [string] id a resource identifier
90
+ # @return [NgrokAPI::Models::Empty] result from the API request
91
+ #
92
+ # https://ngrok.com/docs/api#api-endpoint-configurations-delete
93
+ def delete!(id: "")
94
+ path = '/endpoint_configurations/%{id}'
95
+ replacements = {
96
+ id: id,
97
+ }
98
+ @client.delete(path % replacements, danger: true)
99
+ end
100
+
101
+ ##
102
+ # Returns detailed information about an endpoint configuration
103
+ #
104
+ # @param [string] id a resource identifier
105
+ # @return [NgrokAPI::Models::EndpointConfiguration] result from the API request
106
+ #
107
+ # https://ngrok.com/docs/api#api-endpoint-configurations-get
108
+ def get(id: "")
109
+ path = '/endpoint_configurations/%{id}'
110
+ replacements = {
111
+ id: id,
112
+ }
113
+ data = {}
114
+ result = @client.get(path % replacements, data: data)
115
+ NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
116
+ end
117
+
118
+ ##
119
+ # Returns detailed information about an endpoint configuration
120
+ # Throws an exception if API error.
121
+ #
122
+ # @param [string] id a resource identifier
123
+ # @return [NgrokAPI::Models::EndpointConfiguration] result from the API request
124
+ #
125
+ # https://ngrok.com/docs/api#api-endpoint-configurations-get
126
+ def get!(id: "")
127
+ path = '/endpoint_configurations/%{id}'
128
+ replacements = {
129
+ id: id,
130
+ }
131
+ data = {}
132
+ result = @client.get(path % replacements, data: data, danger: true)
133
+ NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
134
+ end
135
+
136
+ ##
137
+ # Returns a list of all endpoint configurations on this account
138
+ #
139
+ # @param [string] before_id
140
+ # @param [string] limit
141
+ # @param [string] url optional and mutually exclusive from before_id and limit
142
+ # @return [NgrokAPI::Models::Listable] result from the API request
143
+ #
144
+ # https://ngrok.com/docs/api#api-endpoint-configurations-list
145
+ def list(before_id: nil, limit: nil,
146
+ url: nil)
147
+ result = @client.list(
148
+ before_id: before_id,
149
+ limit: limit,
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::EndpointConfiguration
159
+ )
160
+ end
161
+
162
+ ##
163
+ # Returns a list of all endpoint configurations on this account
164
+ # Throws an exception if API error.
165
+ #
166
+ # @param [string] before_id
167
+ # @param [string] limit
168
+ # @param [string] url optional and mutually exclusive from before_id and limit
169
+ # @return [NgrokAPI::Models::Listable] result from the API request
170
+ #
171
+ # https://ngrok.com/docs/api#api-endpoint-configurations-list
172
+ def list!(before_id: nil, limit: nil,
173
+ url: nil)
174
+ result = @client.list(
175
+ before_id: before_id,
176
+ limit: limit,
177
+ danger: true,
178
+ url: url,
179
+ path: PATH
180
+ )
181
+
182
+ NgrokAPI::Models::Listable.new(
183
+ client: self,
184
+ result: result,
185
+ list_property: LIST_PROPERTY,
186
+ klass: NgrokAPI::Models::EndpointConfiguration,
187
+ danger: true
188
+ )
189
+ end
190
+
191
+ ##
192
+ # Updates an endpoint configuration. If a module is not specified in the update,
193
+ # it will not be modified. However, each module configuration that is specified
194
+ # will completely replace the existing value. There is no way to delete an
195
+ # existing module via this API, instead use the delete module API.
196
+ #
197
+ # @param [string] id unique identifier of this endpoint configuration
198
+ # @param [string] description human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
199
+ # @param [string] metadata arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
200
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
201
+ # @param [EndpointCompression] compression compression module configuration or ``null``
202
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
203
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
204
+ # @param [EndpointIPPolicyMutate] ip_policy ip policy module configuration or ``null``
205
+ # @param [EndpointMutualTLSMutate] mutual_tls mutual TLS module configuration or ``null``
206
+ # @param [EndpointTLSTermination] tls_termination TLS termination module configuration or ``null``
207
+ # @param [EndpointWebhookValidation] webhook_validation webhook validation module configuration or ``null``
208
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
209
+ # @param [EndpointLoggingMutate] logging logging module configuration or ``null``
210
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
211
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
212
+ # @return [NgrokAPI::Models::EndpointConfiguration] result from the API request
213
+ #
214
+ # https://ngrok.com/docs/api#api-endpoint-configurations-update
215
+ def update(id: "", description: nil, metadata: nil, basic_auth: nil, circuit_breaker: nil, compression: nil, request_headers: nil, response_headers: nil, ip_policy: nil, mutual_tls: nil, tls_termination: nil, webhook_validation: nil, oauth: nil, logging: nil, saml: nil, oidc: nil, backend: nil)
216
+ path = '/endpoint_configurations/%{id}'
217
+ replacements = {
218
+ id: id,
219
+ }
220
+ data = {}
221
+ data[:description] = description if description
222
+ data[:metadata] = metadata if metadata
223
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
224
+ data[:compression] = compression if compression
225
+ data[:request_headers] = request_headers if request_headers
226
+ data[:response_headers] = response_headers if response_headers
227
+ data[:ip_policy] = ip_policy if ip_policy
228
+ data[:mutual_tls] = mutual_tls if mutual_tls
229
+ data[:tls_termination] = tls_termination if tls_termination
230
+ data[:webhook_validation] = webhook_validation if webhook_validation
231
+ data[:oauth] = oauth if oauth
232
+ data[:logging] = logging if logging
233
+ data[:saml] = saml if saml
234
+ data[:oidc] = oidc if oidc
235
+ result = @client.patch(path % replacements, data: data)
236
+ NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
237
+ end
238
+
239
+ ##
240
+ # Updates an endpoint configuration. If a module is not specified in the update,
241
+ # it will not be modified. However, each module configuration that is specified
242
+ # will completely replace the existing value. There is no way to delete an
243
+ # existing module via this API, instead use the delete module API.
244
+ # Throws an exception if API error.
245
+ #
246
+ # @param [string] id unique identifier of this endpoint configuration
247
+ # @param [string] description human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
248
+ # @param [string] metadata arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
249
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
250
+ # @param [EndpointCompression] compression compression module configuration or ``null``
251
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
252
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
253
+ # @param [EndpointIPPolicyMutate] ip_policy ip policy module configuration or ``null``
254
+ # @param [EndpointMutualTLSMutate] mutual_tls mutual TLS module configuration or ``null``
255
+ # @param [EndpointTLSTermination] tls_termination TLS termination module configuration or ``null``
256
+ # @param [EndpointWebhookValidation] webhook_validation webhook validation module configuration or ``null``
257
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
258
+ # @param [EndpointLoggingMutate] logging logging module configuration or ``null``
259
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
260
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
261
+ # @return [NgrokAPI::Models::EndpointConfiguration] result from the API request
262
+ #
263
+ # https://ngrok.com/docs/api#api-endpoint-configurations-update
264
+ def update!(id: "", description: nil, metadata: nil, basic_auth: nil, circuit_breaker: nil, compression: nil, request_headers: nil, response_headers: nil, ip_policy: nil, mutual_tls: nil, tls_termination: nil, webhook_validation: nil, oauth: nil, logging: nil, saml: nil, oidc: nil, backend: nil)
265
+ path = '/endpoint_configurations/%{id}'
266
+ replacements = {
267
+ id: id,
268
+ }
269
+ data = {}
270
+ data[:description] = description if description
271
+ data[:metadata] = metadata if metadata
272
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
273
+ data[:compression] = compression if compression
274
+ data[:request_headers] = request_headers if request_headers
275
+ data[:response_headers] = response_headers if response_headers
276
+ data[:ip_policy] = ip_policy if ip_policy
277
+ data[:mutual_tls] = mutual_tls if mutual_tls
278
+ data[:tls_termination] = tls_termination if tls_termination
279
+ data[:webhook_validation] = webhook_validation if webhook_validation
280
+ data[:oauth] = oauth if oauth
281
+ data[:logging] = logging if logging
282
+ data[:saml] = saml if saml
283
+ data[:oidc] = oidc if oidc
284
+ result = @client.patch(path % replacements, data: data, danger: true)
285
+ NgrokAPI::Models::EndpointConfiguration.new(client: self, result: result)
286
+ end
287
+ end
288
+ end
289
+ end