ngrok-api 0.9.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,220 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # SSH User Certificates are presented by SSH clients when connecting to an SSH
7
+ # server to authenticate their connection. The SSH server must trust the SSH
8
+ # Certificate Authority used to sign the certificate.
9
+ #
10
+ # https://ngrok.com/docs/api#api-ssh-user-certificates
11
+ class SSHUserCertificatesClient
12
+ # The API path for the requests
13
+ PATH = '/ssh_user_certificates'
14
+ # The List Property from the resulting API for list calls
15
+ LIST_PROPERTY = 'ssh_user_certificates'
16
+
17
+ attr_reader :client
18
+
19
+ def initialize(client:)
20
+ @client = client
21
+ end
22
+
23
+ ##
24
+ # Create a new SSH User Certificate
25
+ #
26
+ # @param [string] ssh_certificate_authority_id the ssh certificate authority that is used to sign this ssh user certificate
27
+ # @param [string] public_key a public key in OpenSSH Authorized Keys format that this certificate signs
28
+ # @param [List<string>] principals the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizinig the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user.
29
+ # @param [Map<string, string>] critical_options A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: ``force-command`` and ``source-address``. See `the OpenSSH certificate protocol spec` <https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys>`_ for additional details.
30
+ # @param [Map<string, string>] extensions A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: ``{"permit-pty": "", "permit-user-rc": ""}`` OpenSSH understands a number of predefined extensions. See `the OpenSSH certificate protocol spec` <https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys>`_ for additional details.
31
+ # @param [datetime (RFC3339 string)] valid_after The time when the user certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified.
32
+ # @param [datetime (RFC3339 string)] valid_until The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this ``valid_before``.
33
+ # @param [string] description human-readable description of this SSH User Certificate. optional, max 255 bytes.
34
+ # @param [string] metadata arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes.
35
+ # @return [NgrokAPI::Models::SSHUserCertificate] result from the API request
36
+ #
37
+ # https://ngrok.com/docs/api#api-ssh-user-certificates-create
38
+ def create(
39
+ ssh_certificate_authority_id:,
40
+ public_key:,
41
+ principals: [],
42
+ critical_options: {},
43
+ extensions: {},
44
+ valid_after: "",
45
+ valid_until: "",
46
+ description: "",
47
+ metadata: ""
48
+ )
49
+ path = '/ssh_user_certificates'
50
+ replacements = {
51
+ }
52
+ data = {}
53
+ data[:ssh_certificate_authority_id] = ssh_certificate_authority_id if ssh_certificate_authority_id
54
+ data[:public_key] = public_key if public_key
55
+ data[:principals] = principals if principals
56
+ data[:critical_options] = critical_options if critical_options
57
+ data[:extensions] = extensions if extensions
58
+ data[:valid_after] = valid_after if valid_after
59
+ data[:valid_until] = valid_until if valid_until
60
+ data[:description] = description if description
61
+ data[:metadata] = metadata if metadata
62
+ result = @client.post(path % replacements, data: data)
63
+ NgrokAPI::Models::SSHUserCertificate.new(client: self, result: result)
64
+ end
65
+
66
+ ##
67
+ # Delete an SSH User Certificate
68
+ #
69
+ # @param [string] id a resource identifier
70
+ # @return [NgrokAPI::Models::Empty] result from the API request
71
+ #
72
+ # https://ngrok.com/docs/api#api-ssh-user-certificates-delete
73
+ def delete(
74
+ id: ""
75
+ )
76
+ path = '/ssh_user_certificates/%{id}'
77
+ replacements = {
78
+ id: id,
79
+ }
80
+ @client.delete(path % replacements)
81
+ end
82
+
83
+ ##
84
+ # Delete an SSH User Certificate
85
+ # Throws an exception if API error.
86
+ #
87
+ # @param [string] id a resource identifier
88
+ # @return [NgrokAPI::Models::Empty] result from the API request
89
+ #
90
+ # https://ngrok.com/docs/api#api-ssh-user-certificates-delete
91
+ def delete!(
92
+ id: ""
93
+ )
94
+ path = '/ssh_user_certificates/%{id}'
95
+ replacements = {
96
+ id: id,
97
+ }
98
+ @client.delete(path % replacements, danger: true)
99
+ end
100
+
101
+ ##
102
+ # Get detailed information about an SSH User Certficate
103
+ #
104
+ # @param [string] id a resource identifier
105
+ # @return [NgrokAPI::Models::SSHUserCertificate] result from the API request
106
+ #
107
+ # https://ngrok.com/docs/api#api-ssh-user-certificates-get
108
+ def get(
109
+ id: ""
110
+ )
111
+ path = '/ssh_user_certificates/%{id}'
112
+ replacements = {
113
+ id: id,
114
+ }
115
+ data = {}
116
+ result = @client.get(path % replacements, data: data)
117
+ NgrokAPI::Models::SSHUserCertificate.new(client: self, result: result)
118
+ end
119
+
120
+ ##
121
+ # Get detailed information about an SSH User Certficate
122
+ # Throws an exception if API error.
123
+ #
124
+ # @param [string] id a resource identifier
125
+ # @return [NgrokAPI::Models::SSHUserCertificate] result from the API request
126
+ #
127
+ # https://ngrok.com/docs/api#api-ssh-user-certificates-get
128
+ def get!(
129
+ id: ""
130
+ )
131
+ path = '/ssh_user_certificates/%{id}'
132
+ replacements = {
133
+ id: id,
134
+ }
135
+ data = {}
136
+ result = @client.get(path % replacements, data: data, danger: true)
137
+ NgrokAPI::Models::SSHUserCertificate.new(client: self, result: result)
138
+ end
139
+
140
+ ##
141
+ # List all SSH User Certificates issued on this account
142
+ #
143
+ # @param [string] before_id
144
+ # @param [string] limit
145
+ # @param [string] url optional and mutually exclusive from before_id and limit
146
+ # @return [NgrokAPI::Models::Listable] result from the API request
147
+ #
148
+ # https://ngrok.com/docs/api#api-ssh-user-certificates-list
149
+ def list(
150
+ before_id: nil,
151
+ limit: nil,
152
+ url: nil
153
+ )
154
+ result = @client.list(
155
+ before_id: before_id,
156
+ limit: limit,
157
+ url: url,
158
+ path: PATH
159
+ )
160
+ NgrokAPI::Models::Listable.new(
161
+ client: self,
162
+ result: result,
163
+ list_property: LIST_PROPERTY,
164
+ klass: NgrokAPI::Models::SSHUserCertificate
165
+ )
166
+ end
167
+
168
+ ##
169
+ # Update an SSH User Certificate
170
+ #
171
+ # @param [string] id
172
+ # @param [string] description human-readable description of this SSH User Certificate. optional, max 255 bytes.
173
+ # @param [string] metadata arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes.
174
+ # @return [NgrokAPI::Models::SSHUserCertificate] result from the API request
175
+ #
176
+ # https://ngrok.com/docs/api#api-ssh-user-certificates-update
177
+ def update(
178
+ id: "",
179
+ description: nil,
180
+ metadata: nil
181
+ )
182
+ path = '/ssh_user_certificates/%{id}'
183
+ replacements = {
184
+ id: id,
185
+ }
186
+ data = {}
187
+ data[:description] = description if description
188
+ data[:metadata] = metadata if metadata
189
+ result = @client.patch(path % replacements, data: data)
190
+ NgrokAPI::Models::SSHUserCertificate.new(client: self, result: result)
191
+ end
192
+
193
+ ##
194
+ # Update an SSH User Certificate
195
+ # Throws an exception if API error.
196
+ #
197
+ # @param [string] id
198
+ # @param [string] description human-readable description of this SSH User Certificate. optional, max 255 bytes.
199
+ # @param [string] metadata arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes.
200
+ # @return [NgrokAPI::Models::SSHUserCertificate] result from the API request
201
+ #
202
+ # https://ngrok.com/docs/api#api-ssh-user-certificates-update
203
+ def update!(
204
+ id: "",
205
+ description: nil,
206
+ metadata: nil
207
+ )
208
+ path = '/ssh_user_certificates/%{id}'
209
+ replacements = {
210
+ id: id,
211
+ }
212
+ data = {}
213
+ data[:description] = description if description
214
+ data[:metadata] = metadata if metadata
215
+ result = @client.patch(path % replacements, data: data, danger: true)
216
+ NgrokAPI::Models::SSHUserCertificate.new(client: self, result: result)
217
+ end
218
+ end
219
+ end
220
+ end
@@ -1,161 +1,207 @@
1
- # frozen_string_literal: true
2
-
3
- module NgrokAPI
4
- module Services
5
- ##
6
- # A client for interacting with the tls_certificates API
7
- #
8
- # https://ngrok.com/docs/api#api-tls-certificates
9
- class TlsCertificatesClient
10
- # The List Property from the resulting API for list calls
11
- LIST_PROPERTY = 'tls_certificates'
12
- # The API path for tls certificates
13
- PATH = '/tls_certificates'
14
-
15
- attr_reader :client
16
-
17
- def initialize(client:)
18
- @client = client
19
- end
20
-
21
- # rubocop:disable LineLength
22
-
23
- ##
24
- # Upload a new TLS certificate.
25
- #
26
- # @param [string] description human-readable description of this TLS certificate. optional, max 255 bytes.
27
- # @param [string] metadata arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.
28
- # @param [string] certificate_pem chain of PEM-encoded certificates, leaf first. See `Certificate Bundles` <https://ngrok.com/docs/api#tls-certificates-pem>`_.
29
- # @param [string] private_key_pem private key for the TLS certificate, PEM-encoded. See `Private Keys` <https://ngrok.com/docs/ngrok-link#tls-certificates-key>`_.
30
- # @return [NgrokAPI::Models::TlsCertificate] result from create request
31
- #
32
- # https://ngrok.com/docs/api#api-tls-certificates-create
33
- def create(
34
- certificate_pem: '',
35
- description: '',
36
- metadata: '',
37
- private_key_pem: ''
38
- )
39
- data = {
40
- certificate_pem: certificate_pem,
41
- description: description,
42
- metadata: metadata,
43
- private_key_pem: private_key_pem,
44
- }
45
- result = @client.post(PATH, data: data)
46
- NgrokAPI::Models::TlsCertificate.new(client: self, result: result)
47
- end
48
- # rubocop:enable LineLength
49
-
50
- ##
51
- # Delete a TLS certificate by ID.
52
- #
53
- # @param [string] id a resource identifier
54
- # @return [nil] result from delete request
55
- #
56
- # https://ngrok.com/docs/api#api-tls-certificates-delete
57
- def delete(id: nil)
58
- @client.delete("#{PATH}/#{id}")
59
- end
60
-
61
- ##
62
- # Delete a TLS certificate by ID. Throw an exception if 404.
63
- #
64
- # @param [string] id a resource identifier
65
- # @return [nil] result from delete request
66
- #
67
- # https://ngrok.com/docs/api#api-tls-certificates-delete
68
- def delete!(id: nil)
69
- @client.delete("#{PATH}/#{id}", danger: true)
70
- end
71
-
72
- ##
73
- # Get detailed information about a TLS certificate by ID.
74
- #
75
- # @param [string] id a resource identifier
76
- # @return [NgrokAPI::Models::TlsCertificate] result from get request
77
- #
78
- # https://ngrok.com/docs/api#api-tls-certificates-get
79
- def get(id: nil)
80
- result = @client.get("#{PATH}/#{id}")
81
- NgrokAPI::Models::TlsCertificate.new(client: self, result: result)
82
- end
83
-
84
- ##
85
- # Get detailed information about a TLS certificate by ID. Throw an exception if 404.
86
- #
87
- # @param [string] id a resource identifier
88
- # @return [NgrokAPI::Models::TlsCertificate] result from get request
89
- #
90
- # https://ngrok.com/docs/api#api-tls-certificates-get
91
- def get!(id: nil)
92
- result = @client.get("#{PATH}/#{id}", danger: true)
93
- NgrokAPI::Models::TlsCertificate.new(client: self, result: result)
94
- end
95
-
96
- ##
97
- # List all TLS certificates on this account.
98
- #
99
- # @param [string] before_id
100
- # @param [integer] limit
101
- # @param [string] url optional and mutually exclusive from before_id and limit
102
- # @return [NgrokAPI::Models::Listable] the result listable
103
- #
104
- # https://ngrok.com/docs/api#api-tls-certificates-list
105
- def list(before_id: nil, limit: nil, url: nil)
106
- result = @client.list(before_id: before_id, limit: limit, url: url, path: PATH)
107
- NgrokAPI::Models::Listable.new(
108
- client: self,
109
- result: result,
110
- list_property: LIST_PROPERTY,
111
- klass: NgrokAPI::Models::TlsCertificate
112
- )
113
- end
114
-
115
- # rubocop:disable LineLength
116
-
117
- ##
118
- # Update attributes of a TLS Certificate by ID.
119
- #
120
- # @param [string] id
121
- # @param [string] description human-readable description of this TLS certificate. optional, max 255 bytes.
122
- # @param [string] metadata arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.
123
- # @return [NgrokAPI::Models::TlsCertificate] result from update request
124
- #
125
- # https://ngrok.com/docs/api#api-tls-certificates-update
126
- def update(
127
- id: nil,
128
- description: nil,
129
- metadata: nil
130
- )
131
- data = {}
132
- data[:description] = description if description
133
- data[:metadata] = metadata if metadata
134
- result = @client.patch("#{PATH}/#{id}", data: data)
135
- NgrokAPI::Models::TlsCertificate.new(client: self, result: result)
136
- end
137
-
138
- ##
139
- # Update attributes of a TLS Certificate by ID. Throw an exception if 404.
140
- #
141
- # @param [string] id
142
- # @param [string] description human-readable description of this TLS certificate. optional, max 255 bytes.
143
- # @param [string] metadata arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.
144
- # @return [NgrokAPI::Models::TlsCertificate] result from update request
145
- #
146
- # https://ngrok.com/docs/api#api-tls-certificates-update
147
- def update!(
148
- id: nil,
149
- description: nil,
150
- metadata: nil
151
- )
152
- data = {}
153
- data[:description] = description if description
154
- data[:metadata] = metadata if metadata
155
- result = @client.patch("#{PATH}/#{id}", danger: true, data: data)
156
- NgrokAPI::Models::TlsCertificate.new(client: self, result: result)
157
- end
158
- # rubocop:enable LineLength
159
- end
160
- end
161
- end
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # TLS Certificates are pairs of x509 certificates and their matching private
7
+ # key that can be used to terminate TLS traffic. TLS certificates are unused
8
+ # until they are attached to a Domain. TLS Certificates may also be
9
+ # provisioned by ngrok automatically for domains on which you have enabled
10
+ # automated certificate provisioning.
11
+ #
12
+ # https://ngrok.com/docs/api#api-tls-certificates
13
+ class TLSCertificatesClient
14
+ # The API path for the requests
15
+ PATH = '/tls_certificates'
16
+ # The List Property from the resulting API for list calls
17
+ LIST_PROPERTY = 'tls_certificates'
18
+
19
+ attr_reader :client
20
+
21
+ def initialize(client:)
22
+ @client = client
23
+ end
24
+
25
+ ##
26
+ # Upload a new TLS certificate
27
+ #
28
+ # @param [string] description human-readable description of this TLS certificate. optional, max 255 bytes.
29
+ # @param [string] metadata arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.
30
+ # @param [string] certificate_pem chain of PEM-encoded certificates, leaf first. See `Certificate Bundles` <https://ngrok.com/docs/api#tls-certificates-pem>`_.
31
+ # @param [string] private_key_pem private key for the TLS certificate, PEM-encoded. See `Private Keys` <https://ngrok.com/docs/ngrok-link#tls-certificates-key>`_.
32
+ # @return [NgrokAPI::Models::TLSCertificate] result from the API request
33
+ #
34
+ # https://ngrok.com/docs/api#api-tls-certificates-create
35
+ def create(
36
+ description: "",
37
+ metadata: "",
38
+ certificate_pem:,
39
+ private_key_pem:
40
+ )
41
+ path = '/tls_certificates'
42
+ replacements = {
43
+ }
44
+ data = {}
45
+ data[:description] = description if description
46
+ data[:metadata] = metadata if metadata
47
+ data[:certificate_pem] = certificate_pem if certificate_pem
48
+ data[:private_key_pem] = private_key_pem if private_key_pem
49
+ result = @client.post(path % replacements, data: data)
50
+ NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
51
+ end
52
+
53
+ ##
54
+ # Delete a TLS certificate
55
+ #
56
+ # @param [string] id a resource identifier
57
+ # @return [NgrokAPI::Models::Empty] result from the API request
58
+ #
59
+ # https://ngrok.com/docs/api#api-tls-certificates-delete
60
+ def delete(
61
+ id: ""
62
+ )
63
+ path = '/tls_certificates/%{id}'
64
+ replacements = {
65
+ id: id,
66
+ }
67
+ @client.delete(path % replacements)
68
+ end
69
+
70
+ ##
71
+ # Delete a TLS certificate
72
+ # Throws an exception if API error.
73
+ #
74
+ # @param [string] id a resource identifier
75
+ # @return [NgrokAPI::Models::Empty] result from the API request
76
+ #
77
+ # https://ngrok.com/docs/api#api-tls-certificates-delete
78
+ def delete!(
79
+ id: ""
80
+ )
81
+ path = '/tls_certificates/%{id}'
82
+ replacements = {
83
+ id: id,
84
+ }
85
+ @client.delete(path % replacements, danger: true)
86
+ end
87
+
88
+ ##
89
+ # Get detailed information about a TLS certificate
90
+ #
91
+ # @param [string] id a resource identifier
92
+ # @return [NgrokAPI::Models::TLSCertificate] result from the API request
93
+ #
94
+ # https://ngrok.com/docs/api#api-tls-certificates-get
95
+ def get(
96
+ id: ""
97
+ )
98
+ path = '/tls_certificates/%{id}'
99
+ replacements = {
100
+ id: id,
101
+ }
102
+ data = {}
103
+ result = @client.get(path % replacements, data: data)
104
+ NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
105
+ end
106
+
107
+ ##
108
+ # Get detailed information about a TLS certificate
109
+ # Throws an exception if API error.
110
+ #
111
+ # @param [string] id a resource identifier
112
+ # @return [NgrokAPI::Models::TLSCertificate] result from the API request
113
+ #
114
+ # https://ngrok.com/docs/api#api-tls-certificates-get
115
+ def get!(
116
+ id: ""
117
+ )
118
+ path = '/tls_certificates/%{id}'
119
+ replacements = {
120
+ id: id,
121
+ }
122
+ data = {}
123
+ result = @client.get(path % replacements, data: data, danger: true)
124
+ NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
125
+ end
126
+
127
+ ##
128
+ # List all TLS certificates on this account
129
+ #
130
+ # @param [string] before_id
131
+ # @param [string] limit
132
+ # @param [string] url optional and mutually exclusive from before_id and limit
133
+ # @return [NgrokAPI::Models::Listable] result from the API request
134
+ #
135
+ # https://ngrok.com/docs/api#api-tls-certificates-list
136
+ def list(
137
+ before_id: nil,
138
+ limit: nil,
139
+ url: nil
140
+ )
141
+ result = @client.list(
142
+ before_id: before_id,
143
+ limit: limit,
144
+ url: url,
145
+ path: PATH
146
+ )
147
+ NgrokAPI::Models::Listable.new(
148
+ client: self,
149
+ result: result,
150
+ list_property: LIST_PROPERTY,
151
+ klass: NgrokAPI::Models::TLSCertificate
152
+ )
153
+ end
154
+
155
+ ##
156
+ # Update attributes of a TLS Certificate by ID
157
+ #
158
+ # @param [string] id
159
+ # @param [string] description human-readable description of this TLS certificate. optional, max 255 bytes.
160
+ # @param [string] metadata arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.
161
+ # @return [NgrokAPI::Models::TLSCertificate] result from the API request
162
+ #
163
+ # https://ngrok.com/docs/api#api-tls-certificates-update
164
+ def update(
165
+ id: "",
166
+ description: nil,
167
+ metadata: nil
168
+ )
169
+ path = '/tls_certificates/%{id}'
170
+ replacements = {
171
+ id: id,
172
+ }
173
+ data = {}
174
+ data[:description] = description if description
175
+ data[:metadata] = metadata if metadata
176
+ result = @client.patch(path % replacements, data: data)
177
+ NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
178
+ end
179
+
180
+ ##
181
+ # Update attributes of a TLS Certificate by ID
182
+ # Throws an exception if API error.
183
+ #
184
+ # @param [string] id
185
+ # @param [string] description human-readable description of this TLS certificate. optional, max 255 bytes.
186
+ # @param [string] metadata arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.
187
+ # @return [NgrokAPI::Models::TLSCertificate] result from the API request
188
+ #
189
+ # https://ngrok.com/docs/api#api-tls-certificates-update
190
+ def update!(
191
+ id: "",
192
+ description: nil,
193
+ metadata: nil
194
+ )
195
+ path = '/tls_certificates/%{id}'
196
+ replacements = {
197
+ id: id,
198
+ }
199
+ data = {}
200
+ data[:description] = description if description
201
+ data[:metadata] = metadata if metadata
202
+ result = @client.patch(path % replacements, data: data, danger: true)
203
+ NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
204
+ end
205
+ end
206
+ end
207
+ end