ngrok-api 0.9.0 → 0.12.0

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