ngrok-api 0.9.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -2
  3. data/.yardopts +1 -0
  4. data/LICENSE +7 -0
  5. data/doc/NgrokAPI/Client.html +1469 -125
  6. data/doc/NgrokAPI/Error.html +3 -3
  7. data/doc/NgrokAPI/Errors/NotFoundError.html +3 -3
  8. data/doc/NgrokAPI/Errors.html +3 -3
  9. data/doc/NgrokAPI/HttpClient.html +66 -36
  10. data/doc/NgrokAPI/Models/{ApiKey.html → APIKey.html} +110 -179
  11. data/doc/NgrokAPI/Models/AWSAuth.html +617 -0
  12. data/doc/NgrokAPI/Models/AWSCredentials.html +617 -0
  13. data/doc/NgrokAPI/Models/AWSRole.html +543 -0
  14. data/doc/NgrokAPI/Models/AbuseReport.html +987 -0
  15. data/doc/NgrokAPI/Models/AbuseReportHostname.html +617 -0
  16. data/doc/NgrokAPI/Models/AgentIngress.html +1217 -0
  17. data/doc/NgrokAPI/Models/CertificateAuthority.html +1439 -0
  18. data/doc/NgrokAPI/Models/Credential.html +1149 -0
  19. data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +913 -0
  20. data/doc/NgrokAPI/Models/EndpointCompression.html +543 -0
  21. data/doc/NgrokAPI/Models/EndpointConfiguration.html +1323 -512
  22. data/doc/NgrokAPI/Models/EndpointIPPolicy.html +617 -0
  23. data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +617 -0
  24. data/doc/NgrokAPI/Models/EndpointLogging.html +617 -0
  25. data/doc/NgrokAPI/Models/EndpointLoggingMutate.html +617 -0
  26. data/doc/NgrokAPI/Models/EndpointMutualTLS.html +617 -0
  27. data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +617 -0
  28. data/doc/NgrokAPI/Models/EndpointOAuth.html +987 -0
  29. data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +839 -0
  30. data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +987 -0
  31. data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +839 -0
  32. data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +839 -0
  33. data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +765 -0
  34. data/doc/NgrokAPI/Models/EndpointOIDC.html +1135 -0
  35. data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +691 -0
  36. data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +691 -0
  37. data/doc/NgrokAPI/Models/EndpointSAML.html +1653 -0
  38. data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +1283 -0
  39. data/doc/NgrokAPI/Models/EndpointTLSTermination.html +691 -0
  40. data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +691 -0
  41. data/doc/NgrokAPI/Models/EventDestination.html +1058 -0
  42. data/doc/NgrokAPI/Models/EventSource.html +765 -0
  43. data/doc/NgrokAPI/Models/EventSourceList.html +617 -0
  44. data/doc/NgrokAPI/Models/EventSourceReplace.html +691 -0
  45. data/doc/NgrokAPI/Models/EventStream.html +1309 -0
  46. data/doc/NgrokAPI/Models/EventSubscription.html +1058 -0
  47. data/doc/NgrokAPI/Models/EventTarget.html +765 -0
  48. data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +617 -0
  49. data/doc/NgrokAPI/Models/EventTargetFirehose.html +617 -0
  50. data/doc/NgrokAPI/Models/EventTargetKinesis.html +617 -0
  51. data/doc/NgrokAPI/Models/{TlsCertificate.html → IPPolicy.html} +172 -167
  52. data/doc/NgrokAPI/Models/IPPolicyRule.html +1149 -0
  53. data/doc/NgrokAPI/Models/IPRestriction.html +1132 -0
  54. data/doc/NgrokAPI/Models/Listable.html +120 -52
  55. data/doc/NgrokAPI/Models/Ref.html +617 -0
  56. data/doc/NgrokAPI/Models/ReservedAddr.html +1132 -0
  57. data/doc/NgrokAPI/Models/ReservedDomain.html +186 -1108
  58. data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +765 -0
  59. data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +617 -0
  60. data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +617 -0
  61. data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +1143 -0
  62. data/doc/NgrokAPI/Models/SSHCredential.html +1149 -0
  63. data/doc/NgrokAPI/Models/SSHHostCertificate.html +1513 -0
  64. data/doc/NgrokAPI/Models/SSHUserCertificate.html +1661 -0
  65. data/doc/NgrokAPI/Models/TLSCertificate.html +2179 -0
  66. data/doc/NgrokAPI/Models/TLSCertificateSANs.html +617 -0
  67. data/doc/NgrokAPI/Models/Tunnel.html +987 -0
  68. data/doc/NgrokAPI/Models/TunnelSession.html +1209 -0
  69. data/doc/NgrokAPI/Models.html +6 -6
  70. data/doc/NgrokAPI/PagedIterator.html +16 -12
  71. data/{docs/NgrokAPI/Services/ApiKeysClient.html → doc/NgrokAPI/Services/APIKeysClient.html} +404 -153
  72. data/doc/NgrokAPI/Services/AbuseReportsClient.html +706 -0
  73. data/doc/NgrokAPI/Services/AgentIngressesClient.html +1600 -0
  74. data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +1602 -0
  75. data/doc/NgrokAPI/Services/CredentialsClient.html +1644 -0
  76. data/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1043 -0
  77. data/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html +1043 -0
  78. data/doc/NgrokAPI/Services/EndpointConfigurationsClient.html +503 -370
  79. data/doc/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1043 -0
  80. data/doc/NgrokAPI/Services/EndpointLoggingModuleClient.html +1043 -0
  81. data/doc/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1043 -0
  82. data/doc/NgrokAPI/Services/EndpointOAuthModuleClient.html +1043 -0
  83. data/doc/NgrokAPI/Services/EndpointOIDCModuleClient.html +1043 -0
  84. data/doc/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1043 -0
  85. data/doc/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1043 -0
  86. data/doc/NgrokAPI/Services/EndpointSAMLModuleClient.html +1043 -0
  87. data/doc/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1043 -0
  88. data/doc/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1043 -0
  89. data/doc/NgrokAPI/Services/EventDestinationsClient.html +1712 -0
  90. data/doc/NgrokAPI/Services/EventSourcesClient.html +1532 -0
  91. data/doc/NgrokAPI/Services/EventStreamsClient.html +1792 -0
  92. data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +1712 -0
  93. data/doc/NgrokAPI/Services/IPPoliciesClient.html +1602 -0
  94. data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +1660 -0
  95. data/doc/NgrokAPI/Services/IPRestrictionsClient.html +1720 -0
  96. data/doc/NgrokAPI/Services/ReservedAddrsClient.html +1894 -0
  97. data/doc/NgrokAPI/Services/ReservedDomainsClient.html +585 -344
  98. data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1644 -0
  99. data/doc/NgrokAPI/Services/SSHCredentialsClient.html +1662 -0
  100. data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +1680 -0
  101. data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +1720 -0
  102. data/{docs/NgrokAPI/Services/TlsCertificatesClient.html → doc/NgrokAPI/Services/TLSCertificatesClient.html} +404 -201
  103. data/doc/NgrokAPI/Services/TunnelSessionsClient.html +1587 -0
  104. data/doc/NgrokAPI/Services/TunnelsClient.html +669 -0
  105. data/doc/NgrokAPI/Services.html +6 -6
  106. data/doc/NgrokAPI.html +5 -5
  107. data/doc/README +94 -0
  108. data/doc/_index.html +621 -25
  109. data/doc/class_list.html +1 -1
  110. data/doc/file.README.html +55 -28
  111. data/doc/frames.html +1 -1
  112. data/doc/index.html +55 -28
  113. data/doc/method_list.html +7526 -286
  114. data/doc/top-level-namespace.html +3 -3
  115. data/docs/.gitkeep +0 -0
  116. data/docs/CNAME +1 -0
  117. data/docs/NgrokAPI/Client.html +1469 -125
  118. data/docs/NgrokAPI/Error.html +3 -3
  119. data/docs/NgrokAPI/Errors/NotFoundError.html +3 -3
  120. data/docs/NgrokAPI/Errors.html +3 -3
  121. data/docs/NgrokAPI/HttpClient.html +66 -36
  122. data/docs/NgrokAPI/Models/{ApiKey.html → APIKey.html} +110 -179
  123. data/docs/NgrokAPI/Models/AWSAuth.html +617 -0
  124. data/docs/NgrokAPI/Models/AWSCredentials.html +617 -0
  125. data/docs/NgrokAPI/Models/AWSRole.html +543 -0
  126. data/docs/NgrokAPI/Models/AbuseReport.html +987 -0
  127. data/docs/NgrokAPI/Models/AbuseReportHostname.html +617 -0
  128. data/docs/NgrokAPI/Models/AgentIngress.html +1217 -0
  129. data/docs/NgrokAPI/Models/CertificateAuthority.html +1439 -0
  130. data/docs/NgrokAPI/Models/Credential.html +1149 -0
  131. data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +913 -0
  132. data/docs/NgrokAPI/Models/EndpointCompression.html +543 -0
  133. data/docs/NgrokAPI/Models/EndpointConfiguration.html +1323 -512
  134. data/docs/NgrokAPI/Models/EndpointIPPolicy.html +617 -0
  135. data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +617 -0
  136. data/docs/NgrokAPI/Models/EndpointLogging.html +617 -0
  137. data/docs/NgrokAPI/Models/EndpointLoggingMutate.html +617 -0
  138. data/docs/NgrokAPI/Models/EndpointMutualTLS.html +617 -0
  139. data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +617 -0
  140. data/docs/NgrokAPI/Models/EndpointOAuth.html +987 -0
  141. data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +839 -0
  142. data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +987 -0
  143. data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +839 -0
  144. data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +839 -0
  145. data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +765 -0
  146. data/docs/NgrokAPI/Models/EndpointOIDC.html +1135 -0
  147. data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +691 -0
  148. data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +691 -0
  149. data/docs/NgrokAPI/Models/EndpointSAML.html +1653 -0
  150. data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +1283 -0
  151. data/docs/NgrokAPI/Models/EndpointTLSTermination.html +691 -0
  152. data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +691 -0
  153. data/docs/NgrokAPI/Models/EventDestination.html +1058 -0
  154. data/docs/NgrokAPI/Models/EventSource.html +765 -0
  155. data/docs/NgrokAPI/Models/EventSourceList.html +617 -0
  156. data/docs/NgrokAPI/Models/EventSourceReplace.html +691 -0
  157. data/docs/NgrokAPI/Models/EventStream.html +1309 -0
  158. data/docs/NgrokAPI/Models/EventSubscription.html +1058 -0
  159. data/docs/NgrokAPI/Models/EventTarget.html +765 -0
  160. data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +617 -0
  161. data/docs/NgrokAPI/Models/EventTargetFirehose.html +617 -0
  162. data/docs/NgrokAPI/Models/EventTargetKinesis.html +617 -0
  163. data/docs/NgrokAPI/Models/{TlsCertificate.html → IPPolicy.html} +172 -167
  164. data/docs/NgrokAPI/Models/IPPolicyRule.html +1149 -0
  165. data/docs/NgrokAPI/Models/IPRestriction.html +1132 -0
  166. data/docs/NgrokAPI/Models/Listable.html +120 -52
  167. data/docs/NgrokAPI/Models/Ref.html +617 -0
  168. data/docs/NgrokAPI/Models/ReservedAddr.html +1132 -0
  169. data/docs/NgrokAPI/Models/ReservedDomain.html +186 -1108
  170. data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +765 -0
  171. data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +617 -0
  172. data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +617 -0
  173. data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +1143 -0
  174. data/docs/NgrokAPI/Models/SSHCredential.html +1149 -0
  175. data/docs/NgrokAPI/Models/SSHHostCertificate.html +1513 -0
  176. data/docs/NgrokAPI/Models/SSHUserCertificate.html +1661 -0
  177. data/docs/NgrokAPI/Models/TLSCertificate.html +2179 -0
  178. data/docs/NgrokAPI/Models/TLSCertificateSANs.html +617 -0
  179. data/docs/NgrokAPI/Models/Tunnel.html +987 -0
  180. data/docs/NgrokAPI/Models/TunnelSession.html +1209 -0
  181. data/docs/NgrokAPI/Models.html +6 -6
  182. data/docs/NgrokAPI/PagedIterator.html +16 -12
  183. data/{doc/NgrokAPI/Services/ApiKeysClient.html → docs/NgrokAPI/Services/APIKeysClient.html} +404 -153
  184. data/docs/NgrokAPI/Services/AbuseReportsClient.html +706 -0
  185. data/docs/NgrokAPI/Services/AgentIngressesClient.html +1600 -0
  186. data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +1602 -0
  187. data/docs/NgrokAPI/Services/CredentialsClient.html +1644 -0
  188. data/docs/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1043 -0
  189. data/docs/NgrokAPI/Services/EndpointCompressionModuleClient.html +1043 -0
  190. data/docs/NgrokAPI/Services/EndpointConfigurationsClient.html +503 -370
  191. data/docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1043 -0
  192. data/docs/NgrokAPI/Services/EndpointLoggingModuleClient.html +1043 -0
  193. data/docs/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1043 -0
  194. data/docs/NgrokAPI/Services/EndpointOAuthModuleClient.html +1043 -0
  195. data/docs/NgrokAPI/Services/EndpointOIDCModuleClient.html +1043 -0
  196. data/docs/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1043 -0
  197. data/docs/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1043 -0
  198. data/docs/NgrokAPI/Services/EndpointSAMLModuleClient.html +1043 -0
  199. data/docs/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1043 -0
  200. data/docs/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1043 -0
  201. data/docs/NgrokAPI/Services/EventDestinationsClient.html +1712 -0
  202. data/docs/NgrokAPI/Services/EventSourcesClient.html +1532 -0
  203. data/docs/NgrokAPI/Services/EventStreamsClient.html +1792 -0
  204. data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +1712 -0
  205. data/docs/NgrokAPI/Services/IPPoliciesClient.html +1602 -0
  206. data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +1660 -0
  207. data/docs/NgrokAPI/Services/IPRestrictionsClient.html +1720 -0
  208. data/docs/NgrokAPI/Services/ReservedAddrsClient.html +1894 -0
  209. data/docs/NgrokAPI/Services/ReservedDomainsClient.html +585 -344
  210. data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1644 -0
  211. data/docs/NgrokAPI/Services/SSHCredentialsClient.html +1662 -0
  212. data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +1680 -0
  213. data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +1720 -0
  214. data/{doc/NgrokAPI/Services/TlsCertificatesClient.html → docs/NgrokAPI/Services/TLSCertificatesClient.html} +404 -201
  215. data/docs/NgrokAPI/Services/TunnelSessionsClient.html +1587 -0
  216. data/docs/NgrokAPI/Services/TunnelsClient.html +669 -0
  217. data/docs/NgrokAPI/Services.html +6 -6
  218. data/docs/NgrokAPI.html +5 -5
  219. data/docs/README +94 -0
  220. data/docs/_index.html +621 -25
  221. data/docs/class_list.html +1 -1
  222. data/docs/file.README.html +55 -28
  223. data/docs/frames.html +1 -1
  224. data/docs/index.html +55 -28
  225. data/docs/method_list.html +7526 -286
  226. data/docs/top-level-namespace.html +3 -3
  227. data/lib/ngrokapi/client.rb +229 -49
  228. data/lib/ngrokapi/http_client.rb +6 -7
  229. data/lib/ngrokapi/models/abuse_report.rb +37 -0
  230. data/lib/ngrokapi/models/abuse_report_hostname.rb +27 -0
  231. data/lib/ngrokapi/models/agent_ingress.rb +66 -0
  232. data/lib/ngrokapi/models/api_key.rb +62 -64
  233. data/lib/ngrokapi/models/aws_auth.rb +27 -0
  234. data/lib/ngrokapi/models/aws_credentials.rb +27 -0
  235. data/lib/ngrokapi/models/aws_role.rb +25 -0
  236. data/lib/ngrokapi/models/certificate_authority.rb +72 -0
  237. data/lib/ngrokapi/models/credential.rb +67 -0
  238. data/lib/ngrokapi/models/endpoint_circuit_breaker.rb +35 -0
  239. data/lib/ngrokapi/models/endpoint_compression.rb +25 -0
  240. data/lib/ngrokapi/models/endpoint_configuration.rb +130 -119
  241. data/lib/ngrokapi/models/endpoint_ip_policy.rb +27 -0
  242. data/lib/ngrokapi/models/endpoint_ip_policy_mutate.rb +27 -0
  243. data/lib/ngrokapi/models/endpoint_logging.rb +27 -0
  244. data/lib/ngrokapi/models/endpoint_logging_mutate.rb +27 -0
  245. data/lib/ngrokapi/models/endpoint_mutual_tls.rb +27 -0
  246. data/lib/ngrokapi/models/endpoint_mutual_tls_mutate.rb +27 -0
  247. data/lib/ngrokapi/models/endpoint_o_auth.rb +37 -0
  248. data/lib/ngrokapi/models/endpoint_o_auth_facebook.rb +33 -0
  249. data/lib/ngrokapi/models/endpoint_o_auth_git_hub.rb +37 -0
  250. data/lib/ngrokapi/models/endpoint_o_auth_google.rb +33 -0
  251. data/lib/ngrokapi/models/endpoint_o_auth_microsoft.rb +33 -0
  252. data/lib/ngrokapi/models/endpoint_o_auth_provider.rb +31 -0
  253. data/lib/ngrokapi/models/endpoint_oidc.rb +41 -0
  254. data/lib/ngrokapi/models/endpoint_request_headers.rb +29 -0
  255. data/lib/ngrokapi/models/endpoint_response_headers.rb +29 -0
  256. data/lib/ngrokapi/models/endpoint_saml.rb +55 -0
  257. data/lib/ngrokapi/models/endpoint_saml_mutate.rb +45 -0
  258. data/lib/ngrokapi/models/endpoint_tls_termination.rb +29 -0
  259. data/lib/ngrokapi/models/endpoint_webhook_validation.rb +29 -0
  260. data/lib/ngrokapi/models/event_destination.rb +49 -0
  261. data/lib/ngrokapi/models/event_source.rb +31 -0
  262. data/lib/ngrokapi/models/event_source_list.rb +27 -0
  263. data/lib/ngrokapi/models/event_source_replace.rb +29 -0
  264. data/lib/ngrokapi/models/event_stream.rb +77 -0
  265. data/lib/ngrokapi/models/event_subscription.rb +47 -0
  266. data/lib/ngrokapi/models/event_target.rb +31 -0
  267. data/lib/ngrokapi/models/event_target_cloudwatch_logs.rb +27 -0
  268. data/lib/ngrokapi/models/event_target_firehose.rb +27 -0
  269. data/lib/ngrokapi/models/event_target_kinesis.rb +27 -0
  270. data/lib/ngrokapi/models/ip_policy.rb +64 -0
  271. data/lib/ngrokapi/models/ip_policy_rule.rb +67 -0
  272. data/lib/ngrokapi/models/ip_restriction.rb +49 -0
  273. data/lib/ngrokapi/models/listable.rb +13 -2
  274. data/lib/ngrokapi/models/ref.rb +27 -0
  275. data/lib/ngrokapi/models/reserved_addr.rb +49 -0
  276. data/lib/ngrokapi/models/reserved_domain.rb +61 -211
  277. data/lib/ngrokapi/models/reserved_domain_cert_job.rb +31 -0
  278. data/lib/ngrokapi/models/reserved_domain_cert_policy.rb +27 -0
  279. data/lib/ngrokapi/models/reserved_domain_cert_status.rb +27 -0
  280. data/lib/ngrokapi/models/ssh_certificate_authority.rb +64 -0
  281. data/lib/ngrokapi/models/ssh_credential.rb +67 -0
  282. data/lib/ngrokapi/models/ssh_host_certificate.rb +74 -0
  283. data/lib/ngrokapi/models/ssh_user_certificate.rb +78 -0
  284. data/lib/ngrokapi/models/tls_certificate.rb +92 -62
  285. data/lib/ngrokapi/models/tls_certificate_sa_ns.rb +27 -0
  286. data/lib/ngrokapi/models/tunnel.rb +37 -0
  287. data/lib/ngrokapi/models/tunnel_session.rb +43 -0
  288. data/lib/ngrokapi/paged_iterator.rb +4 -2
  289. data/lib/ngrokapi/services/.gitkeep +0 -0
  290. data/lib/ngrokapi/services/abuse_reports_client.rb +77 -0
  291. data/lib/ngrokapi/services/agent_ingresses_client.rb +206 -0
  292. data/lib/ngrokapi/services/api_keys_client.rb +210 -144
  293. data/lib/ngrokapi/services/certificate_authorities_client.rb +211 -0
  294. data/lib/ngrokapi/services/credentials_client.rb +217 -0
  295. data/lib/ngrokapi/services/endpoint_circuit_breaker_module_client.rb +108 -0
  296. data/lib/ngrokapi/services/endpoint_compression_module_client.rb +108 -0
  297. data/lib/ngrokapi/services/endpoint_configurations_client.rb +289 -313
  298. data/lib/ngrokapi/services/endpoint_ip_policy_module_client.rb +108 -0
  299. data/lib/ngrokapi/services/endpoint_logging_module_client.rb +108 -0
  300. data/lib/ngrokapi/services/endpoint_mutual_tls_module_client.rb +108 -0
  301. data/lib/ngrokapi/services/endpoint_o_auth_module_client.rb +108 -0
  302. data/lib/ngrokapi/services/endpoint_oidc_module_client.rb +108 -0
  303. data/lib/ngrokapi/services/endpoint_request_headers_module_client.rb +108 -0
  304. data/lib/ngrokapi/services/endpoint_response_headers_module_client.rb +108 -0
  305. data/lib/ngrokapi/services/endpoint_saml_module_client.rb +108 -0
  306. data/lib/ngrokapi/services/endpoint_tls_termination_module_client.rb +108 -0
  307. data/lib/ngrokapi/services/endpoint_webhook_validation_module_client.rb +108 -0
  308. data/lib/ngrokapi/services/event_destinations_client.rb +221 -0
  309. data/lib/ngrokapi/services/event_sources_client.rb +185 -0
  310. data/lib/ngrokapi/services/event_streams_client.rb +224 -0
  311. data/lib/ngrokapi/services/event_subscriptions_client.rb +215 -0
  312. data/lib/ngrokapi/services/ip_policies_client.rb +215 -0
  313. data/lib/ngrokapi/services/ip_policy_rules_client.rb +214 -0
  314. data/lib/ngrokapi/services/ip_restrictions_client.rb +224 -0
  315. data/lib/ngrokapi/services/reserved_addrs_client.rb +246 -0
  316. data/lib/ngrokapi/services/reserved_domains_client.rb +360 -313
  317. data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +212 -0
  318. data/lib/ngrokapi/services/ssh_credentials_client.rb +215 -0
  319. data/lib/ngrokapi/services/ssh_host_certificates_client.rb +217 -0
  320. data/lib/ngrokapi/services/ssh_user_certificates_client.rb +221 -0
  321. data/lib/ngrokapi/services/tls_certificates_client.rb +213 -161
  322. data/lib/ngrokapi/services/tunnel_sessions_client.rb +237 -0
  323. data/lib/ngrokapi/services/tunnels_client.rb +78 -0
  324. data/lib/ngrokapi/version.rb +1 -1
  325. data/lib/ngrokapi.rb +1 -1
  326. data/ngrok-api.gemspec +1 -1
  327. data/spec/ngrokapi/client_spec.rb +158 -33
  328. data/spec/ngrokapi/models/abuse_report_hostname_spec.rb +21 -0
  329. data/spec/ngrokapi/models/abuse_report_spec.rb +21 -0
  330. data/spec/ngrokapi/models/agent_ingress_spec.rb +42 -0
  331. data/spec/ngrokapi/models/api_key_spec.rb +42 -43
  332. data/spec/ngrokapi/models/aws_auth_spec.rb +21 -0
  333. data/spec/ngrokapi/models/aws_credentials_spec.rb +21 -0
  334. data/spec/ngrokapi/models/aws_role_spec.rb +21 -0
  335. data/spec/ngrokapi/models/certificate_authority_spec.rb +42 -0
  336. data/spec/ngrokapi/models/credential_spec.rb +45 -0
  337. data/spec/ngrokapi/models/endpoint_circuit_breaker_spec.rb +21 -0
  338. data/spec/ngrokapi/models/endpoint_compression_spec.rb +21 -0
  339. data/spec/ngrokapi/models/endpoint_configuration_spec.rb +78 -0
  340. data/spec/ngrokapi/models/endpoint_ip_policy_mutate_spec.rb +21 -0
  341. data/spec/ngrokapi/models/endpoint_ip_policy_spec.rb +21 -0
  342. data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +21 -0
  343. data/spec/ngrokapi/models/endpoint_logging_spec.rb +21 -0
  344. data/spec/ngrokapi/models/endpoint_mutual_tls_mutate_spec.rb +21 -0
  345. data/spec/ngrokapi/models/endpoint_mutual_tls_spec.rb +21 -0
  346. data/spec/ngrokapi/models/endpoint_o_auth_facebook_spec.rb +21 -0
  347. data/spec/ngrokapi/models/endpoint_o_auth_git_hub_spec.rb +21 -0
  348. data/spec/ngrokapi/models/endpoint_o_auth_google_spec.rb +21 -0
  349. data/spec/ngrokapi/models/endpoint_o_auth_microsoft_spec.rb +21 -0
  350. data/spec/ngrokapi/models/endpoint_o_auth_provider_spec.rb +21 -0
  351. data/spec/ngrokapi/models/endpoint_o_auth_spec.rb +21 -0
  352. data/spec/ngrokapi/models/endpoint_oidc_spec.rb +21 -0
  353. data/spec/ngrokapi/models/endpoint_request_headers_spec.rb +21 -0
  354. data/spec/ngrokapi/models/endpoint_response_headers_spec.rb +21 -0
  355. data/spec/ngrokapi/models/endpoint_saml_mutate_spec.rb +21 -0
  356. data/spec/ngrokapi/models/endpoint_saml_spec.rb +21 -0
  357. data/spec/ngrokapi/models/endpoint_tls_termination_spec.rb +21 -0
  358. data/spec/ngrokapi/models/endpoint_webhook_validation_spec.rb +21 -0
  359. data/spec/ngrokapi/models/event_destination_spec.rb +28 -0
  360. data/spec/ngrokapi/models/event_source_list_spec.rb +21 -0
  361. data/spec/ngrokapi/models/event_source_replace_spec.rb +21 -0
  362. data/spec/ngrokapi/models/event_source_spec.rb +21 -0
  363. data/spec/ngrokapi/models/event_stream_spec.rb +51 -0
  364. data/spec/ngrokapi/models/event_subscription_spec.rb +28 -0
  365. data/spec/ngrokapi/models/event_target_cloudwatch_logs_spec.rb +21 -0
  366. data/spec/ngrokapi/models/event_target_firehose_spec.rb +21 -0
  367. data/spec/ngrokapi/models/event_target_kinesis_spec.rb +21 -0
  368. data/spec/ngrokapi/models/event_target_spec.rb +21 -0
  369. data/spec/ngrokapi/models/ip_policy_rule_spec.rb +45 -0
  370. data/spec/ngrokapi/models/ip_policy_spec.rb +42 -0
  371. data/spec/ngrokapi/models/ip_restriction_spec.rb +28 -0
  372. data/spec/ngrokapi/models/listable_spec.rb +4 -4
  373. data/spec/ngrokapi/models/ref_spec.rb +21 -0
  374. data/spec/ngrokapi/models/reserved_addr_spec.rb +28 -0
  375. data/spec/ngrokapi/models/reserved_domain_cert_job_spec.rb +21 -0
  376. data/spec/ngrokapi/models/reserved_domain_cert_policy_spec.rb +21 -0
  377. data/spec/ngrokapi/models/reserved_domain_cert_status_spec.rb +21 -0
  378. data/spec/ngrokapi/models/reserved_domain_spec.rb +28 -100
  379. data/spec/ngrokapi/models/ssh_certificate_authority_spec.rb +42 -0
  380. data/spec/ngrokapi/models/ssh_credential_spec.rb +45 -0
  381. data/spec/ngrokapi/models/ssh_host_certificate_spec.rb +42 -0
  382. data/spec/ngrokapi/models/ssh_user_certificate_spec.rb +42 -0
  383. data/spec/ngrokapi/models/tls_certificate_sa_ns_spec.rb +21 -0
  384. data/spec/ngrokapi/models/tls_certificate_spec.rb +42 -0
  385. data/spec/ngrokapi/models/tunnel_session_spec.rb +21 -0
  386. data/spec/ngrokapi/models/tunnel_spec.rb +21 -0
  387. data/spec/ngrokapi/paged_iterator_spec.rb +7 -7
  388. data/spec/ngrokapi/services/.gitkeep +0 -0
  389. data/spec/ngrokapi/services/abuse_reports_client_spec.rb +65 -0
  390. data/spec/ngrokapi/services/agent_ingresses_client_spec.rb +159 -0
  391. data/spec/ngrokapi/services/api_keys_client_spec.rb +157 -127
  392. data/spec/ngrokapi/services/certificate_authorities_client_spec.rb +159 -0
  393. data/spec/ngrokapi/services/credentials_client_spec.rb +163 -0
  394. data/spec/ngrokapi/services/endpoint_circuit_breaker_module_client_spec.rb +125 -0
  395. data/spec/ngrokapi/services/endpoint_compression_module_client_spec.rb +125 -0
  396. data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +237 -0
  397. data/spec/ngrokapi/services/endpoint_ip_policy_module_client_spec.rb +125 -0
  398. data/spec/ngrokapi/services/endpoint_logging_module_client_spec.rb +125 -0
  399. data/spec/ngrokapi/services/endpoint_mutual_tls_module_client_spec.rb +125 -0
  400. data/spec/ngrokapi/services/endpoint_o_auth_module_client_spec.rb +125 -0
  401. data/spec/ngrokapi/services/endpoint_oidc_module_client_spec.rb +125 -0
  402. data/spec/ngrokapi/services/endpoint_request_headers_module_client_spec.rb +125 -0
  403. data/spec/ngrokapi/services/endpoint_response_headers_module_client_spec.rb +125 -0
  404. data/spec/ngrokapi/services/endpoint_saml_module_client_spec.rb +125 -0
  405. data/spec/ngrokapi/services/endpoint_tls_termination_module_client_spec.rb +125 -0
  406. data/spec/ngrokapi/services/endpoint_webhook_validation_module_client_spec.rb +125 -0
  407. data/spec/ngrokapi/services/event_destinations_client_spec.rb +172 -0
  408. data/spec/ngrokapi/services/event_sources_client_spec.rb +192 -0
  409. data/spec/ngrokapi/services/event_streams_client_spec.rb +177 -0
  410. data/spec/ngrokapi/services/event_subscriptions_client_spec.rb +169 -0
  411. data/spec/ngrokapi/services/ip_policies_client_spec.rb +159 -0
  412. data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +165 -0
  413. data/spec/ngrokapi/services/ip_restrictions_client_spec.rb +171 -0
  414. data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +206 -0
  415. data/spec/ngrokapi/services/reserved_domains_client_spec.rb +349 -0
  416. data/spec/ngrokapi/services/ssh_certificate_authorities_client_spec.rb +163 -0
  417. data/spec/ngrokapi/services/ssh_credentials_client_spec.rb +165 -0
  418. data/spec/ngrokapi/services/ssh_host_certificates_client_spec.rb +167 -0
  419. data/spec/ngrokapi/services/ssh_user_certificates_client_spec.rb +171 -0
  420. data/spec/ngrokapi/services/tls_certificates_client_spec.rb +161 -0
  421. data/spec/ngrokapi/services/tunnel_sessions_client_spec.rb +183 -0
  422. data/spec/ngrokapi/services/tunnels_client_spec.rb +21 -0
  423. data/spec/spec_helper.rb +1096 -80
  424. metadata +360 -11
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class EventTarget
6
+ attr_reader :client,
7
+ :result,
8
+ :firehose,
9
+ :kinesis,
10
+ :cloudwatch_logs,
11
+ :debug
12
+
13
+ def initialize(client:, result:)
14
+ @client = client
15
+ @result = result
16
+ @firehose = @result['firehose']
17
+ @kinesis = @result['kinesis']
18
+ @cloudwatch_logs = @result['cloudwatch_logs']
19
+ @debug = @result['debug']
20
+ end
21
+
22
+ def ==(other)
23
+ @result == other.result
24
+ end
25
+
26
+ def to_s
27
+ @result.to_s
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class EventTargetCloudwatchLogs
6
+ attr_reader :client,
7
+ :result,
8
+ :auth,
9
+ :log_group_arn
10
+
11
+ def initialize(client:, result:)
12
+ @client = client
13
+ @result = result
14
+ @auth = @result['auth']
15
+ @log_group_arn = @result['log_group_arn']
16
+ end
17
+
18
+ def ==(other)
19
+ @result == other.result
20
+ end
21
+
22
+ def to_s
23
+ @result.to_s
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class EventTargetFirehose
6
+ attr_reader :client,
7
+ :result,
8
+ :auth,
9
+ :delivery_stream_arn
10
+
11
+ def initialize(client:, result:)
12
+ @client = client
13
+ @result = result
14
+ @auth = @result['auth']
15
+ @delivery_stream_arn = @result['delivery_stream_arn']
16
+ end
17
+
18
+ def ==(other)
19
+ @result == other.result
20
+ end
21
+
22
+ def to_s
23
+ @result.to_s
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class EventTargetKinesis
6
+ attr_reader :client,
7
+ :result,
8
+ :auth,
9
+ :stream_arn
10
+
11
+ def initialize(client:, result:)
12
+ @client = client
13
+ @result = result
14
+ @auth = @result['auth']
15
+ @stream_arn = @result['stream_arn']
16
+ end
17
+
18
+ def ==(other)
19
+ @result == other.result
20
+ end
21
+
22
+ def to_s
23
+ @result.to_s
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class IPPolicy
6
+ attr_reader :client,
7
+ :result,
8
+ :id,
9
+ :uri,
10
+ :created_at,
11
+ :description,
12
+ :metadata,
13
+ :action
14
+
15
+ def initialize(client:, result:)
16
+ @client = client
17
+ @result = result
18
+ @id = @result['id']
19
+ @uri = @result['uri']
20
+ @created_at = @result['created_at']
21
+ @description = @result['description']
22
+ @metadata = @result['metadata']
23
+ @action = @result['action']
24
+ end
25
+
26
+ def ==(other)
27
+ @result == other.result
28
+ end
29
+
30
+ def to_s
31
+ @result.to_s
32
+ end
33
+
34
+ ##
35
+ # Delete an IP policy. If the IP policy is referenced by another object for the
36
+ # purposes of traffic restriction it will be treated as if the IP policy remains
37
+ # but has zero rules.
38
+ #
39
+ # https://ngrok.com/docs/api#api-ip-policies-delete
40
+ def delete
41
+ @client.delete(
42
+ id: @id
43
+ )
44
+ end
45
+
46
+ ##
47
+ # Update attributes of an IP policy by ID
48
+ #
49
+ # https://ngrok.com/docs/api#api-ip-policies-update
50
+ def update(
51
+ description: nil,
52
+ metadata: nil
53
+ )
54
+ @description = description if description
55
+ @metadata = metadata if metadata
56
+ @client.update(
57
+ id: @id,
58
+ description: description,
59
+ metadata: metadata
60
+ )
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class IPPolicyRule
6
+ attr_reader :client,
7
+ :result,
8
+ :id,
9
+ :uri,
10
+ :created_at,
11
+ :description,
12
+ :metadata,
13
+ :cidr,
14
+ :ip_policy
15
+
16
+ def initialize(client:, result:)
17
+ @client = client
18
+ @result = result
19
+ @id = @result['id']
20
+ @uri = @result['uri']
21
+ @created_at = @result['created_at']
22
+ @description = @result['description']
23
+ @metadata = @result['metadata']
24
+ @cidr = @result['cidr']
25
+ @ip_policy = @result['ip_policy']
26
+ end
27
+
28
+ def ==(other)
29
+ @result == other.result
30
+ end
31
+
32
+ def to_s
33
+ @result.to_s
34
+ end
35
+
36
+ ##
37
+ # Delete an IP policy rule.
38
+ #
39
+ # https://ngrok.com/docs/api#api-ip-policy-rules-delete
40
+ def delete
41
+ @client.delete(
42
+ id: @id
43
+ )
44
+ end
45
+
46
+ ##
47
+ # Update attributes of an IP policy rule by ID
48
+ #
49
+ # https://ngrok.com/docs/api#api-ip-policy-rules-update
50
+ def update(
51
+ description: nil,
52
+ metadata: nil,
53
+ cidr: nil
54
+ )
55
+ @description = description if description
56
+ @metadata = metadata if metadata
57
+ @cidr = cidr if cidr
58
+ @client.update(
59
+ id: @id,
60
+ description: description,
61
+ metadata: metadata,
62
+ cidr: cidr
63
+ )
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class IPRestriction
6
+ attr_reader :client,
7
+ :result,
8
+ :id,
9
+ :uri,
10
+ :created_at,
11
+ :description,
12
+ :metadata,
13
+ :enforced,
14
+ :type,
15
+ :ip_policies
16
+
17
+ def initialize(client:, result:)
18
+ @client = client
19
+ @result = result
20
+ @id = @result['id']
21
+ @uri = @result['uri']
22
+ @created_at = @result['created_at']
23
+ @description = @result['description']
24
+ @metadata = @result['metadata']
25
+ @enforced = @result['enforced']
26
+ @type = @result['type']
27
+ @ip_policies = @result['ip_policies']
28
+ end
29
+
30
+ def ==(other)
31
+ @result == other.result
32
+ end
33
+
34
+ def to_s
35
+ @result.to_s
36
+ end
37
+
38
+ ##
39
+ # Delete an IP restriction
40
+ #
41
+ # https://ngrok.com/docs/api#api-ip-restrictions-delete
42
+ def delete
43
+ @client.delete(
44
+ id: @id
45
+ )
46
+ end
47
+ end
48
+ end
49
+ end
@@ -5,6 +5,8 @@ module NgrokAPI
5
5
  ##
