ngrok-api 0.9.0 → 0.12.0

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