6
6
  # A resource representing multiple instances from a given "list" API call
7
7
  class Listable
8
+ include Enumerable
9
+
8
10
  attr_reader :client,
9
11
  :klass,
10
12
  :iter,
@@ -14,7 +16,7 @@ module NgrokAPI
14
16
  :result,
15
17
  :uri
16
18
 
17
- def initialize(client:, result:, list_property:, klass:)
19
+ def initialize(danger: false, client:, result:, list_property:, klass:)
18
20
  @client = client
19
21
  @result = result
20
22
  @list_property = list_property
@@ -26,10 +28,19 @@ module NgrokAPI
26
28
  @iter = NgrokAPI::PagedIterator.new(
27
29
  client: client,
28
30
  page: self,
29
- list_property: list_property
31
+ list_property: list_property,
32
+ danger: danger
30
33
  )
31
34
  end
32
35
 
36
+ def each
37
+ item = @iter.get_next
38
+ while item
39
+ yield item
40
+ item = @iter.get_next
41
+ end
42
+ end
43
+
33
44
  def ==(other)
34
45
  @result == other.result
35
46
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class Ref
6
+ attr_reader :client,
7
+ :result,
8
+ :id,
9
+ :uri
10
+
11
+ def initialize(client:, result:)
12
+ @client = client
13
+ @result = result
14
+ @id = @result['id']
15
+ @uri = @result['uri']
16
+ end
17
+
18
+ def ==(other)
19
+ @result == other.result
20
+ end
21
+
22
+ def to_s
23
+ @result.to_s
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class ReservedAddr
6
+ attr_reader :client,
7
+ :result,
8
+ :id,
9
+ :uri,
10
+ :created_at,
11
+ :description,
12
+ :metadata,
13
+ :addr,
14
+ :region,
15
+ :endpoint_configuration
16
+
17
+ def initialize(client:, result:)
18
+ @client = client
19
+ @result = result
20
+ @id = @result['id']
21
+ @uri = @result['uri']
22
+ @created_at = @result['created_at']
23
+ @description = @result['description']
24
+ @metadata = @result['metadata']
25
+ @addr = @result['addr']
26
+ @region = @result['region']
27
+ @endpoint_configuration = @result['endpoint_configuration']
28
+ end
29
+
30
+ def ==(other)
31
+ @result == other.result
32
+ end
33
+
34
+ def to_s
35
+ @result.to_s
36
+ end
37
+
38
+ ##
39
+ # Delete a reserved address.
40
+ #
41
+ # https://ngrok.com/docs/api#api-reserved-addrs-delete
42
+ def delete
43
+ @client.delete(
44
+ id: @id
45
+ )
46
+ end
47
+ end
48
+ end
49
+ end
@@ -1,211 +1,61 @@
1
- # frozen_string_literal: true
2
-
3
- module NgrokAPI
4
- module Models
5
- ##
6
- # A resource representing data from the reserved_domains API
7
- class ReservedDomain
8
- attr_reader :id,
9
- :certificate,
10
- :certificate_management_policy,
11
- :certificate_management_status,
12
- :client,
13
- :cname_target,
14
- :created_at,
15
- :description,
16
- :domain,
17
- :http_endpoint_configuration,
18
- :https_endpoint_configuration,
19
- :metadata,
20
- :region,
21
- :result,
22
- :uri
23
-
24
- def initialize(client:, result:)
25
- @client = client
26
- @result = result
27
- @created_at = @result['created_at']
28
- @certificate = @result['certificate']
29
- @certificate_management_policy = @result['certificate_management_policy']
30
- @certificate_management_status = @result['certificate_management_status']
31
- @cname_target = @result['cname_target']
32
- @description = @result['description']
33
- @domain = @result['domain']
34
- @http_endpoint_configuration = @result['http_endpoint_configuration']
35
- @https_endpoint_configuration = @result['https_endpoint_configuration']
36
- @id = @result['id']
37
- @metadata = @result['metadata']
38
- @region = @result['region']
39
- @uri = @result['uri']
40
- end
41
-
42
- def ==(other)
43
- @result == other.result
44
- end
45
-
46
- def to_s
47
- @result.to_s
48
- end
49
-
50
- ##
51
- # Delete this reserved domain.
52
- #
53
- # @return [nil] result from delete request
54
- #
55
- # https://ngrok.com/docs/api#api-reserved-domains-delete
56
- def delete
57
- @client.delete(id: @id)
58
- end
59
-
60
- # rubocop:disable LineLength
61
-
62
- ##
63
- # Update the attributes of this reserved domain.
64
- #
65
- # @param [string] description human-readable description of what this reserved domain will be used for
66
- # @param [string] metadata arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes.
67
- # @param [string] http_endpoint_configuration_id ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain
68
- # @param [string] https_endpoint_configuration_id ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain
69
- # @param [string] certificate_id ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with ``certificate_management_policy``.
70
- # @param [string] certificate_management_policy configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with ``certificate_id``.
71
- # @return [NgrokAPI::Models::ReservedDomain] result from update request
72
- #
73
- # https://ngrok.com/docs/api#api-reserved-domains-update
74
- def update(
75
- certificate_id: nil,
76
- certificate_management_policy: nil,
77
- description: '',
78
- http_endpoint_configuration_id: nil,
79
- https_endpoint_configuration_id: nil,
80
- metadata: ''
81
- )
82
- if certificate_management_policy
83
- @certificate_management_policy = certificate_management_policy
84
- end
85
- @description = description if description
86
- @metadata = metadata if metadata
87
- @client.update(
88
- id: @id,
89
- description: description,
90
- metadata: metadata,
91
- http_endpoint_configuration_id: http_endpoint_configuration_id,
92
- https_endpoint_configuration_id: https_endpoint_configuration_id,
93
- certificate_id: certificate_id,
94
- certificate_management_policy: certificate_management_policy
95
- )
96
- # TODO: update @certificate, etc?
97
- # @certificate = new_result['certificate'] if certificate_id && new_result['certificate']
98
- # if http_endpoint_configuration_id
99
- # @http_endpoint_configuration_id = http_endpoint_configuration_id
100
- # end
101
- # if https_endpoint_configuration_id
102
- # @https_endpoint_configuration_id = https_endpoint_configuration_id
103
- # end
104
- end
105
- # rubocop:enable LineLength
106
-
107
- ##
108
- # Detach the certificate attached from this reserved domain.
109
- #
110
- # @return [nil] result from delete request
111
- #
112
- # https://ngrok.com/docs/api#api-reserved-domains-delete-certificate
113
- def delete_certificate
114
- @certificate = nil
115
- @client.delete_certificate(id: @id)
116
- end
117
-
118
- ##
119
- # Detach the certificate management policy attached from this reserved domain.
120
- #
121
- # @return [nil] result from delete request
122
- #
123
- # https://ngrok.com/docs/api#api-reserved-domains-delete-certificate-management-policy
124
- def delete_certificate_management_policy
125
- @certificate_management_policy = nil
126
- @certificate_management_status = nil
127
- @client.delete_certificate_management_policy(id: @id)
128
- end
129
-
130
- ##
131
- # Detach the http endpoint configuration attached from this reserved domain.
132
- #
133
- # @return [nil] result from delete request
134
- #
135
- # https://ngrok.com/docs/api#api-reserved-domains-delete-http-endpoint-config
136
- def delete_http_endpoint_config
137
- @http_endpoint_configuration = nil
138
- @client.delete_http_endpoint_config(id: @id)
139
- end
140
-
141
- ##
142
- # Detach the https endpoint configuration attached from this reserved domain.
143
- #
144
- # @return [nil] result from delete request
145
- #
146
- # https://ngrok.com/docs/api#api-reserved-domains-delete-https-endpoint-config
147
- def delete_https_endpoint_config
148
- @https_endpoint_configuration = nil
149
- @client.delete_https_endpoint_config(id: @id)
150
- end
151
-
152
- ##
153
- # Restore the certificate attached to this reserved domain.
154
- # Only works if the @result is still present from a previous action
155
- #
156
- # @return [NgrokAPI::Models::ReservedDomain] result from update request
157
- #
158
- # https://ngrok.com/docs/api#api-reserved-domains-update
159
- def restore_certificate
160
- @certificate = @result['certificate']
161
- @client.update(id: @id, certificate_id: @result['certificate']['id'])
162
- end
163
-
164
- ##
165
- # Restore the certificate management policy attached to this reserved domain.
166
- # Only works if the @result is still present from a previous action
167
- #
168
- # @return [NgrokAPI::Models::ReservedDomain] result from update request
169
- #
170
- # https://ngrok.com/docs/api#api-reserved-domains-update
171
- def restore_certificate_management_policy
172
- @certificate_management_policy = @result['certificate_management_policy']
173
- @certificate_management_status = @result['certificate_management_status']
174
- @client.update(
175
- id: @id,
176
- certificate_management_policy: @result['certificate_management_policy']
177
- )
178
- end
179
-
180
- ##
181
- # Restore the http endpoint configuration attached to this reserved domain.
182
- # Only works if the @result is still present from a previous action
183
- #
184
- # @return [NgrokAPI::Models::ReservedDomain] result from update request
185
- #
186
- # https://ngrok.com/docs/api#api-reserved-domains-update
187
- def restore_http_endpoint_config
188
- @http_endpoint_configuration = @result['http_endpoint_configuration']
189
- @client.update(
190
- id: @id,
191
- http_endpoint_configuration_id: @result['http_endpoint_configuration']['id']
192
- )
193
- end
194
-
195
- ##
196
- # Restore the https endpoint configuration attached to this reserved domain.
197
- # Only works if the @result is still present from a previous action
198
- #
199
- # @return [NgrokAPI::Models::ReservedDomain] result from update request
200
- #
201
- # https://ngrok.com/docs/api#api-reserved-domains-update
202
- def restore_https_endpoint_config
203
- @https_endpoint_configuration = @result['https_endpoint_configuration']
204
- @client.update(
205
- id: @id,
206
- https_endpoint_configuration_id: @result['https_endpoint_configuration']['id']
207
- )
208
- end
209
- end
210
- end
211
- end
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Models
5
+ class ReservedDomain
6
+ attr_reader :client,
7
+ :result,
8
+ :id,
9
+ :uri,
10
+ :created_at,
11
+ :description,
12
+ :metadata,
13
+ :domain,
14
+ :region,
15
+ :cname_target,
16
+ :http_endpoint_configuration,
17
+ :https_endpoint_configuration,
18
+ :certificate,
19
+ :certificate_management_policy,
20
+ :certificate_management_status,
21
+ :acme_challenge_cname_target
22
+
23
+ def initialize(client:, result:)
24
+ @client = client
25
+ @result = result
26
+ @id = @result['id']
27
+ @uri = @result['uri']
28
+ @created_at = @result['created_at']
29
+ @description = @result['description']
30
+ @metadata = @result['metadata']
31
+ @domain = @result['domain']
32
+ @region = @result['region']
33
+ @cname_target = @result['cname_target']
34
+ @http_endpoint_configuration = @result['http_endpoint_configuration']
35
+ @https_endpoint_configuration = @result['https_endpoint_configuration']
36
+ @certificate = @result['certificate']
37
+ @certificate_management_policy = @result['certificate_management_policy']
38
+ @certificate_management_status = @result['certificate_management_status']
39
+ @acme_challenge_cname_target = @result['acme_challenge_cname_target']
40
+ end
41
+
42
+ def ==(other)
43
+ @result == other.result
44
+ end
45
+
46
+ def to_s
47
+ @result.to_s
48
+ end
49
+
50
+ ##
51
+ # Delete a reserved domain.
52
+ #
53
+ # https://ngrok.com/docs/api#api-reserved-domains-delete
54
+ def delete
55
+ @client.delete(
56
+ id: @id
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end