ngrok-api 0.15.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (395) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/doc/NgrokAPI/Client.html +325 -267
  4. data/doc/NgrokAPI/Error.html +3 -3
  5. data/doc/NgrokAPI/Errors/NotFoundError.html +3 -3
  6. data/doc/NgrokAPI/Errors.html +3 -3
  7. data/doc/NgrokAPI/HttpClient.html +30 -36
  8. data/doc/NgrokAPI/Models/APIKey.html +3 -3
  9. data/doc/NgrokAPI/Models/AWSAuth.html +3 -3
  10. data/doc/NgrokAPI/Models/AWSCredentials.html +3 -3
  11. data/doc/NgrokAPI/Models/AWSRole.html +3 -3
  12. data/doc/NgrokAPI/Models/AbuseReport.html +3 -3
  13. data/doc/NgrokAPI/Models/AbuseReportHostname.html +3 -3
  14. data/doc/NgrokAPI/Models/AgentIngress.html +1217 -0
  15. data/doc/NgrokAPI/Models/CertificateAuthority.html +3 -3
  16. data/doc/NgrokAPI/Models/Credential.html +3 -3
  17. data/doc/NgrokAPI/Models/Endpoint.html +1431 -0
  18. data/doc/NgrokAPI/Models/{EndpointLogging.html → EndpointBackend.html} +42 -42
  19. data/{docs/NgrokAPI/Models/EndpointLoggingMutate.html → doc/NgrokAPI/Models/EndpointBackendMutate.html} +42 -42
  20. data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +3 -3
  21. data/doc/NgrokAPI/Models/EndpointCompression.html +3 -3
  22. data/doc/NgrokAPI/Models/EndpointIPPolicy.html +3 -3
  23. data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +3 -3
  24. data/doc/NgrokAPI/Models/EndpointMutualTLS.html +3 -3
  25. data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +3 -3
  26. data/doc/NgrokAPI/Models/EndpointOAuth.html +3 -3
  27. data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +3 -3
  28. data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +3 -3
  29. data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +3 -3
  30. data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +3 -3
  31. data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +3 -3
  32. data/doc/NgrokAPI/Models/EndpointOIDC.html +3 -3
  33. data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +3 -3
  34. data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +3 -3
  35. data/doc/NgrokAPI/Models/EndpointSAML.html +3 -3
  36. data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +3 -3
  37. data/doc/NgrokAPI/Models/EndpointTLSTermination.html +3 -3
  38. data/doc/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +617 -0
  39. data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +3 -3
  40. data/doc/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +543 -0
  41. data/doc/NgrokAPI/Models/EventDestination.html +7 -7
  42. data/doc/NgrokAPI/Models/EventSource.html +3 -3
  43. data/doc/NgrokAPI/Models/EventSourceList.html +3 -3
  44. data/doc/NgrokAPI/Models/EventSourceReplace.html +3 -3
  45. data/doc/NgrokAPI/Models/EventSubscription.html +3 -3
  46. data/doc/NgrokAPI/Models/EventTarget.html +3 -3
  47. data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +3 -3
  48. data/doc/NgrokAPI/Models/EventTargetFirehose.html +3 -3
  49. data/doc/NgrokAPI/Models/EventTargetKinesis.html +3 -3
  50. data/doc/NgrokAPI/Models/FailoverBackend.html +1075 -0
  51. data/doc/NgrokAPI/Models/HTTPResponseBackend.html +1231 -0
  52. data/{docs/NgrokAPI/Models/EventStream.html → doc/NgrokAPI/Models/HTTPSEdge.html} +119 -119
  53. data/doc/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +203 -265
  54. data/doc/NgrokAPI/Models/IPPolicy.html +3 -3
  55. data/doc/NgrokAPI/Models/IPPolicyRule.html +97 -23
  56. data/doc/NgrokAPI/Models/IPRestriction.html +3 -3
  57. data/doc/NgrokAPI/Models/Listable.html +3 -3
  58. data/doc/NgrokAPI/Models/Ref.html +3 -3
  59. data/doc/NgrokAPI/Models/ReservedAddr.html +3 -3
  60. data/doc/NgrokAPI/Models/ReservedDomain.html +3 -3
  61. data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +3 -3
  62. data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +3 -3
  63. data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +3 -3
  64. data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +3 -3
  65. data/doc/NgrokAPI/Models/SSHCredential.html +3 -3
  66. data/doc/NgrokAPI/Models/SSHHostCertificate.html +3 -3
  67. data/doc/NgrokAPI/Models/SSHUserCertificate.html +3 -3
  68. data/doc/NgrokAPI/Models/TCPEdge.html +1235 -0
  69. data/doc/NgrokAPI/Models/TLSCertificate.html +3 -3
  70. data/doc/NgrokAPI/Models/TLSCertificateSANs.html +3 -3
  71. data/doc/NgrokAPI/Models/TLSEdge.html +1395 -0
  72. data/doc/NgrokAPI/Models/Tunnel.html +314 -18
  73. data/doc/NgrokAPI/Models/TunnelGroupBackend.html +1149 -0
  74. data/doc/NgrokAPI/Models/TunnelSession.html +3 -3
  75. data/doc/NgrokAPI/Models/{IPWhitelistEntry.html → WeightedBackend.html} +80 -74
  76. data/doc/NgrokAPI/Models.html +5 -5
  77. data/doc/NgrokAPI/PagedIterator.html +3 -3
  78. data/doc/NgrokAPI/Services/APIKeysClient.html +99 -149
  79. data/doc/NgrokAPI/Services/AbuseReportsClient.html +19 -33
  80. data/doc/NgrokAPI/Services/{IPWhitelistClient.html → AgentIngressesClient.html} +209 -265
  81. data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +104 -156
  82. data/doc/NgrokAPI/Services/CredentialsClient.html +108 -164
  83. data/doc/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1153 -0
  84. data/{docs/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html → doc/NgrokAPI/Services/EdgeRouteCircuitBreakerModuleClient.html} +177 -95
  85. data/doc/NgrokAPI/Services/{EndpointCompressionModuleClient.html → EdgeRouteCompressionModuleClient.html} +177 -95
  86. data/doc/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1153 -0
  87. data/doc/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +1153 -0
  88. data/{docs/NgrokAPI/Services/EndpointOIDCModuleClient.html → doc/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html} +177 -95
  89. data/doc/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1153 -0
  90. data/{docs/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html → doc/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html} +177 -95
  91. data/{docs/NgrokAPI/Services/EndpointSAMLModuleClient.html → doc/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html} +177 -95
  92. data/doc/NgrokAPI/Services/{EndpointWebhookValidationModuleClient.html → EdgeRouteWebhookVerificationModuleClient.html} +177 -95
  93. data/doc/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1153 -0
  94. data/doc/NgrokAPI/Services/{EventStreamsClient.html → EdgesHTTPSClient.html} +248 -353
  95. data/{docs/NgrokAPI/Services/EndpointConfigurationsClient.html → doc/NgrokAPI/Services/EdgesHTTPSRoutesClient.html} +461 -761
  96. data/doc/NgrokAPI/Services/EdgesTCPClient.html +1757 -0
  97. data/doc/NgrokAPI/Services/EdgesTLSClient.html +1847 -0
  98. data/doc/NgrokAPI/Services/EndpointsClient.html +907 -0
  99. data/doc/NgrokAPI/Services/EventDestinationsClient.html +119 -187
  100. data/doc/NgrokAPI/Services/EventSourcesClient.html +95 -157
  101. data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +116 -178
  102. data/doc/NgrokAPI/Services/FailoverBackendsClient.html +1644 -0
  103. data/doc/NgrokAPI/Services/HTTPResponseBackendsClient.html +1744 -0
  104. data/doc/NgrokAPI/Services/{EndpointSAMLModuleClient.html → HTTPSEdgeMutualTLSModuleClient.html} +101 -129
  105. data/doc/NgrokAPI/Services/{EndpointRequestHeadersModuleClient.html → HTTPSEdgeTLSTerminationModuleClient.html} +101 -129
  106. data/doc/NgrokAPI/Services/IPPoliciesClient.html +114 -184
  107. data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +126 -164
  108. data/doc/NgrokAPI/Services/IPRestrictionsClient.html +117 -181
  109. data/doc/NgrokAPI/Services/ReservedAddrsClient.html +117 -473
  110. data/doc/NgrokAPI/Services/ReservedDomainsClient.html +209 -899
  111. data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +110 -166
  112. data/doc/NgrokAPI/Services/SSHCredentialsClient.html +111 -169
  113. data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +111 -171
  114. data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +111 -175
  115. data/{docs/NgrokAPI/Services/EndpointLoggingModuleClient.html → doc/NgrokAPI/Services/TCPEdgeBackendModuleClient.html} +101 -129
  116. data/{docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html → doc/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html} +83 -111
  117. data/doc/NgrokAPI/Services/TLSCertificatesClient.html +107 -161
  118. data/doc/NgrokAPI/Services/{EndpointLoggingModuleClient.html → TLSEdgeBackendModuleClient.html} +101 -129
  119. data/doc/NgrokAPI/Services/{EndpointIPPolicyModuleClient.html → TLSEdgeIPRestrictionModuleClient.html} +83 -111
  120. data/{docs/NgrokAPI/Services/EndpointMutualTLSModuleClient.html → doc/NgrokAPI/Services/TLSEdgeMutualTLSModuleClient.html} +83 -111
  121. data/{docs/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html → doc/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html} +83 -111
  122. data/doc/NgrokAPI/Services/TunnelGroupBackendsClient.html +1644 -0
  123. data/doc/NgrokAPI/Services/TunnelSessionsClient.html +87 -135
  124. data/doc/NgrokAPI/Services/TunnelsClient.html +252 -26
  125. data/doc/NgrokAPI/Services/WeightedBackendsClient.html +1644 -0
  126. data/doc/NgrokAPI/Services.html +5 -5
  127. data/doc/NgrokAPI.html +4 -4
  128. data/doc/_index.html +253 -76
  129. data/doc/class_list.html +1 -1
  130. data/doc/file.README.html +3 -3
  131. data/doc/frames.html +1 -1
  132. data/doc/index.html +3 -3
  133. data/doc/method_list.html +3559 -1583
  134. data/doc/top-level-namespace.html +3 -3
  135. data/docs/NgrokAPI/Client.html +325 -267
  136. data/docs/NgrokAPI/Error.html +3 -3
  137. data/docs/NgrokAPI/Errors/NotFoundError.html +3 -3
  138. data/docs/NgrokAPI/Errors.html +3 -3
  139. data/docs/NgrokAPI/HttpClient.html +30 -36
  140. data/docs/NgrokAPI/Models/APIKey.html +3 -3
  141. data/docs/NgrokAPI/Models/AWSAuth.html +3 -3
  142. data/docs/NgrokAPI/Models/AWSCredentials.html +3 -3
  143. data/docs/NgrokAPI/Models/AWSRole.html +3 -3
  144. data/docs/NgrokAPI/Models/AbuseReport.html +3 -3
  145. data/docs/NgrokAPI/Models/AbuseReportHostname.html +3 -3
  146. data/docs/NgrokAPI/Models/AgentIngress.html +1217 -0
  147. data/docs/NgrokAPI/Models/CertificateAuthority.html +3 -3
  148. data/docs/NgrokAPI/Models/Credential.html +3 -3
  149. data/docs/NgrokAPI/Models/Endpoint.html +1431 -0
  150. data/docs/NgrokAPI/Models/{EndpointLogging.html → EndpointBackend.html} +42 -42
  151. data/{doc/NgrokAPI/Models/EndpointLoggingMutate.html → docs/NgrokAPI/Models/EndpointBackendMutate.html} +42 -42
  152. data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +3 -3
  153. data/docs/NgrokAPI/Models/EndpointCompression.html +3 -3
  154. data/docs/NgrokAPI/Models/EndpointIPPolicy.html +3 -3
  155. data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +3 -3
  156. data/docs/NgrokAPI/Models/EndpointMutualTLS.html +3 -3
  157. data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +3 -3
  158. data/docs/NgrokAPI/Models/EndpointOAuth.html +3 -3
  159. data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +3 -3
  160. data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +3 -3
  161. data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +3 -3
  162. data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +3 -3
  163. data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +3 -3
  164. data/docs/NgrokAPI/Models/EndpointOIDC.html +3 -3
  165. data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +3 -3
  166. data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +3 -3
  167. data/docs/NgrokAPI/Models/EndpointSAML.html +3 -3
  168. data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +3 -3
  169. data/docs/NgrokAPI/Models/EndpointTLSTermination.html +3 -3
  170. data/docs/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +617 -0
  171. data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +3 -3
  172. data/docs/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +543 -0
  173. data/docs/NgrokAPI/Models/EventDestination.html +7 -7
  174. data/docs/NgrokAPI/Models/EventSource.html +3 -3
  175. data/docs/NgrokAPI/Models/EventSourceList.html +3 -3
  176. data/docs/NgrokAPI/Models/EventSourceReplace.html +3 -3
  177. data/docs/NgrokAPI/Models/EventSubscription.html +3 -3
  178. data/docs/NgrokAPI/Models/EventTarget.html +3 -3
  179. data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +3 -3
  180. data/docs/NgrokAPI/Models/EventTargetFirehose.html +3 -3
  181. data/docs/NgrokAPI/Models/EventTargetKinesis.html +3 -3
  182. data/docs/NgrokAPI/Models/FailoverBackend.html +1075 -0
  183. data/docs/NgrokAPI/Models/HTTPResponseBackend.html +1231 -0
  184. data/{doc/NgrokAPI/Models/EventStream.html → docs/NgrokAPI/Models/HTTPSEdge.html} +119 -119
  185. data/docs/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +203 -265
  186. data/docs/NgrokAPI/Models/IPPolicy.html +3 -3
  187. data/docs/NgrokAPI/Models/IPPolicyRule.html +97 -23
  188. data/docs/NgrokAPI/Models/IPRestriction.html +3 -3
  189. data/docs/NgrokAPI/Models/Listable.html +3 -3
  190. data/docs/NgrokAPI/Models/Ref.html +3 -3
  191. data/docs/NgrokAPI/Models/ReservedAddr.html +3 -3
  192. data/docs/NgrokAPI/Models/ReservedDomain.html +3 -3
  193. data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +3 -3
  194. data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +3 -3
  195. data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +3 -3
  196. data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +3 -3
  197. data/docs/NgrokAPI/Models/SSHCredential.html +3 -3
  198. data/docs/NgrokAPI/Models/SSHHostCertificate.html +3 -3
  199. data/docs/NgrokAPI/Models/SSHUserCertificate.html +3 -3
  200. data/docs/NgrokAPI/Models/TCPEdge.html +1235 -0
  201. data/docs/NgrokAPI/Models/TLSCertificate.html +3 -3
  202. data/docs/NgrokAPI/Models/TLSCertificateSANs.html +3 -3
  203. data/docs/NgrokAPI/Models/TLSEdge.html +1395 -0
  204. data/docs/NgrokAPI/Models/Tunnel.html +314 -18
  205. data/docs/NgrokAPI/Models/TunnelGroupBackend.html +1149 -0
  206. data/docs/NgrokAPI/Models/TunnelSession.html +3 -3
  207. data/docs/NgrokAPI/Models/{IPWhitelistEntry.html → WeightedBackend.html} +80 -74
  208. data/docs/NgrokAPI/Models.html +5 -5
  209. data/docs/NgrokAPI/PagedIterator.html +3 -3
  210. data/docs/NgrokAPI/Services/APIKeysClient.html +99 -149
  211. data/docs/NgrokAPI/Services/AbuseReportsClient.html +19 -33
  212. data/docs/NgrokAPI/Services/{IPWhitelistClient.html → AgentIngressesClient.html} +209 -265
  213. data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +104 -156
  214. data/docs/NgrokAPI/Services/CredentialsClient.html +108 -164
  215. data/docs/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1153 -0
  216. data/{doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html → docs/NgrokAPI/Services/EdgeRouteCircuitBreakerModuleClient.html} +177 -95
  217. data/docs/NgrokAPI/Services/{EndpointCompressionModuleClient.html → EdgeRouteCompressionModuleClient.html} +177 -95
  218. data/docs/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1153 -0
  219. data/docs/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +1153 -0
  220. data/docs/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +1153 -0
  221. data/docs/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1153 -0
  222. data/{doc/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html → docs/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html} +177 -95
  223. data/docs/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html +1153 -0
  224. data/docs/NgrokAPI/Services/{EndpointWebhookValidationModuleClient.html → EdgeRouteWebhookVerificationModuleClient.html} +177 -95
  225. data/docs/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1153 -0
  226. data/docs/NgrokAPI/Services/{EventStreamsClient.html → EdgesHTTPSClient.html} +248 -353
  227. data/{doc/NgrokAPI/Services/EndpointConfigurationsClient.html → docs/NgrokAPI/Services/EdgesHTTPSRoutesClient.html} +461 -761
  228. data/docs/NgrokAPI/Services/EdgesTCPClient.html +1757 -0
  229. data/docs/NgrokAPI/Services/EdgesTLSClient.html +1847 -0
  230. data/docs/NgrokAPI/Services/EndpointsClient.html +907 -0
  231. data/docs/NgrokAPI/Services/EventDestinationsClient.html +119 -187
  232. data/docs/NgrokAPI/Services/EventSourcesClient.html +95 -157
  233. data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +116 -178
  234. data/docs/NgrokAPI/Services/FailoverBackendsClient.html +1644 -0
  235. data/docs/NgrokAPI/Services/HTTPResponseBackendsClient.html +1744 -0
  236. data/{doc/NgrokAPI/Services/EndpointOIDCModuleClient.html → docs/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html} +101 -129
  237. data/docs/NgrokAPI/Services/{EndpointRequestHeadersModuleClient.html → HTTPSEdgeTLSTerminationModuleClient.html} +101 -129
  238. data/docs/NgrokAPI/Services/IPPoliciesClient.html +114 -184
  239. data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +126 -164
  240. data/docs/NgrokAPI/Services/IPRestrictionsClient.html +117 -181
  241. data/docs/NgrokAPI/Services/ReservedAddrsClient.html +117 -473
  242. data/docs/NgrokAPI/Services/ReservedDomainsClient.html +209 -899
  243. data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +110 -166
  244. data/docs/NgrokAPI/Services/SSHCredentialsClient.html +111 -169
  245. data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +111 -171
  246. data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +111 -175
  247. data/{doc/NgrokAPI/Services/EndpointOAuthModuleClient.html → docs/NgrokAPI/Services/TCPEdgeBackendModuleClient.html} +101 -129
  248. data/docs/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +1043 -0
  249. data/docs/NgrokAPI/Services/TLSCertificatesClient.html +107 -161
  250. data/docs/NgrokAPI/Services/{EndpointOAuthModuleClient.html → TLSEdgeBackendModuleClient.html} +101 -129
  251. data/docs/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +1043 -0
  252. data/{doc/NgrokAPI/Services/EndpointMutualTLSModuleClient.html → docs/NgrokAPI/Services/TLSEdgeMutualTLSModuleClient.html} +83 -111
  253. data/{doc/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html → docs/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html} +83 -111
  254. data/docs/NgrokAPI/Services/TunnelGroupBackendsClient.html +1644 -0
  255. data/docs/NgrokAPI/Services/TunnelSessionsClient.html +87 -135
  256. data/docs/NgrokAPI/Services/TunnelsClient.html +252 -26
  257. data/docs/NgrokAPI/Services/WeightedBackendsClient.html +1644 -0
  258. data/docs/NgrokAPI/Services.html +5 -5
  259. data/docs/NgrokAPI.html +4 -4
  260. data/docs/_index.html +253 -76
  261. data/docs/class_list.html +1 -1
  262. data/docs/file.README.html +3 -3
  263. data/docs/frames.html +1 -1
  264. data/docs/index.html +3 -3
  265. data/docs/method_list.html +3559 -1583
  266. data/docs/top-level-namespace.html +3 -3
  267. data/lib/ngrokapi/client.rb +52 -37
  268. data/lib/ngrokapi/http_client.rb +1 -4
  269. data/lib/ngrokapi/models/{ip_whitelist_entry.rb → agent_ingress.rb} +13 -9
  270. data/lib/ngrokapi/models/endpoint.rb +49 -0
  271. data/lib/ngrokapi/models/{endpoint_logging.rb → endpoint_backend.rb} +3 -3
  272. data/lib/ngrokapi/models/{endpoint_logging_mutate.rb → endpoint_backend_mutate.rb} +3 -3
  273. data/lib/ngrokapi/models/endpoint_tls_termination_at_edge.rb +27 -0
  274. data/lib/ngrokapi/models/endpoint_websocket_tcp_converter.rb +25 -0
  275. data/lib/ngrokapi/models/event_destination.rb +1 -2
  276. data/lib/ngrokapi/models/{event_stream.rb → failover_backend.rb} +15 -27
  277. data/lib/ngrokapi/models/http_response_backend.rb +71 -0
  278. data/lib/ngrokapi/models/https_edge.rb +80 -0
  279. data/lib/ngrokapi/models/{endpoint_configuration.rb → https_edge_route.rb} +56 -53
  280. data/lib/ngrokapi/models/ip_policy_rule.rb +3 -1
  281. data/lib/ngrokapi/models/tcp_edge.rb +78 -0
  282. data/lib/ngrokapi/models/tls_edge.rb +88 -0
  283. data/lib/ngrokapi/models/tunnel.rb +9 -1
  284. data/lib/ngrokapi/models/tunnel_group_backend.rb +67 -0
  285. data/lib/ngrokapi/models/weighted_backend.rb +65 -0
  286. data/lib/ngrokapi/services/abuse_reports_client.rb +3 -10
  287. data/lib/ngrokapi/services/agent_ingresses_client.rb +206 -0
  288. data/lib/ngrokapi/services/api_keys_client.rb +11 -36
  289. data/lib/ngrokapi/services/certificate_authorities_client.rb +11 -37
  290. data/lib/ngrokapi/services/credentials_client.rb +11 -39
  291. data/lib/ngrokapi/services/edge_route_backend_module_client.rb +120 -0
  292. data/lib/ngrokapi/services/{endpoint_circuit_breaker_module_client.rb → edge_route_circuit_breaker_module_client.rb} +37 -39
  293. data/lib/ngrokapi/services/{endpoint_compression_module_client.rb → edge_route_compression_module_client.rb} +37 -39
  294. data/lib/ngrokapi/services/edge_route_ip_restriction_module_client.rb +120 -0
  295. data/lib/ngrokapi/services/{endpoint_o_auth_module_client.rb → edge_route_o_auth_module_client.rb} +37 -39
  296. data/lib/ngrokapi/services/{endpoint_oidc_module_client.rb → edge_route_oidc_module_client.rb} +37 -39
  297. data/lib/ngrokapi/services/{endpoint_request_headers_module_client.rb → edge_route_request_headers_module_client.rb} +37 -39
  298. data/lib/ngrokapi/services/{endpoint_response_headers_module_client.rb → edge_route_response_headers_module_client.rb} +37 -39
  299. data/lib/ngrokapi/services/{endpoint_saml_module_client.rb → edge_route_saml_module_client.rb} +37 -39
  300. data/lib/ngrokapi/services/{endpoint_webhook_validation_module_client.rb → edge_route_webhook_verification_module_client.rb} +37 -39
  301. data/lib/ngrokapi/services/edge_route_websocket_tcp_converter_module_client.rb +120 -0
  302. data/lib/ngrokapi/services/edges_https_client.rb +227 -0
  303. data/lib/ngrokapi/services/edges_https_routes_client.rb +244 -0
  304. data/lib/ngrokapi/services/edges_tcp_client.rb +227 -0
  305. data/lib/ngrokapi/services/edges_tls_client.rb +239 -0
  306. data/lib/ngrokapi/services/endpoints_client.rb +114 -0
  307. data/lib/ngrokapi/services/event_destinations_client.rb +13 -49
  308. data/lib/ngrokapi/services/event_sources_client.rb +9 -40
  309. data/lib/ngrokapi/services/event_subscriptions_client.rb +14 -45
  310. data/lib/ngrokapi/services/failover_backends_client.rb +214 -0
  311. data/lib/ngrokapi/services/http_response_backends_client.rb +199 -0
  312. data/lib/ngrokapi/services/https_edge_mutual_tls_module_client.rb +108 -0
  313. data/lib/ngrokapi/services/https_edge_tls_termination_module_client.rb +108 -0
  314. data/lib/ngrokapi/services/ip_policies_client.rb +11 -39
  315. data/lib/ngrokapi/services/ip_policy_rules_client.rb +13 -40
  316. data/lib/ngrokapi/services/ip_restrictions_client.rb +12 -44
  317. data/lib/ngrokapi/services/reserved_addrs_client.rb +11 -81
  318. data/lib/ngrokapi/services/reserved_domains_client.rb +15 -144
  319. data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +11 -39
  320. data/lib/ngrokapi/services/ssh_credentials_client.rb +11 -40
  321. data/lib/ngrokapi/services/ssh_host_certificates_client.rb +11 -41
  322. data/lib/ngrokapi/services/ssh_user_certificates_client.rb +11 -43
  323. data/lib/ngrokapi/services/{endpoint_logging_module_client.rb → tcp_edge_backend_module_client.rb} +31 -45
  324. data/lib/ngrokapi/services/{endpoint_ip_policy_module_client.rb → tcp_edge_ip_restriction_module_client.rb} +21 -35
  325. data/lib/ngrokapi/services/tls_certificates_client.rb +11 -38
  326. data/lib/ngrokapi/services/tls_edge_backend_module_client.rb +108 -0
  327. data/lib/ngrokapi/services/tls_edge_ip_restriction_module_client.rb +108 -0
  328. data/lib/ngrokapi/services/{endpoint_mutual_tls_module_client.rb → tls_edge_mutual_tls_module_client.rb} +21 -35
  329. data/lib/ngrokapi/services/{endpoint_tls_termination_module_client.rb → tls_edge_tls_termination_module_client.rb} +21 -35
  330. data/lib/ngrokapi/services/{ip_whitelist_client.rb → tunnel_group_backends_client.rb} +70 -93
  331. data/lib/ngrokapi/services/tunnel_sessions_client.rb +12 -36
  332. data/lib/ngrokapi/services/tunnels_client.rb +39 -10
  333. data/lib/ngrokapi/services/weighted_backends_client.rb +214 -0
  334. data/lib/ngrokapi/version.rb +1 -1
  335. data/lib/ngrokapi.rb +1 -1
  336. data/ngrok-api.gemspec +1 -1
  337. data/spec/ngrokapi/client_spec.rb +50 -29
  338. data/spec/ngrokapi/models/agent_ingress_spec.rb +42 -0
  339. data/spec/ngrokapi/models/endpoint_backend_mutate_spec.rb +21 -0
  340. data/spec/ngrokapi/models/endpoint_backend_spec.rb +21 -0
  341. data/spec/ngrokapi/models/endpoint_spec.rb +21 -0
  342. data/spec/ngrokapi/models/endpoint_tls_termination_at_edge_spec.rb +21 -0
  343. data/spec/ngrokapi/models/endpoint_websocket_tcp_converter_spec.rb +21 -0
  344. data/spec/ngrokapi/models/failover_backend_spec.rb +45 -0
  345. data/spec/ngrokapi/models/http_response_backend_spec.rb +51 -0
  346. data/spec/ngrokapi/models/https_edge_route_spec.rb +81 -0
  347. data/spec/ngrokapi/models/https_edge_spec.rb +51 -0
  348. data/spec/ngrokapi/models/tcp_edge_spec.rb +51 -0
  349. data/spec/ngrokapi/models/tls_edge_spec.rb +57 -0
  350. data/spec/ngrokapi/models/tunnel_group_backend_spec.rb +45 -0
  351. data/spec/ngrokapi/models/weighted_backend_spec.rb +45 -0
  352. data/spec/ngrokapi/services/{ip_whitelist_client_spec.rb → agent_ingresses_client_spec.rb} +49 -49
  353. data/spec/ngrokapi/services/edge_route_backend_module_client_spec.rb +139 -0
  354. data/spec/ngrokapi/services/{endpoint_circuit_breaker_module_client_spec.rb → edge_route_circuit_breaker_module_client_spec.rb} +31 -17
  355. data/spec/ngrokapi/services/{endpoint_compression_module_client_spec.rb → edge_route_compression_module_client_spec.rb} +31 -17
  356. data/spec/ngrokapi/services/edge_route_ip_restriction_module_client_spec.rb +139 -0
  357. data/spec/ngrokapi/services/{endpoint_o_auth_module_client_spec.rb → edge_route_o_auth_module_client_spec.rb} +31 -17
  358. data/spec/ngrokapi/services/{endpoint_oidc_module_client_spec.rb → edge_route_oidc_module_client_spec.rb} +31 -17
  359. data/spec/ngrokapi/services/{endpoint_request_headers_module_client_spec.rb → edge_route_request_headers_module_client_spec.rb} +31 -17
  360. data/spec/ngrokapi/services/{endpoint_response_headers_module_client_spec.rb → edge_route_response_headers_module_client_spec.rb} +31 -17
  361. data/spec/ngrokapi/services/{endpoint_saml_module_client_spec.rb → edge_route_saml_module_client_spec.rb} +31 -17
  362. data/spec/ngrokapi/services/{endpoint_webhook_validation_module_client_spec.rb → edge_route_webhook_verification_module_client_spec.rb} +31 -17
  363. data/spec/ngrokapi/services/edge_route_websocket_tcp_converter_module_client_spec.rb +139 -0
  364. data/spec/ngrokapi/services/{event_streams_client_spec.rb → edges_https_client_spec.rb} +106 -108
  365. data/spec/ngrokapi/services/edges_https_routes_client_spec.rb +241 -0
  366. data/spec/ngrokapi/services/edges_tcp_client_spec.rb +175 -0
  367. data/spec/ngrokapi/services/edges_tls_client_spec.rb +187 -0
  368. data/spec/ngrokapi/services/endpoints_client_spec.rb +57 -0
  369. data/spec/ngrokapi/services/failover_backends_client_spec.rb +163 -0
  370. data/spec/ngrokapi/services/http_response_backends_client_spec.rb +175 -0
  371. data/spec/ngrokapi/services/{endpoint_mutual_tls_module_client_spec.rb → https_edge_mutual_tls_module_client_spec.rb} +17 -17
  372. data/spec/ngrokapi/services/{endpoint_tls_termination_module_client_spec.rb → https_edge_tls_termination_module_client_spec.rb} +17 -17
  373. data/spec/ngrokapi/services/ip_policies_client_spec.rb +0 -1
  374. data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +3 -1
  375. data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +0 -44
  376. data/spec/ngrokapi/services/reserved_domains_client_spec.rb +0 -88
  377. data/spec/ngrokapi/services/{endpoint_logging_module_client_spec.rb → tcp_edge_backend_module_client_spec.rb} +40 -40
  378. data/spec/ngrokapi/services/{endpoint_ip_policy_module_client_spec.rb → tcp_edge_ip_restriction_module_client_spec.rb} +17 -17
  379. data/spec/ngrokapi/services/tls_edge_backend_module_client_spec.rb +125 -0
  380. data/spec/ngrokapi/services/tls_edge_ip_restriction_module_client_spec.rb +125 -0
  381. data/spec/ngrokapi/services/tls_edge_mutual_tls_module_client_spec.rb +125 -0
  382. data/spec/ngrokapi/services/tls_edge_tls_termination_module_client_spec.rb +125 -0
  383. data/spec/ngrokapi/services/tunnel_group_backends_client_spec.rb +163 -0
  384. data/spec/ngrokapi/services/tunnels_client_spec.rb +36 -0
  385. data/spec/ngrokapi/services/weighted_backends_client_spec.rb +163 -0
  386. data/spec/spec_helper.rb +1389 -1045
  387. metadata +175 -83
  388. data/lib/ngrokapi/services/endpoint_configurations_client.rb +0 -357
  389. data/lib/ngrokapi/services/event_streams_client.rb +0 -259
  390. data/spec/ngrokapi/models/endpoint_configuration_spec.rb +0 -78
  391. data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +0 -21
  392. data/spec/ngrokapi/models/endpoint_logging_spec.rb +0 -21
  393. data/spec/ngrokapi/models/event_stream_spec.rb +0 -51
  394. data/spec/ngrokapi/models/ip_whitelist_entry_spec.rb +0 -42
  395. data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +0 -237
data/spec/spec_helper.rb CHANGED
@@ -1,1045 +1,1389 @@
1
- # frozen_string_literal: true
2
-
3
- require "simplecov"
4
- SimpleCov.start
5
- require 'pry'
6
-
7
- require 'webmock/rspec'
8
- require './lib/ngrokapi'
9
-
10
- Dir[File.expand_path(File.join(File.dirname(__FILE__), 'support', '**', '*.rb'))].each do |f|
11
- require f
12
- end
13
-
14
- RSpec.configure do |config|
15
- config.expect_with :rspec do |expectations|
16
- expectations.include_chain_clauses_in_custom_matcher_descriptions = true
17
- end
18
-
19
- config.mock_with :rspec do |mocks|
20
- mocks.verify_partial_doubles = false
21
- end
22
-
23
- config.run_all_when_everything_filtered = true
24
-
25
- config.disable_monkey_patching!
26
-
27
- config.warnings = true
28
-
29
- config.default_formatter = 'doc' if config.files_to_run.one?
30
-
31
- config.profile_examples = 10
32
-
33
- config.order = :random
34
-
35
- Kernel.srand config.seed
36
- end
37
-
38
- RSpec::Matchers.define :use_ssl do
39
- match(&:use_ssl?)
40
- end
41
-
42
- RSpec::Matchers.define :use_cert_store do |cert_store|
43
- match do |connection|
44
- connection.cert_store == cert_store
45
- end
46
- end
47
-
48
- # Custom objects
49
- # NOTE: we should programmatically create these at some point in the future.
50
- def abuse_report_hostname_result
51
- {
52
- }
53
- end
54
-
55
- def abuse_report_result
56
- {
57
- }
58
- end
59
-
60
- def api_key_result
61
- {
62
- "id" => "ak_1xrq8h890dWRYiRdIHeZYCdlyT7",
63
- "uri" => "https://api.ngrok.com/api_keys/ak_1xrq8h890dWRYiRdIHeZYCdlyT7",
64
- "description" => "",
65
- "metadata" => "",
66
- "created_at" => "2021-09-08T17:49:56Z",
67
- "token" => nil,
68
- }
69
- end
70
-
71
- def api_key_result2
72
- {
73
- "id" => "ak_1xrqAsg8fMHBgD71MSbtr6a0pA2",
74
- "uri" => "https://api.ngrok.com/api_keys/ak_1xrqAsg8fMHBgD71MSbtr6a0pA2",
75
- "description" => "",
76
- "metadata" => "",
77
- "created_at" => "2021-09-08T17:50:14Z",
78
- "token" => nil,
79
- }
80
- end
81
-
82
- def api_key_results
83
- {
84
- "keys" => [
85
- api_key_result,
86
- api_key_result2,
87
- ],
88
- "uri" => "https://api.ngrok.com/api_keys",
89
- "next_page_uri" => nil,
90
- }
91
- end
92
-
93
- def aws_auth_result
94
- {
95
- }
96
- end
97
-
98
- def aws_credentials_result
99
- {
100
- }
101
- end
102
-
103
- def aws_role_result
104
- {
105
- }
106
- end
107
-
108
- def certificate_authority_result
109
- {
110
- "id" => "ca_1rV5DZka5Q6SaX2NwY1rKVOVgA1",
111
- "uri" => "https://api.ngrok.com/certificate_authorities/ca_1rV5DZka5Q6SaX2NwY1rKVOVgA1",
112
- "created_at" => "2021-04-21T23:38:17Z",
113
- "description" => "Device Connectivity Authority",
114
- "metadata" => "",
115
- "ca_pem" => "-----BEGIN CERTIFICATE-----\nMIIEAzCCAuugAwIBAgIUGN+Gv4BdJ17VoVXWrz9j51jcfYowDQYJKoZIhvcNAQEL\nBQAwgZAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQH\nDA1TYW4gRnJhbmNpc2NvMRMwEQYDVQQKDApBQ01FLCBJbmMuMR4wHAYDVQQDDBVB\nQ01FIERldmljZSBBdXRob3JpdHkxHzAdBgkqhkiG9w0BCQEWEG9wc0BhY21lLmV4\nYW1wbGUwHhcNMjAwNTAxMTYyNTA5WhcNMjEwNTAxMTYyNTA5WjCBkDELMAkGA1UE\nBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lz\nY28xEzARBgNVBAoMCkFDTUUsIEluYy4xHjAcBgNVBAMMFUFDTUUgRGV2aWNlIEF1\ndGhvcml0eTEfMB0GCSqGSIb3DQEJARYQb3BzQGFjbWUuZXhhbXBsZTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO8vxADdMmZANJ0aTAX6Jp50vCjFh2/d\nJLxn4ZAg0fFgkM+Zl+3gxGA7YUUKxIKet6rSeyKAjOX9AFA+idpv5mXnD+0nwPDr\nkwGe1MkYsaWYdMyUEoI9uEodS0LmHItAzV63ovkdagb3fqZqWcJCsoDa22WHt6GN\nT2d4xGD0gEMyDmwxey4XYSy63H1mvQRzhjC5wCzTGOefG76Io0whJka0mr3b6wEv\nSw0YqRF0/BEDlmWU/VWz7YEgWpb0rXaLqQKbZjyFo137X1otZK8vj9MVRWRvYmcF\nHgE+n0ifoCQ/DNVF1mkG6HGK3LREj9LGRBTN683Vqq2W+93B9yuTgr8CAwEAAaNT\nMFEwHQYDVR0OBBYEFLGXXIYFIpkRy4j0VsOdfgxgZpXzMB8GA1UdIwQYMBaAFLGX\nXIYFIpkRy4j0VsOdfgxgZpXzMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL\nBQADggEBAFyO7ZWj9w6xzoBWu/XbIVwsQ3kE5k+wrRGyp2rh2v4msAEveCIZP5kT\nCSdr2vr+9HQYiKf1ftsp9tGTLXwrhz3ztC8jIqo4A0grw5B61J0lj+2grKNq1/CK\nxQcpkbnetzo4zsDqFRoN2VK40Ovo4b/IknFa38t06b4t8cYQIqUdkFHMSSIz3Mvx\nRIK6MZlilT8zkWhi9kfCJe/s3cVEAJixNkgO4XNo5VhhxFenyvAL2vDM27dWVtDG\nqL3MFZbcy0/74AJsJDSrflGUQxjrK3WI9PkpKp/xey54XJAbhF63z1VwkJwSwufv\nW9HgidfMN9icgxkScyWpB9KrZHcsLk4=\n-----END CERTIFICATE-----\n",
116
- "subject_common_name" => "ACME Device Authority",
117
- "not_before" => "2020-05-01T16:25:09Z",
118
- "not_after" => "2021-05-01T16:25:09Z",
119
- "key_usages" => [],
120
- "extended_key_usages" => [],
121
- }
122
- end
123
-
124
- def certificate_authority_result2
125
- {
126
- "id" => "ca_1rV5Dca4ELSBvqQv2YmoQp4s220",
127
- "uri" => "https://api.ngrok.com/certificate_authorities/ca_1rV5Dca4ELSBvqQv2YmoQp4s220",
128
- "created_at" => "2021-04-21T23:38:17Z",
129
- "description" => "Internal Coprorates Services Authority",
130
- "metadata" => "{\"internal_id\" => \"7d2caeee-cdc3-4b26-b2c2-b280b8287552\"}",
131
- "ca_pem" => "-----BEGIN CERTIFICATE-----\nMIIEETCCAvmgAwIBAgIUU3N6lNzPqar4400cLQMcVHFl+mEwDQYJKoZIhvcNAQEL\nBQAwgZcxCzAJBgNVBAYTAkFVMQwwCgYDVQQIDANOU1cxDzANBgNVBAcMBlN5ZG5l\neTEZMBcGA1UECgwQRHJvcGJlYXIgUHR5IEx0ZDEkMCIGA1UEAwwbSW50cmFuZXQg\nU2VydmljZXMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlzZWN1cml0eUBkcm9w\nYmVhci5leGFtcGxlMB4XDTIwMDUwMTE2Mjc1OVoXDTIxMDUwMTE2Mjc1OVowgZcx\nCzAJBgNVBAYTAkFVMQwwCgYDVQQIDANOU1cxDzANBgNVBAcMBlN5ZG5leTEZMBcG\nA1UECgwQRHJvcGJlYXIgUHR5IEx0ZDEkMCIGA1UEAwwbSW50cmFuZXQgU2Vydmlj\nZXMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlzZWN1cml0eUBkcm9wYmVhci5l\neGFtcGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7y/EAN0yZkA0\nnRpMBfomnnS8KMWHb90kvGfhkCDR8WCQz5mX7eDEYDthRQrEgp63qtJ7IoCM5f0A\nUD6J2m/mZecP7SfA8OuTAZ7UyRixpZh0zJQSgj24Sh1LQuYci0DNXrei+R1qBvd+\npmpZwkKygNrbZYe3oY1PZ3jEYPSAQzIObDF7LhdhLLrcfWa9BHOGMLnALNMY558b\nvoijTCEmRrSavdvrAS9LDRipEXT8EQOWZZT9VbPtgSBalvStdoupAptmPIWjXftf\nWi1kry+P0xVFZG9iZwUeAT6fSJ+gJD8M1UXWaQbocYrctESP0sZEFM3rzdWqrZb7\n3cH3K5OCvwIDAQABo1MwUTAdBgNVHQ4EFgQUsZdchgUimRHLiPRWw51+DGBmlfMw\nHwYDVR0jBBgwFoAUsZdchgUimRHLiPRWw51+DGBmlfMwDwYDVR0TAQH/BAUwAwEB\n/zANBgkqhkiG9w0BAQsFAAOCAQEANk25tt8sSfn6Qu1bbhWRbjKgS5z+j9LqyCna\nv3fbSchMthaQR7w0vL69ayroeYdqDZkRMmHjuYKY4NyqyXkkaqVO63wEicCo55d9\npIKuPzc/7xwdRephosjGTQ4QaQ4OnrdpJZieI92m9ODexgsab84AYmwNpbGOI/tK\nnPsQr8x1RfLs2gbBwQ4MYVM3tQQbX0o+yve5nz/NCOq4vdG+eKON5u6VYMkOOg9F\nVyNY1iISQkpNk/AF6Vi9BGuDb5Hg0phEl1Q0ntCO7ZHAUHjy0ucqXZiXoXdXZcs3\n3zKKLUKva59EDBZ5TUucvXh8VemBtNc6hd1mX4Tq7lAreG9pjQ==\n-----END CERTIFICATE-----\n",
132
- "subject_common_name" => "Intranet Services Authority",
133
- "not_before" => "2020-05-01T16:27:59Z",
134
- "not_after" => "2021-05-01T16:27:59Z",
135
- "key_usages" => [],
136
- "extended_key_usages" => [],
137
- }
138
- end
139
-
140
- def certificate_authority_results
141
- {
142
- "certificate_authorities" => [
143
- certificate_authority_result,
144
- certificate_authority_result2,
145
- ],
146
- "uri" => "https://api.ngrok.com/certificate_authorities",
147
- "next_page_uri" => nil,
148
- }
149
- end
150
-
151
- def credential_result
152
- {
153
- "id" => "cr_1rV53L5Cbhpz2SEyPaMuh3Fz4fN",
154
- "uri" => "https://api.ngrok.com/credentials/cr_1rV53L5Cbhpz2SEyPaMuh3Fz4fN",
155
- "created_at" => "2021-04-21T23:36:55Z",
156
- "description" => "for device #132",
157
- "metadata" => "",
158
- "token" => nil,
159
- "acl" => [
160
- "bind:1.tcp.ngrok.io:20002",
161
- "bind:132.devices.company.com",
162
- ],
163
- }
164
- end
165
-
166
- def credential_result2
167
- {
168
- "id" => "cr_1rV53HesDPMw48BJyEO9Zlgz9dd",
169
- "uri" => "https://api.ngrok.com/credentials/cr_1rV53HesDPMw48BJyEO9Zlgz9dd",
170
- "created_at" => "2021-04-21T23:36:55Z",
171
- "description" => "development cred for alan@example.com",
172
- "metadata" => "",
173
- "token" => nil,
174
- "acl" => [],
175
- }
176
- end
177
-
178
- def credential_results
179
- {
180
- "credentials" => [
181
- credential_result,
182
- credential_result2,
183
- ],
184
- "uri" => "https //api.ngrok.com/credentials",
185
- "next_page_uri" => nil,
186
- }
187
- end
188
-
189
- def endpoint_compression_result
190
- {
191
- }
192
- end
193
-
194
- def endpoint_configuration_result
195
- {
196
- "id" => "ec_1rV504F3NJD5F9CSDUeWRkld2SB",
197
- "type" => "https",
198
- "description" => "app servers",
199
- "metadata" => "",
200
- "created_at" => "2021-04-21T23:36:29Z",
201
- "uri" => "https://api.ngrok.com/endpoint_configurations/ec_1rV504F3NJD5F9CSDUeWRkld2SB",
202
- "basic_auth" => nil,
203
- "circuit_breaker" => nil,
204
- "compression" => nil,
205
- "request_headers" => {
206
- "enabled" => true,
207
- "add" => {
208
- "x-frontend" => "ngrok",
209
- },
210
- "remove" => [
211
- "cache-control",
212
- ],
213
- },
214
- "response_headers" => nil,
215
- "ip_policy" => nil,
216
- "mutual_tls" => nil,
217
- "tls_termination" => nil,
218
- "webhook_validation" => nil,
219
- "oauth" => nil,
220
- "logging" => nil,
221
- "saml" => nil,
222
- "oidc" => nil,
223
- "backend" => nil,
224
- }
225
- end
226
-
227
- def endpoint_configuration_result2
228
- {
229
- "id" => "ec_1rV4zxf7pC5PFpXAcL2A9VLLeGF",
230
- "type" => "https",
231
- "description" => "web servers",
232
- "metadata" => "",
233
- "created_at" => "2021-04-21T23:36:29Z",
234
- "uri" => "https://api.ngrok.com/endpoint_configurations/ec_1rV4zxf7pC5PFpXAcL2A9VLLeGF",
235
- "basic_auth" => nil,
236
- "circuit_breaker" => {
237
- "enabled" => true,
238
- "tripped_duration" => 0,
239
- "rolling_window" => 0,
240
- "num_buckets" => 0,
241
- "volume_threshold" => 0,
242
- "error_threshold_percentage" => 0.2,
243
- },
244
- "compression" => {
245
- "enabled" => true,
246
- },
247
- "request_headers" => nil,
248
- "response_headers" => {
249
- "enabled" => true,
250
- "add" => {
251
- "content-security-policy" => "script-src 'self'",
252
- "x-frame-options" => "DENY",
253
- },
254
- "remove" => [],
255
- },
256
- "ip_policy" => nil,
257
- "mutual_tls" => nil,
258
- "tls_termination" => nil,
259
- "webhook_validation" => nil,
260
- "oauth" => nil,
261
- "logging" => nil,
262
- "saml" => nil,
263
- "oidc" => nil,
264
- "backend" => nil,
265
- }
266
- end
267
-
268
- def endpoint_configuration_results
269
- {
270
- "endpoint_configurations" => [
271
- endpoint_configuration_result,
272
- endpoint_configuration_result2,
273
- ],
274
- "uri" => "https://api.ngrok.com/endpoint_configurations",
275
- "next_page_uri" => nil,
276
- }
277
- end
278
-
279
- def endpoint_circuit_breaker_result
280
- {
281
- }
282
- end
283
-
284
- def endpoint_ip_policy_result
285
- {
286
- }
287
- end
288
-
289
- def endpoint_ip_policy_mutate_result
290
- {
291
- }
292
- end
293
-
294
- def endpoint_logging_result
295
- {
296
- }
297
- end
298
-
299
- def endpoint_logging_mutate_result
300
- {
301
- }
302
- end
303
-
304
- def endpoint_mutual_tls_result
305
- {
306
- }
307
- end
308
-
309
- def endpoint_mutual_tls_mutate_result
310
- {
311
- }
312
- end
313
-
314
- def endpoint_o_auth_facebook_result
315
- {
316
- }
317
- end
318
-
319
- def endpoint_o_auth_git_hub_result
320
- {
321
- }
322
- end
323
-
324
- def endpoint_o_auth_google_result
325
- {
326
- }
327
- end
328
-
329
- def endpoint_o_auth_microsoft_result
330
- {
331
- }
332
- end
333
-
334
- def endpoint_o_auth_provider_result
335
- {
336
- }
337
- end
338
-
339
- def endpoint_o_auth_result
340
- {
341
- }
342
- end
343
-
344
- def endpoint_oidc_result
345
- {
346
- }
347
- end
348
-
349
- def endpoint_request_headers_result
350
- {
351
- }
352
- end
353
-
354
- def endpoint_response_headers_result
355
- {
356
- }
357
- end
358
-
359
- def endpoint_saml_result
360
- {
361
- }
362
- end
363
-
364
- def endpoint_saml_mutate_result
365
- {
366
- }
367
- end
368
-
369
- def endpoint_tls_termination_result
370
- {
371
- }
372
- end
373
-
374
- def endpoint_webhook_validation_result
375
- {
376
- }
377
- end
378
-
379
- def event_destination_result
380
- {
381
- "id" => "ed_1ro7YLHYTloEfaH6LDcX2A3z18Q",
382
- "metadata" => "",
383
- "created_at" => "2021-04-28T17:23:54Z",
384
- "description" => "",
385
- "format" => "json",
386
- "target" => {
387
- "firehose" => nil,
388
- "kinesis" => {
389
- "auth" => {
390
- "role" => nil,
391
- "creds" => {
392
- "aws_access_key_id" => "AKIAIOSFODNN7EXAMPLE",
393
- "aws_secret_access_key" => nil,
394
- },
395
- },
396
- "stream_arn" => "arn:ngrok-local:kinesis:us-east-2:123456789012:stream/mystream",
397
- },
398
- "cloudwatch_logs" => nil,
399
- },
400
- "uri" => "https://api.ngrok.com/event_destinations/ed_1ro7YLHYTloEfaH6LDcX2A3z18Q",
401
- }
402
- end
403
-
404
- def event_destination_result2
405
- {
406
- "id" => "ed_1ro7aZHBLfa4vYAeRpweVomDSJa",
407
- "metadata" => "{\"environment\" =>\"dev\"}",
408
- "created_at" => "2021-04-28T17:24:12Z",
409
- "description" => "kinesis dev stream",
410
- "format" => "json",
411
- "target" => {
412
- "firehose" => nil,
413
- "kinesis" => {
414
- "auth" => {
415
- "role" => {
416
- "role_arn" => "arn:aws:iam::123456789012:role/example",
417
- },
418
- "creds" => nil,
419
- },
420
- "stream_arn" => "arn:ngrok-local:kinesis:us-east-2:123456789012:stream/mystream2",
421
- },
422
- "cloudwatch_logs" => nil,
423
- },
424
- "uri" => "https://api.ngrok.com/event_destinations/ed_1ro7aZHBLfa4vYAeRpweVomDSJa",
425
- }
426
- end
427
-
428
- def event_destination_results
429
- {
430
- "event_destinations" => [
431
- event_destination_result,
432
- event_destination_result2,
433
- ],
434
- "uri" => "https://api.ngrok.com/event_destinations",
435
- "next_page_uri" => nil,
436
- }
437
- end
438
-
439
- def event_source_replace_result
440
- {
441
- }
442
- end
443
-
444
- def event_stream_result
445
- {
446
- "id" => "es_1ro7aBEJQkcfUBNX1r3IBSqjDU8",
447
- "uri" => "https://api.ngrok.com/event_streams/es_1ro7aBEJQkcfUBNX1r3IBSqjDU8",
448
- "created_at" => "2021-04-28T17:24:09Z",
449
- "metadata" => "{\"environment\" => \"staging\"}",
450
- "description" => "low sampling, basic HTTP logs",
451
- "fields" => [
452
- "http.request.method",
453
- "http.response.status_code",
454
- "conn.client_ip",
455
- ],
456
- "event_type" => "http_request_complete",
457
- "destination_ids" => [
458
- "ed_1ro7aG1J2tGT6neX0PHJLTuzQ9E",
459
- ],
460
- "sampling_rate" => 0.1,
461
- }
462
- end
463
-
464
- def event_stream_result2
465
- {
466
- "id" => "es_1ro7YJvY0atyuqOjbLMsZfe928o",
467
- "uri" => "https://api.ngrok.com/event_streams/es_1ro7YJvY0atyuqOjbLMsZfe928o",
468
- "created_at" => "2021-04-28T17:23:54Z",
469
- "metadata" => "",
470
- "description" => "",
471
- "fields" => [
472
- "http.request.method",
473
- "http.response.status_code",
474
- "conn.client_ip",
475
- ],
476
- "event_type" => "http_request_complete",
477
- "destination_ids" => [
478
- "ed_1ro7YLHYTloEfaH6LDcX2A3z18Q",
479
- ],
480
- "sampling_rate" => 0.1,
481
- }
482
- end
483
-
484
- def event_stream_results
485
- {
486
- "event_streams" => [
487
- event_stream_result,
488
- event_stream_result2,
489
- ],
490
- "uri" => "https://api.ngrok.com/event_streams",
491
- "next_page_uri" => nil,
492
- }
493
- end
494
-
495
- def event_source_result
496
- {
497
- }
498
- end
499
-
500
- def event_source_list_result
501
- {
502
- "sources" => [],
503
- "uri" => "https://api.ngrok.com/event_sources",
504
- }
505
- end
506
-
507
- def event_subscription_result
508
- {
509
- "id" => "esb_1ro7av77nFHjRVO7GwDxRE7TElG",
510
- "uri" => "https://api.ngrok.com/event_subscriptions/esb_1ro7av77nFHjRVO7GwDxRE7TElG",
511
- "created_at" => "2021-04-28T17:24:15Z",
512
- "metadata" => "{\"environment\" => \"staging\"}",
513
- "description" => "low sampling, basic HTTP logs",
514
- "sources" => [
515
- {
516
- "type" => "http_request_complete",
517
- "uri" => "https://api.ngrok.com/event_subscriptions/esb_1ro7av77nFHjRVO7GwDxRE7TElG/sources/http_request_complete",
518
- },
519
- ],
520
- "destinations" => [
521
- {
522
- "id" => "ed_1ro7aylyqQ1LLMWNWrOISvlfveQ",
523
- "uri" => "https://api.ngrok.com/event_destinations/ed_1ro7aylyqQ1LLMWNWrOISvlfveQ",
524
- },
525
- ],
526
- }
527
- end
528
-
529
- def event_subscription_results
530
- {
531
- "event_subscriptions" => [
532
- event_subscription_result,
533
- ],
534
- "uri" => "https://api.ngrok.com/event_subscriptions",
535
- "next_page_uri" => nil,
536
- }
537
- end
538
-
539
- def event_target_cloudwatch_logs_result
540
- {
541
- }
542
- end
543
-
544
- def event_target_firehose_result
545
- {
546
- }
547
- end
548
-
549
- def event_target_kinesis_result
550
- {
551
- }
552
- end
553
-
554
- def event_target_result
555
- {
556
- }
557
- end
558
-
559
- def ip_policy_result
560
- {
561
- "id" => "ipp_1vckSz67sd2iZNRX03t8i8wihdB",
562
- "uri" => "https://api.ngrok.com/ip_policies/ipp_1vckSz67sd2iZNRX03t8i8wihdB",
563
- "created_at" => "2021-07-21T11:59:27Z",
564
- "description" => "Developer Environments",
565
- "metadata" => "",
566
- "action" => "allow",
567
- }
568
- end
569
-
570
- def ip_policy_result2
571
- {
572
- "id" => "ipp_1vckSvgJ7tjaBIs4w8KZOYQjA7q",
573
- "uri" => "https://api.ngrok.com/ip_policies/ipp_1vckSvgJ7tjaBIs4w8KZOYQjA7q",
574
- "created_at" => "2021-07-21T11:59:27Z",
575
- "description" => "API Outbound Gateway",
576
- "metadata" => "",
577
- "action" => "allow",
578
- }
579
- end
580
-
581
- def ip_policy_results
582
- {
583
- "ip_policies" => [
584
- ip_policy_result,
585
- ip_policy_result2,
586
- ],
587
- "uri" => "https://api.ngrok.com/ip_policies",
588
- "next_page_uri" => nil,
589
- }
590
- end
591
-
592
- def ip_policy_rule_result
593
- {
594
- "id" => "ipr_1rV56jFvshOkyVBrKOLNOdd9Jq2",
595
- "uri" => "https://api.ngrok.com/ip_policy_rules/ipr_1rV56jFvshOkyVBrKOLNOdd9Jq2",
596
- "created_at" => "2021-04-21T23:37:22Z",
597
- "description" => "alan laptop",
598
- "metadata" => "",
599
- "cidr" => "2.2.2.2/32",
600
- "ip_policy" => {
601
- "id" => "ipp_1rV56VrAxesFteoj4XZxaaYyvXo",
602
- "uri" => "https://api.ngrok.com/ip_policies/ipp_1rV56VrAxesFteoj4XZxaaYyvXo",
603
- },
604
- }
605
- end
606
-
607
- def ip_policy_rule_result2
608
- {
609
- "id" => "ipr_1rV56fKu4NnoTEVfCPSRqE5zRsK",
610
- "uri" => "https://api.ngrok.com/ip_policy_rules/ipr_1rV56fKu4NnoTEVfCPSRqE5zRsK",
611
- "created_at" => "2021-04-21T23:37:22Z",
612
- "description" => "sf office",
613
- "metadata" => "",
614
- "cidr" => "132.2.19.0/24",
615
- "ip_policy" => {
616
- "id" => "ipp_1rV56VrAxesFteoj4XZxaaYyvXo",
617
- "uri" => "https://api.ngrok.com/ip_policies/ipp_1rV56VrAxesFteoj4XZxaaYyvXo",
618
- },
619
- }
620
- end
621
-
622
- def ip_policy_rule_results
623
- {
624
- "ip_policy_rules" => [
625
- ip_policy_rule_result,
626
- ip_policy_rule_result2,
627
- ],
628
- "uri" => "https://api.ngrok.com/ip_policy_rules",
629
- "next_page_uri" => nil,
630
- }
631
- end
632
-
633
- def ip_restriction_result
634
- {
635
- "id" => "ipx_1rV5CKgSrd3y2fosbXX5GoAhMeR",
636
- "uri" => "https://api.ngrok.com/ip_restrictions/ipx_1rV5CKgSrd3y2fosbXX5GoAhMeR",
637
- "created_at" => "2021-04-21T23:38:07Z",
638
- "description" => "",
639
- "metadata" => "",
640
- "enforced" => false,
641
- "type" => "dashboard",
642
- "ip_policies" => [
643
- {
644
- "id" => "ipp_1rV5CMI1Aw8MiqWtjlQCyDDEWnQ",
645
- "uri" => "https://api.ngrok.com/ip_policies/ipp_1rV5CMI1Aw8MiqWtjlQCyDDEWnQ",
646
- },
647
- ],
648
- }
649
- end
650
-
651
- def ip_restriction_results
652
- {
653
- "ip_restrictions" => [
654
- ip_restriction_result,
655
- ],
656
- "uri" => "https://api.ngrok.com/ip_restrictions",
657
- "next_page_uri" => nil,
658
- }
659
- end
660
-
661
- def ip_whitelist_entry_result
662
- {
663
- "id" => "wl_1rV55uK6IddK1eJWBcopcSqr9jr",
664
- "uri" => "https://api.ngrok.com/ip_whitelist/wl_1rV55uK6IddK1eJWBcopcSqr9jr",
665
- "created_at" => "2021-04-21T23:37:16Z",
666
- "description" => "outbound proxy servers",
667
- "metadata" => "",
668
- "ip_net" => "10.1.1.0/24",
669
- }
670
- end
671
-
672
- def ip_whitelist_entry_result2
673
- {
674
- "id" => "wl_1rV55s4NmZ81mUa5zqPetlpngC7",
675
- "uri" => "https://api.ngrok.com/ip_whitelist/wl_1rV55s4NmZ81mUa5zqPetlpngC7",
676
- "created_at" => "2021-04-21T23:37:16Z",
677
- "description" => "office wifi",
678
- "metadata" => "",
679
- "ip_net" => "78.3.12.121/32",
680
- }
681
- end
682
-
683
- def ip_whitelist_entry_results
684
- {
685
- "whitelist" => [
686
- ip_whitelist_entry_result,
687
- ip_whitelist_entry_result2,
688
- ],
689
- "uri" => "https://api.ngrok.com/ip_whitelist",
690
- "next_page_uri" => nil,
691
- }
692
- end
693
-
694
- def ref_result
695
- {
696
- }
697
- end
698
-
699
- def reserved_addr_result
700
- {
701
- "id" => "ra_1rV3SMgGd7NuIB89hzucFK8r8nZ",
702
- "uri" => "https://api.ngrok.com/reserved_addrs/ra_1rV3SMgGd7NuIB89hzucFK8r8nZ",
703
- "created_at" => "2021-04-21T23:36:49Z",
704
- "description" => "SSH for device #001",
705
- "metadata" => "",
706
- "addr" => "1.tcp.ngrok.io:20011",
707
- "region" => "us",
708
- "endpoint_configuration" => nil,
709
- }
710
- end
711
-
712
- def reserved_addr_results
713
- {
714
- "reserved_addrs" => [
715
- reserved_addr_result,
716
- ],
717
- "uri" => "https://api.ngrok.com/reserved_addrs",
718
- "next_page_uri" => nil,
719
- }
720
- end
721
-
722
- def reserved_domain_cert_policy_result
723
- {
724
- }
725
- end
726
-
727
- def reserved_domain_cert_status_result
728
- {
729
- }
730
- end
731
-
732
- def reserved_domain_result
733
- {
734
- "id" => "rd_1rV51TBbVHrjheFFdfasWnL6E1z",
735
- "uri" => "https://api.ngrok.com/reserved_domains/rd_1rV51TBbVHrjheFFdfasWnL6E1z",
736
- "created_at" => "2021-04-21T23:36:41Z",
737
- "description" => "Device 0001 Dashboard",
738
- "metadata" => "{\"service\" => \"dashboard\"}",
739
- "domain" => "manage-0001.app.example.com",
740
- "region" => "us",
741
- "cname_target" => "2y4vzpktb.cname.us.ngrok.io",
742
- "http_endpoint_configuration" => nil,
743
- "https_endpoint_configuration" => nil,
744
- "certificate" => nil,
745
- "certificate_management_policy" => nil,
746
- "certificate_management_status" => nil,
747
- }
748
- end
749
-
750
- def reserved_domain_result2
751
- {
752
- "id" => "rd_1rV51Qr590Jb8MgfiWIxshe0RWs",
753
- "uri" => "https://api.ngrok.com/reserved_domains/rd_1rV51Qr590Jb8MgfiWIxshe0RWs",
754
- "created_at" => "2021-04-21T23:36:40Z",
755
- "description" => "",
756
- "metadata" => "",
757
- "domain" => "myapp.mydomain.com",
758
- "region" => "us",
759
- "cname_target" => "29flmdbzs.cname.us.ngrok.io",
760
- "http_endpoint_configuration" => nil,
761
- "https_endpoint_configuration" => nil,
762
- "certificate" => {
763
- "id" => "cert_1rV51OQetZPK9V6vTWUVy3Onjir",
764
- "uri" => "https://api.ngrok.com/tls_certificates/cert_1rV51OQetZPK9V6vTWUVy3Onjir",
765
- },
766
- "certificate_management_policy" => nil,
767
- "certificate_management_status" => nil,
768
- }
769
- end
770
-
771
- def reserved_domain_results
772
- {
773
- "reserved_domains" => [
774
- reserved_domain_result,
775
- reserved_domain_result2,
776
- ],
777
- "uri" => "https://api.ngrok.com/reserved_domains",
778
- "next_page_uri" => nil,
779
- }
780
- end
781
-
782
- def reserved_domain_cert_job_result
783
- {
784
- }
785
- end
786
-
787
- def reserved_domain_cert_ns_target_result
788
- {
789
- }
790
- end
791
-
792
- def ssh_certificate_authority_result
793
- {
794
- "id" => "sshca_1rV5FT4Uy4JaYbMnSyKS3p0xE4f",
795
- "uri" => "https://api.ngrok.com/ssh_certificate_authorities/sshca_1rV5FT4Uy4JaYbMnSyKS3p0xE4f",
796
- "created_at" => "2021-04-21T23:38:32Z",
797
- "description" => "Staging Environment Hosts",
798
- "metadata" => "",
799
- "public_key" => "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICDx404hGFBUi7mFqNcd1TkrP4MVtf57kJVP3r0h3rSO",
800
- "key_type" => "ed25519",
801
- }
802
- end
803
-
804
- def ssh_certificate_authority_results
805
- {
806
- "ssh_certificate_authorities" => [
807
- ssh_certificate_authority_result,
808
- ],
809
- "uri" => "https://api.ngrok.com/ssh_certificate_authorities",
810
- "next_page_uri" => nil,
811
- }
812
- end
813
-
814
- def ssh_credential_result
815
- {
816
- "id" => "sshcr_1rV5504YUNgDKQ3WvFOeotnfgNm",
817
- "uri" => "https://api.ngrok.com/ssh_credentials/sshcr_1rV5504YUNgDKQ3WvFOeotnfgNm",
818
- "created_at" => "2021-04-21T23:37:09Z",
819
- "description" => "for device #132",
820
- "metadata" => "",
821
- "public_key" => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmGS49FkSODAcKhn3+/47DW2zEn19BZvzRQ8RZjL3v6hCIX2qXfsFK35EGxNI0wV23H4xXC2gVRPHKU71YnCb50tad3yMBTM6+2yfGsEDasEH/anmBLclChKvuGiT547RskZlpbAbdq3GvbzmY+R/2EBRMOiObpc8XmSzKAd05j28kqN0+rZO65SWId0MXdvJdSCSAnuRqBNd/aXKlu8hBPDcgwbT2lMkuR+ApoBS2FLRBOiQyt2Ol0T7Uuf7lTLlazpGB3uTw5zFYUNXkuuI6cAP8QYuY1Bne/hNrG8t3Aw9a1yc2C4Fz1hJ/4OMRxTQ8SUQf+Rmxs8DryMlMFJ8r device132@example.com",
822
- "acl" => [
823
- "bind:1.tcp.ngrok.io:20002",
824
- "bind:132.devices.company.com",
825
- ],
826
- }
827
- end
828
-
829
- def ssh_credential_results
830
- {
831
- "ssh_credentials" => [
832
- ssh_credential_result,
833
- ],
834
- "uri" => "https://api.ngrok.com/ssh_credentials",
835
- "next_page_uri" => nil,
836
- }
837
- end
838
-
839
- def ssh_host_certificate_result
840
- {
841
- "id" => "shcrt_1rV5GnCIHgKW4OyBIjKSqpbaf04",
842
- "uri" => "https://api.ngrok.com/ssh_host_certificates/shcrt_1rV5GnCIHgKW4OyBIjKSqpbaf04",
843
- "created_at" => "2021-04-21T23:38:42Z",
844
- "description" => "personal server",
845
- "metadata" => "",
846
- "public_key" => "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+Cgk= inconshreveable.com",
847
- "key_type" => "ecdsa",
848
- "ssh_certificate_authority_id" => "sshca_1rV5GiTaiBQg8AtJiyiVeNKzYiR",
849
- "principals" => [
850
- "inconshreveable.com",
851
- "10.2.42.9",
852
- ],
853
- "valid_after" => "2021-04-21T23:38:42Z",
854
- "valid_until" => "2021-07-20T23:38:42Z",
855
- "certificate" => "ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgl+i7u7P1mVEWv2Igcf76hXPS2/xnKniDnJZX53xfuTQAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+CgkAAAAAAAAAAAAAAAIAAAAhc2hjcnRfMXJWNUduQ0lIZ0tXNE95QklqS1NxcGJhZjA0AAAAJAAAABNpbmNvbnNocmV2ZWFibGUuY29tAAAACTEwLjIuNDIuOQAAAABggLeCAAAAAGD3XoIAAAAAAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIEpsciWkhlFN7VFWGMkSy1xFNwuZLVh7ZE/uo79NWH8LAAAAUwAAAAtzc2gtZWQyNTUxOQAAAECJHCycrdAf2WNjWGWolP+Y5TlIm5LX4TdRJFeSdUVp0amDg9ZYRltqXy61qGVc43G/unqz35ZzkwJPmVAi/ZQL shcrt_1rV5GnCIHgKW4OyBIjKSqpbaf04",
856
- }
857
- end
858
-
859
- def ssh_host_certificate_results
860
- {
861
- "ssh_host_certificates" => [
862
- ssh_host_certificate_result,
863
- ],
864
- "uri" => "https://api.ngrok.com/ssh_host_certificates",
865
- "next_page_uri" => nil,
866
- }
867
- end
868
-
869
- def ssh_user_certificate_result
870
- {
871
- "id" => "sucrt_1rV5G8jarzhIEEQTv1wXRE1KRU1",
872
- "uri" => "https://api.ngrok.com/ssh_user_certificates/sucrt_1rV5G8jarzhIEEQTv1wXRE1KRU1",
873
- "created_at" => "2021-04-21T23:38:37Z",
874
- "description" => "temporary access to staging machine",
875
- "metadata" => "",
876
- "public_key" => "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK58lFzmWlDimDtBz78wVT4oauA8PjY0CiXTCEIsBNC6UwOJvZ0jdSaYNhDaa7dRV84DfBb/gKzqlXC7cVMZjl0= alan@work-laptop",
877
- "key_type" => "ecdsa",
878
- "ssh_certificate_authority_id" => "sshca_1rV5G33U0TV5AFqiEfKcjOi8W4t",
879
- "principals" => [
880
- "ec2-user",
881
- "root",
882
- ],
883
- "critical_options" => {},
884
- "extensions" => {
885
- "permit-pty" => "",
886
- "permit-user-rc" => "",
887
- },
888
- "valid_after" => "2021-04-21T23:38:37Z",
889
- "valid_until" => "2021-07-20T23:38:37Z",
890
- "certificate" => "ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgMQgYZDmRzsM+dcF5rZZM5/xHEFNygLtRKq7Ycsjvk+0AAAAIbmlzdHAyNTYAAABBBK58lFzmWlDimDtBz78wVT4oauA8PjY0CiXTCEIsBNC6UwOJvZ0jdSaYNhDaa7dRV84DfBb/gKzqlXC7cVMZjl0AAAAAAAAAAAAAAAEAAAAhc3VjcnRfMXJWNUc4amFyemhJRUVRVHYxd1hSRTFLUlUxAAAAFAAAAAhlYzItdXNlcgAAAARyb290AAAAAGCAt30AAAAAYPdefQAAAAAAAAAoAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAICskbrMYess7OemvQlCikleCUq+2lkxesOd8ivjoWlNCAAAAUwAAAAtzc2gtZWQyNTUxOQAAAEA6yhx0v0tzSsQaCQez/qwL8QO+ZLLvKhfmcQ53I0bSYxSaf6G7n8uLThk4OVtq/QJdVaWNcfLrLY0ipITz1RAK sucrt_1rV5G8jarzhIEEQTv1wXRE1KRU1",
891
- }
892
- end
893
-
894
- def ssh_user_certificate_results
895
- {
896
- "ssh_user_certificates" => [
897
- ssh_user_certificate_result,
898
- ],
899
- "uri" => "https://api.ngrok.com/ssh_user_certificates",
900
- "next_page_uri" => nil,
901
- }
902
- end
903
-
904
- def tls_certificate_result
905
- {
906
- "id" => "cert_1rV51OQetZPK9V6vTWUVy3Onjir",
907
- "uri" => "https://api.ngrok.com/tls_certificates/cert_1rV51OQetZPK9V6vTWUVy3Onjir",
908
- "created_at" => "2021-04-21T23:36:40Z",
909
- "description" => "",
910
- "metadata" => "",
911
- "certificate_pem" => "-----BEGIN CERTIFICATE-----\nMIIDDTCCAfWgAwIBAgIUBUunDdA4gjgtEbZA8w9Ljhvl3bEwDQYJKoZIhvcNAQEL\nBQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjAwMzI0MTgxODE5WhcNMjAw\nNDIzMTgxODE5WjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAPKVkkKYNl3d9cqrz4tIFlwsohED5W4y1dcBixy4\nGANFFnw43nc2wPyKwYXumJqJIFrcW/NkUZL07bd+dou6mT6Gh/zbaTW91IkREPXL\n7b3KfVu4XkFosVXpWs0U6o4GrZ81CLiKBWI+H03x/ij5OSiJ1l71pqLeTJLOydAR\nAl8kpp7axeHU4UbDrAZkW5SnuZTjIKwVg0UNsBg1yNfUOu1Uah3BYaqPgQitC0Yg\nLW+NUGu/T91bkD7tLsVInkQXeQGdXBAqOycfJ7wj8OlIpyuXjTnGFA0izVmbQw5f\nrQnZ0geGyhLamvz9Gcd7mIlD/+/AEN9Lht82tAOzKG98/O8CAwEAAaNTMFEwHQYD\nVR0OBBYEFKv6RsvEC6T+zCtJZwB0FCR1sEkhMB8GA1UdIwQYMBaAFKv6RsvEC6T+\nzCtJZwB0FCR1sEkhMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB\nAC5fBrouinespo5+9AipjhY/HOKTg+OCnppFnSnqeU1eXZZJ0oakdHTpTNxtbQP9\ntOJTA2f3KWvmpNDMohEQXZz8wHDkdbrIXJKVp6zs1pEp+0BIjA4y9mSywa5xuyk0\noGeChRgGqp2JujDyPCb7LEaKKQEEdMqy73QG+jEAh14+wKixlAf1nATBdeCUvssK\n2x1uZMyqjJFB5y/5EdnWQzD4WJkrsCkxsZHVMN1d+dqf2sf3dTRV8fzsFGOG17NS\n6u2n9iGcFdBA82XN8yeLIWhy1t3GWutG1sdxENbFRRXea+iUqzDsmRtkaBma2GLQ\nd6JTpFbsCtwDjP23UEi7SZo=\n-----END CERTIFICATE-----\n",
912
- "subject_common_name" => "example.com",
913
- "subject_alternative_names" => {
914
- "dns_names" => [],
915
- "ips" => [],
916
- },
917
- "issued_at" => nil,
918
- "not_before" => "2020-03-24T18:18:19Z",
919
- "not_after" => "2020-04-23T18:18:19Z",
920
- "key_usages" => [],
921
- "extended_key_usages" => [],
922
- "private_key_type" => "rsa",
923
- "issuer_common_name" => "example.com",
924
- "serial_number" => "054ba70dd03882382d11b640f30f4b8e1be5ddb1",
925
- "subject_organization" => "",
926
- "subject_organizational_unit" => "",
927
- "subject_locality" => "",
928
- "subject_province" => "",
929
- "subject_country" => "",
930
- }
931
- end
932
-
933
- def tls_certificate_result2
934
- {
935
- "id" => "cert_1rV5D0Ur3PklEGZwRj9m6qCBlCc",
936
- "uri" => "https://api.ngrok.com/tls_certificates/cert_1rV5D0Ur3PklEGZwRj9m6qCBlCc",
937
- "created_at" => "2021-04-21T23:38:12Z",
938
- "description" => "",
939
- "metadata" => "",
940
- "certificate_pem" => "-----BEGIN CERTIFICATE-----\nMIIDDTCCAfWgAwIBAgIUBUunDdA4gjgtEbZA8w9Ljhvl3bEwDQYJKoZIhvcNAQEL\nBQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjAwMzI0MTgxODE5WhcNMjAw\nNDIzMTgxODE5WjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAPKVkkKYNl3d9cqrz4tIFlwsohED5W4y1dcBixy4\nGANFFnw43nc2wPyKwYXumJqJIFrcW/NkUZL07bd+dou6mT6Gh/zbaTW91IkREPXL\n7b3KfVu4XkFosVXpWs0U6o4GrZ81CLiKBWI+H03x/ij5OSiJ1l71pqLeTJLOydAR\nAl8kpp7axeHU4UbDrAZkW5SnuZTjIKwVg0UNsBg1yNfUOu1Uah3BYaqPgQitC0Yg\nLW+NUGu/T91bkD7tLsVInkQXeQGdXBAqOycfJ7wj8OlIpyuXjTnGFA0izVmbQw5f\nrQnZ0geGyhLamvz9Gcd7mIlD/+/AEN9Lht82tAOzKG98/O8CAwEAAaNTMFEwHQYD\nVR0OBBYEFKv6RsvEC6T+zCtJZwB0FCR1sEkhMB8GA1UdIwQYMBaAFKv6RsvEC6T+\nzCtJZwB0FCR1sEkhMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB\nAC5fBrouinespo5+9AipjhY/HOKTg+OCnppFnSnqeU1eXZZJ0oakdHTpTNxtbQP9\ntOJTA2f3KWvmpNDMohEQXZz8wHDkdbrIXJKVp6zs1pEp+0BIjA4y9mSywa5xuyk0\noGeChRgGqp2JujDyPCb7LEaKKQEEdMqy73QG+jEAh14+wKixlAf1nATBdeCUvssK\n2x1uZMyqjJFB5y/5EdnWQzD4WJkrsCkxsZHVMN1d+dqf2sf3dTRV8fzsFGOG17NS\n6u2n9iGcFdBA82XN8yeLIWhy1t3GWutG1sdxENbFRRXea+iUqzDsmRtkaBma2GLQ\nd6JTpFbsCtwDjP23UEi7SZo=\n-----END CERTIFICATE-----\n",
941
- "subject_common_name" => "example.com",
942
- "subject_alternative_names" => {
943
- "dns_names" => [],
944
- "ips" => [],
945
- },
946
- "issued_at" => nil,
947
- "not_before" => "2020-03-24T18:18:19Z",
948
- "not_after" => "2020-04-23T18:18:19Z",
949
- "key_usages" => [],
950
- "extended_key_usages" => [],
951
- "private_key_type" => "rsa",
952
- "issuer_common_name" => "example.com",
953
- "serial_number" => "054ba70dd03882382d11b640f30f4b8e1be5ddb1",
954
- "subject_organization" => "",
955
- "subject_organizational_unit" => "",
956
- "subject_locality" => "",
957
- "subject_province" => "",
958
- "subject_country" => "",
959
- }
960
- end
961
-
962
- def tls_certificate_results
963
- {
964
- "tls_certificates" => [
965
- tls_certificate_result,
966
- tls_certificate_result2,
967
- ],
968
- "uri" => "https://api.ngrok.com/tls_certificates",
969
- "next_page_uri" => nil,
970
- }
971
- end
972
-
973
- def tls_certificate_sa_ns_result
974
- {
975
- }
976
- end
977
-
978
- def tunnel_result
979
- {
980
- "id" => "tn_1rV53vIXMKFIfPxXVWbW2sf4OLW",
981
- "public_url" => "http://57ae41e8cfac.ngrok.io",
982
- "started_at" => "2021-04-21T23:37:00Z",
983
- "metadata" => "",
984
- "proto" => "http",
985
- "region" => "us",
986
- "tunnel_session" => {
987
- "id" => "ts_1rV53yu42s8Hb17NxYNmXLDy8zR",
988
- "uri" => "https://api.ngrok.com/tunnel_sessions/ts_1rV53yu42s8Hb17NxYNmXLDy8zR",
989
- },
990
- }
991
- end
992
-
993
- def tunnel_result2
994
- {
995
- "id" => "tn_1rV53wi3OtUfY1RbkH2vNsTmLcO",
996
- "public_url" => "https://57ae41e8cfac.ngrok.io",
997
- "started_at" => "2021-04-21T23:37:00Z",
998
- "metadata" => "",
999
- "proto" => "https",
1000
- "region" => "us",
1001
- "tunnel_session" => {
1002
- "id" => "ts_1rV53yu42s8Hb17NxYNmXLDy8zR",
1003
- "uri" => "https://api.ngrok.com/tunnel_sessions/ts_1rV53yu42s8Hb17NxYNmXLDy8zR",
1004
- },
1005
- }
1006
- end
1007
-
1008
- def tunnel_results
1009
- {
1010
- "tunnels" => [
1011
- tunnel_result,
1012
- tunnel_result2,
1013
- ],
1014
- "uri" => "https://api.ngrok.com/tunnels",
1015
- "next_page_uri" => nil,
1016
- }
1017
- end
1018
-
1019
- def tunnel_session_result
1020
- {
1021
- "agent_version" => "",
1022
- "credential" => {
1023
- "id" => "cr_1rV54BnShBhgmZvLtZKAOJhI7jR",
1024
- "uri" => "https://api.ngrok.com/credentials/cr_1rV54BnShBhgmZvLtZKAOJhI7jR",
1025
- },
1026
- "id" => "ts_1rV549gK2e0WnE8Wvk3ab32e98U",
1027
- "ip" => "10.42.0.63",
1028
- "metadata" => "",
1029
- "os" => "linux",
1030
- "region" => "us",
1031
- "started_at" => "2021-04-21T23:37:02Z",
1032
- "transport" => "ngrok/2",
1033
- "uri" => "https://api.ngrok.com/tunnel_sessions/ts_1rV549gK2e0WnE8Wvk3ab32e98U",
1034
- }
1035
- end
1036
-
1037
- def tunnel_session_results
1038
- {
1039
- "tunnel_sessions" => [
1040
- tunnel_session_result,
1041
- ],
1042
- "uri" => "https://api.ngrok.com/tunnel_sessions",
1043
- "next_page_uri" => nil,
1044
- }
1045
- end
1
+ # frozen_string_literal: true
2
+
3
+ require "simplecov"
4
+ SimpleCov.start
5
+ require 'pry'
6
+
7
+ require 'webmock/rspec'
8
+ require './lib/ngrokapi'
9
+
10
+ Dir[File.expand_path(File.join(File.dirname(__FILE__), 'support', '**', '*.rb'))].each do |f|
11
+ require f
12
+ end
13
+
14
+ RSpec.configure do |config|
15
+ config.expect_with :rspec do |expectations|
16
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
17
+ end
18
+
19
+ config.mock_with :rspec do |mocks|
20
+ mocks.verify_partial_doubles = false
21
+ end
22
+
23
+ config.run_all_when_everything_filtered = true
24
+
25
+ config.disable_monkey_patching!
26
+
27
+ config.warnings = true
28
+
29
+ config.default_formatter = 'doc' if config.files_to_run.one?
30
+
31
+ config.profile_examples = 10
32
+
33
+ config.order = :random
34
+
35
+ Kernel.srand config.seed
36
+ end
37
+
38
+ RSpec::Matchers.define :use_ssl do
39
+ match(&:use_ssl?)
40
+ end
41
+
42
+ RSpec::Matchers.define :use_cert_store do |cert_store|
43
+ match do |connection|
44
+ connection.cert_store == cert_store
45
+ end
46
+ end
47
+
48
+ # Custom objects
49
+ # NOTE: we should programmatically create these at some point in the future.
50
+ def abuse_report_hostname_result
51
+ {
52
+ }
53
+ end
54
+
55
+ def abuse_report_result
56
+ {
57
+ }
58
+ end
59
+
60
+ def agent_ingress_result
61
+ {
62
+ "id" => "agin_1zlnrHlibHAywyAvG5wk0rx5olk",
63
+ "uri" => "https=>//api.ngrok.com/agent_ingresses/agin_1zlnrHlibHAywyAvG5wk0rx5olk",
64
+ "description" => "acme devices",
65
+ "metadata" => "",
66
+ "domain" => "connect.acme.com",
67
+ "ns_targets" => [
68
+ "0.agin_1zlnrHlibHAywyAvG5wk0rx5olk.ns.ngrok.com",
69
+ "1.agin_1zlnrHlibHAywyAvG5wk0rx5olk.ns.ngrok.com",
70
+ "2.agin_1zlnrHlibHAywyAvG5wk0rx5olk.ns.ngrok.com",
71
+ "3.agin_1zlnrHlibHAywyAvG5wk0rx5olk.ns.ngrok.com",
72
+ ],
73
+ "region_domains" => [
74
+ "tunnel.us.connect.acme.com",
75
+ ],
76
+ "created_at" => "2021-10-20T12=>08=>58Z",
77
+ }
78
+ end
79
+
80
+ def agent_ingress_result2
81
+ {
82
+ "id" => "agin_1zlnrHlibHAywyAvG5wk0rx5olk",
83
+ "uri" => "https=>//api.ngrok.com/agent_ingresses/agin_1zlnrHlibHAywyAvG5wk0rx5olk",
84
+ "description" => "ACME Co. Device Ingress",
85
+ "metadata" => "{\"device_sku\"=> \"824JS4RZ1F8X\"}",
86
+ "domain" => "connect.acme.com",
87
+ "ns_targets" => [
88
+ "0.agin_1zlnrHlibHAywyAvG5wk0rx5olk.ns.ngrok.com",
89
+ "1.agin_1zlnrHlibHAywyAvG5wk0rx5olk.ns.ngrok.com",
90
+ "2.agin_1zlnrHlibHAywyAvG5wk0rx5olk.ns.ngrok.com",
91
+ "3.agin_1zlnrHlibHAywyAvG5wk0rx5olk.ns.ngrok.com",
92
+ ],
93
+ "region_domains" => [
94
+ "tunnel.us.connect.acme.com",
95
+ ],
96
+ "created_at" => "2021-10-20T12=>08=>58Z",
97
+ }
98
+ end
99
+
100
+ def agent_ingress_results
101
+ {
102
+ "ingresses" => [
103
+ agent_ingress_result,
104
+ agent_ingress_result2,
105
+ ],
106
+ "uri" => "https://api.ngrok.com/agent_ingresses",
107
+ "next_page_uri" => nil,
108
+ }
109
+ end
110
+
111
+ def api_key_result
112
+ {
113
+ "id" => "ak_1xrq8h890dWRYiRdIHeZYCdlyT7",
114
+ "uri" => "https://api.ngrok.com/api_keys/ak_1xrq8h890dWRYiRdIHeZYCdlyT7",
115
+ "description" => "",
116
+ "metadata" => "",
117
+ "created_at" => "2021-09-08T17:49:56Z",
118
+ "token" => nil,
119
+ }
120
+ end
121
+
122
+ def api_key_result2
123
+ {
124
+ "id" => "ak_1xrqAsg8fMHBgD71MSbtr6a0pA2",
125
+ "uri" => "https://api.ngrok.com/api_keys/ak_1xrqAsg8fMHBgD71MSbtr6a0pA2",
126
+ "description" => "",
127
+ "metadata" => "",
128
+ "created_at" => "2021-09-08T17:50:14Z",
129
+ "token" => nil,
130
+ }
131
+ end
132
+
133
+ def api_key_results
134
+ {
135
+ "keys" => [
136
+ api_key_result,
137
+ api_key_result2,
138
+ ],
139
+ "uri" => "https://api.ngrok.com/api_keys",
140
+ "next_page_uri" => nil,
141
+ }
142
+ end
143
+
144
+ def aws_auth_result
145
+ {
146
+ }
147
+ end
148
+
149
+ def aws_credentials_result
150
+ {
151
+ }
152
+ end
153
+
154
+ def aws_role_result
155
+ {
156
+ }
157
+ end
158
+
159
+ def certificate_authority_result
160
+ {
161
+ "id" => "ca_1rV5DZka5Q6SaX2NwY1rKVOVgA1",
162
+ "uri" => "https://api.ngrok.com/certificate_authorities/ca_1rV5DZka5Q6SaX2NwY1rKVOVgA1",
163
+ "created_at" => "2021-04-21T23:38:17Z",
164
+ "description" => "Device Connectivity Authority",
165
+ "metadata" => "",
166
+ "ca_pem" => "-----BEGIN CERTIFICATE-----\nMIIEAzCCAuugAwIBAgIUGN+Gv4BdJ17VoVXWrz9j51jcfYowDQYJKoZIhvcNAQEL\nBQAwgZAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQH\nDA1TYW4gRnJhbmNpc2NvMRMwEQYDVQQKDApBQ01FLCBJbmMuMR4wHAYDVQQDDBVB\nQ01FIERldmljZSBBdXRob3JpdHkxHzAdBgkqhkiG9w0BCQEWEG9wc0BhY21lLmV4\nYW1wbGUwHhcNMjAwNTAxMTYyNTA5WhcNMjEwNTAxMTYyNTA5WjCBkDELMAkGA1UE\nBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lz\nY28xEzARBgNVBAoMCkFDTUUsIEluYy4xHjAcBgNVBAMMFUFDTUUgRGV2aWNlIEF1\ndGhvcml0eTEfMB0GCSqGSIb3DQEJARYQb3BzQGFjbWUuZXhhbXBsZTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO8vxADdMmZANJ0aTAX6Jp50vCjFh2/d\nJLxn4ZAg0fFgkM+Zl+3gxGA7YUUKxIKet6rSeyKAjOX9AFA+idpv5mXnD+0nwPDr\nkwGe1MkYsaWYdMyUEoI9uEodS0LmHItAzV63ovkdagb3fqZqWcJCsoDa22WHt6GN\nT2d4xGD0gEMyDmwxey4XYSy63H1mvQRzhjC5wCzTGOefG76Io0whJka0mr3b6wEv\nSw0YqRF0/BEDlmWU/VWz7YEgWpb0rXaLqQKbZjyFo137X1otZK8vj9MVRWRvYmcF\nHgE+n0ifoCQ/DNVF1mkG6HGK3LREj9LGRBTN683Vqq2W+93B9yuTgr8CAwEAAaNT\nMFEwHQYDVR0OBBYEFLGXXIYFIpkRy4j0VsOdfgxgZpXzMB8GA1UdIwQYMBaAFLGX\nXIYFIpkRy4j0VsOdfgxgZpXzMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL\nBQADggEBAFyO7ZWj9w6xzoBWu/XbIVwsQ3kE5k+wrRGyp2rh2v4msAEveCIZP5kT\nCSdr2vr+9HQYiKf1ftsp9tGTLXwrhz3ztC8jIqo4A0grw5B61J0lj+2grKNq1/CK\nxQcpkbnetzo4zsDqFRoN2VK40Ovo4b/IknFa38t06b4t8cYQIqUdkFHMSSIz3Mvx\nRIK6MZlilT8zkWhi9kfCJe/s3cVEAJixNkgO4XNo5VhhxFenyvAL2vDM27dWVtDG\nqL3MFZbcy0/74AJsJDSrflGUQxjrK3WI9PkpKp/xey54XJAbhF63z1VwkJwSwufv\nW9HgidfMN9icgxkScyWpB9KrZHcsLk4=\n-----END CERTIFICATE-----\n",
167
+ "subject_common_name" => "ACME Device Authority",
168
+ "not_before" => "2020-05-01T16:25:09Z",
169
+ "not_after" => "2021-05-01T16:25:09Z",
170
+ "key_usages" => [],
171
+ "extended_key_usages" => [],
172
+ }
173
+ end
174
+
175
+ def certificate_authority_result2
176
+ {
177
+ "id" => "ca_1rV5Dca4ELSBvqQv2YmoQp4s220",
178
+ "uri" => "https://api.ngrok.com/certificate_authorities/ca_1rV5Dca4ELSBvqQv2YmoQp4s220",
179
+ "created_at" => "2021-04-21T23:38:17Z",
180
+ "description" => "Internal Coprorates Services Authority",
181
+ "metadata" => "{\"internal_id\" => \"7d2caeee-cdc3-4b26-b2c2-b280b8287552\"}",
182
+ "ca_pem" => "-----BEGIN CERTIFICATE-----\nMIIEETCCAvmgAwIBAgIUU3N6lNzPqar4400cLQMcVHFl+mEwDQYJKoZIhvcNAQEL\nBQAwgZcxCzAJBgNVBAYTAkFVMQwwCgYDVQQIDANOU1cxDzANBgNVBAcMBlN5ZG5l\neTEZMBcGA1UECgwQRHJvcGJlYXIgUHR5IEx0ZDEkMCIGA1UEAwwbSW50cmFuZXQg\nU2VydmljZXMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlzZWN1cml0eUBkcm9w\nYmVhci5leGFtcGxlMB4XDTIwMDUwMTE2Mjc1OVoXDTIxMDUwMTE2Mjc1OVowgZcx\nCzAJBgNVBAYTAkFVMQwwCgYDVQQIDANOU1cxDzANBgNVBAcMBlN5ZG5leTEZMBcG\nA1UECgwQRHJvcGJlYXIgUHR5IEx0ZDEkMCIGA1UEAwwbSW50cmFuZXQgU2Vydmlj\nZXMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlzZWN1cml0eUBkcm9wYmVhci5l\neGFtcGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7y/EAN0yZkA0\nnRpMBfomnnS8KMWHb90kvGfhkCDR8WCQz5mX7eDEYDthRQrEgp63qtJ7IoCM5f0A\nUD6J2m/mZecP7SfA8OuTAZ7UyRixpZh0zJQSgj24Sh1LQuYci0DNXrei+R1qBvd+\npmpZwkKygNrbZYe3oY1PZ3jEYPSAQzIObDF7LhdhLLrcfWa9BHOGMLnALNMY558b\nvoijTCEmRrSavdvrAS9LDRipEXT8EQOWZZT9VbPtgSBalvStdoupAptmPIWjXftf\nWi1kry+P0xVFZG9iZwUeAT6fSJ+gJD8M1UXWaQbocYrctESP0sZEFM3rzdWqrZb7\n3cH3K5OCvwIDAQABo1MwUTAdBgNVHQ4EFgQUsZdchgUimRHLiPRWw51+DGBmlfMw\nHwYDVR0jBBgwFoAUsZdchgUimRHLiPRWw51+DGBmlfMwDwYDVR0TAQH/BAUwAwEB\n/zANBgkqhkiG9w0BAQsFAAOCAQEANk25tt8sSfn6Qu1bbhWRbjKgS5z+j9LqyCna\nv3fbSchMthaQR7w0vL69ayroeYdqDZkRMmHjuYKY4NyqyXkkaqVO63wEicCo55d9\npIKuPzc/7xwdRephosjGTQ4QaQ4OnrdpJZieI92m9ODexgsab84AYmwNpbGOI/tK\nnPsQr8x1RfLs2gbBwQ4MYVM3tQQbX0o+yve5nz/NCOq4vdG+eKON5u6VYMkOOg9F\nVyNY1iISQkpNk/AF6Vi9BGuDb5Hg0phEl1Q0ntCO7ZHAUHjy0ucqXZiXoXdXZcs3\n3zKKLUKva59EDBZ5TUucvXh8VemBtNc6hd1mX4Tq7lAreG9pjQ==\n-----END CERTIFICATE-----\n",
183
+ "subject_common_name" => "Intranet Services Authority",
184
+ "not_before" => "2020-05-01T16:27:59Z",
185
+ "not_after" => "2021-05-01T16:27:59Z",
186
+ "key_usages" => [],
187
+ "extended_key_usages" => [],
188
+ }
189
+ end
190
+
191
+ def certificate_authority_results
192
+ {
193
+ "certificate_authorities" => [
194
+ certificate_authority_result,
195
+ certificate_authority_result2,
196
+ ],
197
+ "uri" => "https://api.ngrok.com/certificate_authorities",
198
+ "next_page_uri" => nil,
199
+ }
200
+ end
201
+
202
+ def credential_result
203
+ {
204
+ "id" => "cr_1rV53L5Cbhpz2SEyPaMuh3Fz4fN",
205
+ "uri" => "https://api.ngrok.com/credentials/cr_1rV53L5Cbhpz2SEyPaMuh3Fz4fN",
206
+ "created_at" => "2021-04-21T23:36:55Z",
207
+ "description" => "for device #132",
208
+ "metadata" => "",
209
+ "token" => nil,
210
+ "acl" => [
211
+ "bind:1.tcp.ngrok.io:20002",
212
+ "bind:132.devices.company.com",
213
+ ],
214
+ }
215
+ end
216
+
217
+ def credential_result2
218
+ {
219
+ "id" => "cr_1rV53HesDPMw48BJyEO9Zlgz9dd",
220
+ "uri" => "https://api.ngrok.com/credentials/cr_1rV53HesDPMw48BJyEO9Zlgz9dd",
221
+ "created_at" => "2021-04-21T23:36:55Z",
222
+ "description" => "development cred for alan@example.com",
223
+ "metadata" => "",
224
+ "token" => nil,
225
+ "acl" => [],
226
+ }
227
+ end
228
+
229
+ def credential_results
230
+ {
231
+ "credentials" => [
232
+ credential_result,
233
+ credential_result2,
234
+ ],
235
+ "uri" => "https //api.ngrok.com/credentials",
236
+ "next_page_uri" => nil,
237
+ }
238
+ end
239
+
240
+ def endpoint_result
241
+ {
242
+ "id" => "ep_123",
243
+ "region" => "us",
244
+ "created_at" => "2021-04-21T23:36:29Z",
245
+ "updated_at" => "2021-04-21T23:36:29Z",
246
+ "public_url" => "tls://1.tcp.ngrok.io:1234",
247
+ "proto" => "tcp",
248
+ "hostport" => "1.tcp.ngrok.io:1234",
249
+ "type" => "ephemeral",
250
+ "metadata" => "tunnel metadata",
251
+ "domain" => nil,
252
+ "tcp_addr" => { "id": "ra_1024", "uri": "foo" },
253
+ "tunnel" => { "id": "tun_1024", "uri": "foo" },
254
+ "edge" => nil,
255
+ }
256
+ end
257
+
258
+ def endpoint_result2
259
+ {
260
+ "id" => "ep_456",
261
+ "region" => "sa",
262
+ "created_at" => "2021-04-21T23:36:29Z",
263
+ "updated_at" => "2021-04-21T23:36:29Z",
264
+ "public_url" => "https://bugcat.ngrok.io",
265
+ "proto" => "https",
266
+ "hostport" => "bugcat.ngrok.io:443",
267
+ "type" => "persistent",
268
+ "metadata" => "edge metadata",
269
+ "domain" => { "id": "rd_2408", "uri": "quux" },
270
+ "tcp_addr" => nil,
271
+ "tunnel" => nil,
272
+ "edge" => { "id": "edghts_555", "uri": "bar" },
273
+ }
274
+ end
275
+
276
+ def endpoint_results
277
+ {
278
+ "endpoints" => [
279
+ endpoint_result,
280
+ endpoint_result2,
281
+ ],
282
+ "uri" => "https://api.ngrok.com/endpoints",
283
+ "next_page_uri" => nil,
284
+ }
285
+ end
286
+
287
+ def endpoint_compression_result
288
+ {
289
+ }
290
+ end
291
+
292
+ def endpoint_configuration_result
293
+ {
294
+ "id" => "ec_1rV504F3NJD5F9CSDUeWRkld2SB",
295
+ "type" => "https",
296
+ "description" => "app servers",
297
+ "metadata" => "",
298
+ "created_at" => "2021-04-21T23:36:29Z",
299
+ "uri" => "https://api.ngrok.com/endpoint_configurations/ec_1rV504F3NJD5F9CSDUeWRkld2SB",
300
+ "basic_auth" => nil,
301
+ "circuit_breaker" => nil,
302
+ "compression" => nil,
303
+ "request_headers" => {
304
+ "enabled" => true,
305
+ "add" => {
306
+ "x-frontend" => "ngrok",
307
+ },
308
+ "remove" => [
309
+ "cache-control",
310
+ ],
311
+ },
312
+ "response_headers" => nil,
313
+ "ip_policy" => nil,
314
+ "mutual_tls" => nil,
315
+ "tls_termination" => nil,
316
+ "webhook_validation" => nil,
317
+ "oauth" => nil,
318
+ "logging" => nil,
319
+ "saml" => nil,
320
+ "oidc" => nil,
321
+ "backend" => nil,
322
+ }
323
+ end
324
+
325
+ def endpoint_configuration_result2
326
+ {
327
+ "id" => "ec_1rV4zxf7pC5PFpXAcL2A9VLLeGF",
328
+ "type" => "https",
329
+ "description" => "web servers",
330
+ "metadata" => "",
331
+ "created_at" => "2021-04-21T23:36:29Z",
332
+ "uri" => "https://api.ngrok.com/endpoint_configurations/ec_1rV4zxf7pC5PFpXAcL2A9VLLeGF",
333
+ "basic_auth" => nil,
334
+ "circuit_breaker" => {
335
+ "enabled" => true,
336
+ "tripped_duration" => 0,
337
+ "rolling_window" => 0,
338
+ "num_buckets" => 0,
339
+ "volume_threshold" => 0,
340
+ "error_threshold_percentage" => 0.2,
341
+ },
342
+ "compression" => {
343
+ "enabled" => true,
344
+ },
345
+ "request_headers" => nil,
346
+ "response_headers" => {
347
+ "enabled" => true,
348
+ "add" => {
349
+ "content-security-policy" => "script-src 'self'",
350
+ "x-frame-options" => "DENY",
351
+ },
352
+ "remove" => [],
353
+ },
354
+ "ip_policy" => nil,
355
+ "mutual_tls" => nil,
356
+ "tls_termination" => nil,
357
+ "webhook_validation" => nil,
358
+ "oauth" => nil,
359
+ "logging" => nil,
360
+ "saml" => nil,
361
+ "oidc" => nil,
362
+ "backend" => nil,
363
+ }
364
+ end
365
+
366
+ def endpoint_configuration_results
367
+ {
368
+ "endpoint_configurations" => [
369
+ endpoint_configuration_result,
370
+ endpoint_configuration_result2,
371
+ ],
372
+ "uri" => "https://api.ngrok.com/endpoint_configurations",
373
+ "next_page_uri" => nil,
374
+ }
375
+ end
376
+
377
+ def endpoint_circuit_breaker_result
378
+ {
379
+ }
380
+ end
381
+
382
+ def endpoint_ip_policy_result
383
+ {
384
+ }
385
+ end
386
+
387
+ def endpoint_ip_policy_mutate_result
388
+ {
389
+ }
390
+ end
391
+
392
+ def endpoint_logging_result
393
+ {
394
+ }
395
+ end
396
+
397
+ def endpoint_logging_mutate_result
398
+ {
399
+ }
400
+ end
401
+
402
+ def endpoint_mutual_tls_result
403
+ {
404
+ }
405
+ end
406
+
407
+ def endpoint_mutual_tls_mutate_result
408
+ {
409
+ }
410
+ end
411
+
412
+ def endpoint_o_auth_facebook_result
413
+ {
414
+ }
415
+ end
416
+
417
+ def endpoint_o_auth_git_hub_result
418
+ {
419
+ }
420
+ end
421
+
422
+ def endpoint_o_auth_google_result
423
+ {
424
+ }
425
+ end
426
+
427
+ def endpoint_o_auth_microsoft_result
428
+ {
429
+ }
430
+ end
431
+
432
+ def endpoint_o_auth_provider_result
433
+ {
434
+ }
435
+ end
436
+
437
+ def endpoint_o_auth_result
438
+ {
439
+ }
440
+ end
441
+
442
+ def endpoint_oidc_result
443
+ {
444
+ }
445
+ end
446
+
447
+ def endpoint_request_headers_result
448
+ {
449
+ }
450
+ end
451
+
452
+ def endpoint_response_headers_result
453
+ {
454
+ }
455
+ end
456
+
457
+ def endpoint_saml_result
458
+ {
459
+ }
460
+ end
461
+
462
+ def endpoint_saml_mutate_result
463
+ {
464
+ }
465
+ end
466
+
467
+ def endpoint_tls_termination_result
468
+ {
469
+ }
470
+ end
471
+
472
+ def endpoint_webhook_validation_result
473
+ {
474
+ }
475
+ end
476
+
477
+ def event_destination_result
478
+ {
479
+ "id" => "ed_1ro7YLHYTloEfaH6LDcX2A3z18Q",
480
+ "metadata" => "",
481
+ "created_at" => "2021-04-28T17:23:54Z",
482
+ "description" => "",
483
+ "format" => "json",
484
+ "target" => {
485
+ "firehose" => nil,
486
+ "kinesis" => {
487
+ "auth" => {
488
+ "role" => nil,
489
+ "creds" => {
490
+ "aws_access_key_id" => "AKIAIOSFODNN7EXAMPLE",
491
+ "aws_secret_access_key" => nil,
492
+ },
493
+ },
494
+ "stream_arn" => "arn:ngrok-local:kinesis:us-east-2:123456789012:stream/mystream",
495
+ },
496
+ "cloudwatch_logs" => nil,
497
+ },
498
+ "uri" => "https://api.ngrok.com/event_destinations/ed_1ro7YLHYTloEfaH6LDcX2A3z18Q",
499
+ }
500
+ end
501
+
502
+ def event_destination_result2
503
+ {
504
+ "id" => "ed_1ro7aZHBLfa4vYAeRpweVomDSJa",
505
+ "metadata" => "{\"environment\" =>\"dev\"}",
506
+ "created_at" => "2021-04-28T17:24:12Z",
507
+ "description" => "kinesis dev stream",
508
+ "format" => "json",
509
+ "target" => {
510
+ "firehose" => nil,
511
+ "kinesis" => {
512
+ "auth" => {
513
+ "role" => {
514
+ "role_arn" => "arn:aws:iam::123456789012:role/example",
515
+ },
516
+ "creds" => nil,
517
+ },
518
+ "stream_arn" => "arn:ngrok-local:kinesis:us-east-2:123456789012:stream/mystream2",
519
+ },
520
+ "cloudwatch_logs" => nil,
521
+ },
522
+ "uri" => "https://api.ngrok.com/event_destinations/ed_1ro7aZHBLfa4vYAeRpweVomDSJa",
523
+ }
524
+ end
525
+
526
+ def event_destination_results
527
+ {
528
+ "event_destinations" => [
529
+ event_destination_result,
530
+ event_destination_result2,
531
+ ],
532
+ "uri" => "https://api.ngrok.com/event_destinations",
533
+ "next_page_uri" => nil,
534
+ }
535
+ end
536
+
537
+ def event_source_replace_result
538
+ {
539
+ }
540
+ end
541
+
542
+ def event_stream_result
543
+ {
544
+ "id" => "es_1ro7aBEJQkcfUBNX1r3IBSqjDU8",
545
+ "uri" => "https://api.ngrok.com/event_streams/es_1ro7aBEJQkcfUBNX1r3IBSqjDU8",
546
+ "created_at" => "2021-04-28T17:24:09Z",
547
+ "metadata" => "{\"environment\" => \"staging\"}",
548
+ "description" => "low sampling, basic HTTP logs",
549
+ "fields" => [
550
+ "http.request.method",
551
+ "http.response.status_code",
552
+ "conn.client_ip",
553
+ ],
554
+ "event_type" => "http_request_complete",
555
+ "destination_ids" => [
556
+ "ed_1ro7aG1J2tGT6neX0PHJLTuzQ9E",
557
+ ],
558
+ "sampling_rate" => 0.1,
559
+ }
560
+ end
561
+
562
+ def event_stream_result2
563
+ {
564
+ "id" => "es_1ro7YJvY0atyuqOjbLMsZfe928o",
565
+ "uri" => "https://api.ngrok.com/event_streams/es_1ro7YJvY0atyuqOjbLMsZfe928o",
566
+ "created_at" => "2021-04-28T17:23:54Z",
567
+ "metadata" => "",
568
+ "description" => "",
569
+ "fields" => [
570
+ "http.request.method",
571
+ "http.response.status_code",
572
+ "conn.client_ip",
573
+ ],
574
+ "event_type" => "http_request_complete",
575
+ "destination_ids" => [
576
+ "ed_1ro7YLHYTloEfaH6LDcX2A3z18Q",
577
+ ],
578
+ "sampling_rate" => 0.1,
579
+ }
580
+ end
581
+
582
+ def event_stream_results
583
+ {
584
+ "event_streams" => [
585
+ event_stream_result,
586
+ event_stream_result2,
587
+ ],
588
+ "uri" => "https://api.ngrok.com/event_streams",
589
+ "next_page_uri" => nil,
590
+ }
591
+ end
592
+
593
+ def event_source_result
594
+ {
595
+ }
596
+ end
597
+
598
+ def event_source_list_result
599
+ {
600
+ "sources" => [],
601
+ "uri" => "https://api.ngrok.com/event_sources",
602
+ }
603
+ end
604
+
605
+ def event_subscription_result
606
+ {
607
+ "id" => "esb_1ro7av77nFHjRVO7GwDxRE7TElG",
608
+ "uri" => "https://api.ngrok.com/event_subscriptions/esb_1ro7av77nFHjRVO7GwDxRE7TElG",
609
+ "created_at" => "2021-04-28T17:24:15Z",
610
+ "metadata" => "{\"environment\" => \"staging\"}",
611
+ "description" => "low sampling, basic HTTP logs",
612
+ "sources" => [
613
+ {
614
+ "type" => "http_request_complete",
615
+ "uri" => "https://api.ngrok.com/event_subscriptions/esb_1ro7av77nFHjRVO7GwDxRE7TElG/sources/http_request_complete",
616
+ },
617
+ ],
618
+ "destinations" => [
619
+ {
620
+ "id" => "ed_1ro7aylyqQ1LLMWNWrOISvlfveQ",
621
+ "uri" => "https://api.ngrok.com/event_destinations/ed_1ro7aylyqQ1LLMWNWrOISvlfveQ",
622
+ },
623
+ ],
624
+ }
625
+ end
626
+
627
+ def event_subscription_results
628
+ {
629
+ "event_subscriptions" => [
630
+ event_subscription_result,
631
+ ],
632
+ "uri" => "https://api.ngrok.com/event_subscriptions",
633
+ "next_page_uri" => nil,
634
+ }
635
+ end
636
+
637
+ def event_target_cloudwatch_logs_result
638
+ {
639
+ }
640
+ end
641
+
642
+ def event_target_firehose_result
643
+ {
644
+ }
645
+ end
646
+
647
+ def event_target_kinesis_result
648
+ {
649
+ }
650
+ end
651
+
652
+ def event_target_result
653
+ {
654
+ }
655
+ end
656
+
657
+ def ip_policy_result
658
+ {
659
+ "id" => "ipp_1vckSz67sd2iZNRX03t8i8wihdB",
660
+ "uri" => "https://api.ngrok.com/ip_policies/ipp_1vckSz67sd2iZNRX03t8i8wihdB",
661
+ "created_at" => "2021-07-21T11:59:27Z",
662
+ "description" => "Developer Environments",
663
+ "metadata" => "",
664
+ "action" => "allow",
665
+ }
666
+ end
667
+
668
+ def ip_policy_result2
669
+ {
670
+ "id" => "ipp_1vckSvgJ7tjaBIs4w8KZOYQjA7q",
671
+ "uri" => "https://api.ngrok.com/ip_policies/ipp_1vckSvgJ7tjaBIs4w8KZOYQjA7q",
672
+ "created_at" => "2021-07-21T11:59:27Z",
673
+ "description" => "API Outbound Gateway",
674
+ "metadata" => "",
675
+ "action" => "allow",
676
+ }
677
+ end
678
+
679
+ def ip_policy_results
680
+ {
681
+ "ip_policies" => [
682
+ ip_policy_result,
683
+ ip_policy_result2,
684
+ ],
685
+ "uri" => "https://api.ngrok.com/ip_policies",
686
+ "next_page_uri" => nil,
687
+ }
688
+ end
689
+
690
+ def ip_policy_rule_result
691
+ {
692
+ "id" => "ipr_1rV56jFvshOkyVBrKOLNOdd9Jq2",
693
+ "uri" => "https://api.ngrok.com/ip_policy_rules/ipr_1rV56jFvshOkyVBrKOLNOdd9Jq2",
694
+ "created_at" => "2021-04-21T23:37:22Z",
695
+ "description" => "alan laptop",
696
+ "metadata" => "",
697
+ "cidr" => "2.2.2.2/32",
698
+ "ip_policy" => {
699
+ "id" => "ipp_1rV56VrAxesFteoj4XZxaaYyvXo",
700
+ "uri" => "https://api.ngrok.com/ip_policies/ipp_1rV56VrAxesFteoj4XZxaaYyvXo",
701
+ },
702
+ }
703
+ end
704
+
705
+ def ip_policy_rule_result2
706
+ {
707
+ "id" => "ipr_1rV56fKu4NnoTEVfCPSRqE5zRsK",
708
+ "uri" => "https://api.ngrok.com/ip_policy_rules/ipr_1rV56fKu4NnoTEVfCPSRqE5zRsK",
709
+ "created_at" => "2021-04-21T23:37:22Z",
710
+ "description" => "sf office",
711
+ "metadata" => "",
712
+ "cidr" => "132.2.19.0/24",
713
+ "ip_policy" => {
714
+ "id" => "ipp_1rV56VrAxesFteoj4XZxaaYyvXo",
715
+ "uri" => "https://api.ngrok.com/ip_policies/ipp_1rV56VrAxesFteoj4XZxaaYyvXo",
716
+ },
717
+ }
718
+ end
719
+
720
+ def ip_policy_rule_results
721
+ {
722
+ "ip_policy_rules" => [
723
+ ip_policy_rule_result,
724
+ ip_policy_rule_result2,
725
+ ],
726
+ "uri" => "https://api.ngrok.com/ip_policy_rules",
727
+ "next_page_uri" => nil,
728
+ }
729
+ end
730
+
731
+ def ip_restriction_result
732
+ {
733
+ "id" => "ipx_1rV5CKgSrd3y2fosbXX5GoAhMeR",
734
+ "uri" => "https://api.ngrok.com/ip_restrictions/ipx_1rV5CKgSrd3y2fosbXX5GoAhMeR",
735
+ "created_at" => "2021-04-21T23:38:07Z",
736
+ "description" => "",
737
+ "metadata" => "",
738
+ "enforced" => false,
739
+ "type" => "dashboard",
740
+ "ip_policies" => [
741
+ {
742
+ "id" => "ipp_1rV5CMI1Aw8MiqWtjlQCyDDEWnQ",
743
+ "uri" => "https://api.ngrok.com/ip_policies/ipp_1rV5CMI1Aw8MiqWtjlQCyDDEWnQ",
744
+ },
745
+ ],
746
+ }
747
+ end
748
+
749
+ def ip_restriction_results
750
+ {
751
+ "ip_restrictions" => [
752
+ ip_restriction_result,
753
+ ],
754
+ "uri" => "https://api.ngrok.com/ip_restrictions",
755
+ "next_page_uri" => nil,
756
+ }
757
+ end
758
+
759
+ def ref_result
760
+ {
761
+ }
762
+ end
763
+
764
+ def reserved_addr_result
765
+ {
766
+ "id" => "ra_1rV3SMgGd7NuIB89hzucFK8r8nZ",
767
+ "uri" => "https://api.ngrok.com/reserved_addrs/ra_1rV3SMgGd7NuIB89hzucFK8r8nZ",
768
+ "created_at" => "2021-04-21T23:36:49Z",
769
+ "description" => "SSH for device #001",
770
+ "metadata" => "",
771
+ "addr" => "1.tcp.ngrok.io:20011",
772
+ "region" => "us",
773
+ "endpoint_configuration" => nil,
774
+ }
775
+ end
776
+
777
+ def reserved_addr_results
778
+ {
779
+ "reserved_addrs" => [
780
+ reserved_addr_result,
781
+ ],
782
+ "uri" => "https://api.ngrok.com/reserved_addrs",
783
+ "next_page_uri" => nil,
784
+ }
785
+ end
786
+
787
+ def reserved_domain_cert_policy_result
788
+ {
789
+ }
790
+ end
791
+
792
+ def reserved_domain_cert_status_result
793
+ {
794
+ }
795
+ end
796
+
797
+ def reserved_domain_result
798
+ {
799
+ "id" => "rd_1rV51TBbVHrjheFFdfasWnL6E1z",
800
+ "uri" => "https://api.ngrok.com/reserved_domains/rd_1rV51TBbVHrjheFFdfasWnL6E1z",
801
+ "created_at" => "2021-04-21T23:36:41Z",
802
+ "description" => "Device 0001 Dashboard",
803
+ "metadata" => "{\"service\" => \"dashboard\"}",
804
+ "domain" => "manage-0001.app.example.com",
805
+ "region" => "us",
806
+ "cname_target" => "2y4vzpktb.cname.us.ngrok.io",
807
+ "http_endpoint_configuration" => nil,
808
+ "https_endpoint_configuration" => nil,
809
+ "certificate" => nil,
810
+ "certificate_management_policy" => nil,
811
+ "certificate_management_status" => nil,
812
+ }
813
+ end
814
+
815
+ def reserved_domain_result2
816
+ {
817
+ "id" => "rd_1rV51Qr590Jb8MgfiWIxshe0RWs",
818
+ "uri" => "https://api.ngrok.com/reserved_domains/rd_1rV51Qr590Jb8MgfiWIxshe0RWs",
819
+ "created_at" => "2021-04-21T23:36:40Z",
820
+ "description" => "",
821
+ "metadata" => "",
822
+ "domain" => "myapp.mydomain.com",
823
+ "region" => "us",
824
+ "cname_target" => "29flmdbzs.cname.us.ngrok.io",
825
+ "http_endpoint_configuration" => nil,
826
+ "https_endpoint_configuration" => nil,
827
+ "certificate" => {
828
+ "id" => "cert_1rV51OQetZPK9V6vTWUVy3Onjir",
829
+ "uri" => "https://api.ngrok.com/tls_certificates/cert_1rV51OQetZPK9V6vTWUVy3Onjir",
830
+ },
831
+ "certificate_management_policy" => nil,
832
+ "certificate_management_status" => nil,
833
+ }
834
+ end
835
+
836
+ def reserved_domain_results
837
+ {
838
+ "reserved_domains" => [
839
+ reserved_domain_result,
840
+ reserved_domain_result2,
841
+ ],
842
+ "uri" => "https://api.ngrok.com/reserved_domains",
843
+ "next_page_uri" => nil,
844
+ }
845
+ end
846
+
847
+ def reserved_domain_cert_job_result
848
+ {
849
+ }
850
+ end
851
+
852
+ def reserved_domain_cert_ns_target_result
853
+ {
854
+ }
855
+ end
856
+
857
+ def ssh_certificate_authority_result
858
+ {
859
+ "id" => "sshca_1rV5FT4Uy4JaYbMnSyKS3p0xE4f",
860
+ "uri" => "https://api.ngrok.com/ssh_certificate_authorities/sshca_1rV5FT4Uy4JaYbMnSyKS3p0xE4f",
861
+ "created_at" => "2021-04-21T23:38:32Z",
862
+ "description" => "Staging Environment Hosts",
863
+ "metadata" => "",
864
+ "public_key" => "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICDx404hGFBUi7mFqNcd1TkrP4MVtf57kJVP3r0h3rSO",
865
+ "key_type" => "ed25519",
866
+ }
867
+ end
868
+
869
+ def ssh_certificate_authority_results
870
+ {
871
+ "ssh_certificate_authorities" => [
872
+ ssh_certificate_authority_result,
873
+ ],
874
+ "uri" => "https://api.ngrok.com/ssh_certificate_authorities",
875
+ "next_page_uri" => nil,
876
+ }
877
+ end
878
+
879
+ def ssh_credential_result
880
+ {
881
+ "id" => "sshcr_1rV5504YUNgDKQ3WvFOeotnfgNm",
882
+ "uri" => "https://api.ngrok.com/ssh_credentials/sshcr_1rV5504YUNgDKQ3WvFOeotnfgNm",
883
+ "created_at" => "2021-04-21T23:37:09Z",
884
+ "description" => "for device #132",
885
+ "metadata" => "",
886
+ "public_key" => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmGS49FkSODAcKhn3+/47DW2zEn19BZvzRQ8RZjL3v6hCIX2qXfsFK35EGxNI0wV23H4xXC2gVRPHKU71YnCb50tad3yMBTM6+2yfGsEDasEH/anmBLclChKvuGiT547RskZlpbAbdq3GvbzmY+R/2EBRMOiObpc8XmSzKAd05j28kqN0+rZO65SWId0MXdvJdSCSAnuRqBNd/aXKlu8hBPDcgwbT2lMkuR+ApoBS2FLRBOiQyt2Ol0T7Uuf7lTLlazpGB3uTw5zFYUNXkuuI6cAP8QYuY1Bne/hNrG8t3Aw9a1yc2C4Fz1hJ/4OMRxTQ8SUQf+Rmxs8DryMlMFJ8r device132@example.com",
887
+ "acl" => [
888
+ "bind:1.tcp.ngrok.io:20002",
889
+ "bind:132.devices.company.com",
890
+ ],
891
+ }
892
+ end
893
+
894
+ def ssh_credential_results
895
+ {
896
+ "ssh_credentials" => [
897
+ ssh_credential_result,
898
+ ],
899
+ "uri" => "https://api.ngrok.com/ssh_credentials",
900
+ "next_page_uri" => nil,
901
+ }
902
+ end
903
+
904
+ def ssh_host_certificate_result
905
+ {
906
+ "id" => "shcrt_1rV5GnCIHgKW4OyBIjKSqpbaf04",
907
+ "uri" => "https://api.ngrok.com/ssh_host_certificates/shcrt_1rV5GnCIHgKW4OyBIjKSqpbaf04",
908
+ "created_at" => "2021-04-21T23:38:42Z",
909
+ "description" => "personal server",
910
+ "metadata" => "",
911
+ "public_key" => "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+Cgk= inconshreveable.com",
912
+ "key_type" => "ecdsa",
913
+ "ssh_certificate_authority_id" => "sshca_1rV5GiTaiBQg8AtJiyiVeNKzYiR",
914
+ "principals" => [
915
+ "inconshreveable.com",
916
+ "10.2.42.9",
917
+ ],
918
+ "valid_after" => "2021-04-21T23:38:42Z",
919
+ "valid_until" => "2021-07-20T23:38:42Z",
920
+ "certificate" => "ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgl+i7u7P1mVEWv2Igcf76hXPS2/xnKniDnJZX53xfuTQAAAAIbmlzdHAyNTYAAABBBI3oSgxrOEJ+tIJ/n6VYtxQIFvynqlOHpfOAJ4x4OfmMYDkbf8dr6RAuUSf+ZC2HMCujta7EjZ9t+6v08Ue+CgkAAAAAAAAAAAAAAAIAAAAhc2hjcnRfMXJWNUduQ0lIZ0tXNE95QklqS1NxcGJhZjA0AAAAJAAAABNpbmNvbnNocmV2ZWFibGUuY29tAAAACTEwLjIuNDIuOQAAAABggLeCAAAAAGD3XoIAAAAAAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIEpsciWkhlFN7VFWGMkSy1xFNwuZLVh7ZE/uo79NWH8LAAAAUwAAAAtzc2gtZWQyNTUxOQAAAECJHCycrdAf2WNjWGWolP+Y5TlIm5LX4TdRJFeSdUVp0amDg9ZYRltqXy61qGVc43G/unqz35ZzkwJPmVAi/ZQL shcrt_1rV5GnCIHgKW4OyBIjKSqpbaf04",
921
+ }
922
+ end
923
+
924
+ def ssh_host_certificate_results
925
+ {
926
+ "ssh_host_certificates" => [
927
+ ssh_host_certificate_result,
928
+ ],
929
+ "uri" => "https://api.ngrok.com/ssh_host_certificates",
930
+ "next_page_uri" => nil,
931
+ }
932
+ end
933
+
934
+ def ssh_user_certificate_result
935
+ {
936
+ "id" => "sucrt_1rV5G8jarzhIEEQTv1wXRE1KRU1",
937
+ "uri" => "https://api.ngrok.com/ssh_user_certificates/sucrt_1rV5G8jarzhIEEQTv1wXRE1KRU1",
938
+ "created_at" => "2021-04-21T23:38:37Z",
939
+ "description" => "temporary access to staging machine",
940
+ "metadata" => "",
941
+ "public_key" => "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK58lFzmWlDimDtBz78wVT4oauA8PjY0CiXTCEIsBNC6UwOJvZ0jdSaYNhDaa7dRV84DfBb/gKzqlXC7cVMZjl0= alan@work-laptop",
942
+ "key_type" => "ecdsa",
943
+ "ssh_certificate_authority_id" => "sshca_1rV5G33U0TV5AFqiEfKcjOi8W4t",
944
+ "principals" => [
945
+ "ec2-user",
946
+ "root",
947
+ ],
948
+ "critical_options" => {},
949
+ "extensions" => {
950
+ "permit-pty" => "",
951
+ "permit-user-rc" => "",
952
+ },
953
+ "valid_after" => "2021-04-21T23:38:37Z",
954
+ "valid_until" => "2021-07-20T23:38:37Z",
955
+ "certificate" => "ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgMQgYZDmRzsM+dcF5rZZM5/xHEFNygLtRKq7Ycsjvk+0AAAAIbmlzdHAyNTYAAABBBK58lFzmWlDimDtBz78wVT4oauA8PjY0CiXTCEIsBNC6UwOJvZ0jdSaYNhDaa7dRV84DfBb/gKzqlXC7cVMZjl0AAAAAAAAAAAAAAAEAAAAhc3VjcnRfMXJWNUc4amFyemhJRUVRVHYxd1hSRTFLUlUxAAAAFAAAAAhlYzItdXNlcgAAAARyb290AAAAAGCAt30AAAAAYPdefQAAAAAAAAAoAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAICskbrMYess7OemvQlCikleCUq+2lkxesOd8ivjoWlNCAAAAUwAAAAtzc2gtZWQyNTUxOQAAAEA6yhx0v0tzSsQaCQez/qwL8QO+ZLLvKhfmcQ53I0bSYxSaf6G7n8uLThk4OVtq/QJdVaWNcfLrLY0ipITz1RAK sucrt_1rV5G8jarzhIEEQTv1wXRE1KRU1",
956
+ }
957
+ end
958
+
959
+ def ssh_user_certificate_results
960
+ {
961
+ "ssh_user_certificates" => [
962
+ ssh_user_certificate_result,
963
+ ],
964
+ "uri" => "https://api.ngrok.com/ssh_user_certificates",
965
+ "next_page_uri" => nil,
966
+ }
967
+ end
968
+
969
+ def tls_certificate_result
970
+ {
971
+ "id" => "cert_1rV51OQetZPK9V6vTWUVy3Onjir",
972
+ "uri" => "https://api.ngrok.com/tls_certificates/cert_1rV51OQetZPK9V6vTWUVy3Onjir",
973
+ "created_at" => "2021-04-21T23:36:40Z",
974
+ "description" => "",
975
+ "metadata" => "",
976
+ "certificate_pem" => "-----BEGIN CERTIFICATE-----\nMIIDDTCCAfWgAwIBAgIUBUunDdA4gjgtEbZA8w9Ljhvl3bEwDQYJKoZIhvcNAQEL\nBQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjAwMzI0MTgxODE5WhcNMjAw\nNDIzMTgxODE5WjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAPKVkkKYNl3d9cqrz4tIFlwsohED5W4y1dcBixy4\nGANFFnw43nc2wPyKwYXumJqJIFrcW/NkUZL07bd+dou6mT6Gh/zbaTW91IkREPXL\n7b3KfVu4XkFosVXpWs0U6o4GrZ81CLiKBWI+H03x/ij5OSiJ1l71pqLeTJLOydAR\nAl8kpp7axeHU4UbDrAZkW5SnuZTjIKwVg0UNsBg1yNfUOu1Uah3BYaqPgQitC0Yg\nLW+NUGu/T91bkD7tLsVInkQXeQGdXBAqOycfJ7wj8OlIpyuXjTnGFA0izVmbQw5f\nrQnZ0geGyhLamvz9Gcd7mIlD/+/AEN9Lht82tAOzKG98/O8CAwEAAaNTMFEwHQYD\nVR0OBBYEFKv6RsvEC6T+zCtJZwB0FCR1sEkhMB8GA1UdIwQYMBaAFKv6RsvEC6T+\nzCtJZwB0FCR1sEkhMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB\nAC5fBrouinespo5+9AipjhY/HOKTg+OCnppFnSnqeU1eXZZJ0oakdHTpTNxtbQP9\ntOJTA2f3KWvmpNDMohEQXZz8wHDkdbrIXJKVp6zs1pEp+0BIjA4y9mSywa5xuyk0\noGeChRgGqp2JujDyPCb7LEaKKQEEdMqy73QG+jEAh14+wKixlAf1nATBdeCUvssK\n2x1uZMyqjJFB5y/5EdnWQzD4WJkrsCkxsZHVMN1d+dqf2sf3dTRV8fzsFGOG17NS\n6u2n9iGcFdBA82XN8yeLIWhy1t3GWutG1sdxENbFRRXea+iUqzDsmRtkaBma2GLQ\nd6JTpFbsCtwDjP23UEi7SZo=\n-----END CERTIFICATE-----\n",
977
+ "subject_common_name" => "example.com",
978
+ "subject_alternative_names" => {
979
+ "dns_names" => [],
980
+ "ips" => [],
981
+ },
982
+ "issued_at" => nil,
983
+ "not_before" => "2020-03-24T18:18:19Z",
984
+ "not_after" => "2020-04-23T18:18:19Z",
985
+ "key_usages" => [],
986
+ "extended_key_usages" => [],
987
+ "private_key_type" => "rsa",
988
+ "issuer_common_name" => "example.com",
989
+ "serial_number" => "054ba70dd03882382d11b640f30f4b8e1be5ddb1",
990
+ "subject_organization" => "",
991
+ "subject_organizational_unit" => "",
992
+ "subject_locality" => "",
993
+ "subject_province" => "",
994
+ "subject_country" => "",
995
+ }
996
+ end
997
+
998
+ def tls_certificate_result2
999
+ {
1000
+ "id" => "cert_1rV5D0Ur3PklEGZwRj9m6qCBlCc",
1001
+ "uri" => "https://api.ngrok.com/tls_certificates/cert_1rV5D0Ur3PklEGZwRj9m6qCBlCc",
1002
+ "created_at" => "2021-04-21T23:38:12Z",
1003
+ "description" => "",
1004
+ "metadata" => "",
1005
+ "certificate_pem" => "-----BEGIN CERTIFICATE-----\nMIIDDTCCAfWgAwIBAgIUBUunDdA4gjgtEbZA8w9Ljhvl3bEwDQYJKoZIhvcNAQEL\nBQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjAwMzI0MTgxODE5WhcNMjAw\nNDIzMTgxODE5WjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAPKVkkKYNl3d9cqrz4tIFlwsohED5W4y1dcBixy4\nGANFFnw43nc2wPyKwYXumJqJIFrcW/NkUZL07bd+dou6mT6Gh/zbaTW91IkREPXL\n7b3KfVu4XkFosVXpWs0U6o4GrZ81CLiKBWI+H03x/ij5OSiJ1l71pqLeTJLOydAR\nAl8kpp7axeHU4UbDrAZkW5SnuZTjIKwVg0UNsBg1yNfUOu1Uah3BYaqPgQitC0Yg\nLW+NUGu/T91bkD7tLsVInkQXeQGdXBAqOycfJ7wj8OlIpyuXjTnGFA0izVmbQw5f\nrQnZ0geGyhLamvz9Gcd7mIlD/+/AEN9Lht82tAOzKG98/O8CAwEAAaNTMFEwHQYD\nVR0OBBYEFKv6RsvEC6T+zCtJZwB0FCR1sEkhMB8GA1UdIwQYMBaAFKv6RsvEC6T+\nzCtJZwB0FCR1sEkhMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB\nAC5fBrouinespo5+9AipjhY/HOKTg+OCnppFnSnqeU1eXZZJ0oakdHTpTNxtbQP9\ntOJTA2f3KWvmpNDMohEQXZz8wHDkdbrIXJKVp6zs1pEp+0BIjA4y9mSywa5xuyk0\noGeChRgGqp2JujDyPCb7LEaKKQEEdMqy73QG+jEAh14+wKixlAf1nATBdeCUvssK\n2x1uZMyqjJFB5y/5EdnWQzD4WJkrsCkxsZHVMN1d+dqf2sf3dTRV8fzsFGOG17NS\n6u2n9iGcFdBA82XN8yeLIWhy1t3GWutG1sdxENbFRRXea+iUqzDsmRtkaBma2GLQ\nd6JTpFbsCtwDjP23UEi7SZo=\n-----END CERTIFICATE-----\n",
1006
+ "subject_common_name" => "example.com",
1007
+ "subject_alternative_names" => {
1008
+ "dns_names" => [],
1009
+ "ips" => [],
1010
+ },
1011
+ "issued_at" => nil,
1012
+ "not_before" => "2020-03-24T18:18:19Z",
1013
+ "not_after" => "2020-04-23T18:18:19Z",
1014
+ "key_usages" => [],
1015
+ "extended_key_usages" => [],
1016
+ "private_key_type" => "rsa",
1017
+ "issuer_common_name" => "example.com",
1018
+ "serial_number" => "054ba70dd03882382d11b640f30f4b8e1be5ddb1",
1019
+ "subject_organization" => "",
1020
+ "subject_organizational_unit" => "",
1021
+ "subject_locality" => "",
1022
+ "subject_province" => "",
1023
+ "subject_country" => "",
1024
+ }
1025
+ end
1026
+
1027
+ def tls_certificate_results
1028
+ {
1029
+ "tls_certificates" => [
1030
+ tls_certificate_result,
1031
+ tls_certificate_result2,
1032
+ ],
1033
+ "uri" => "https://api.ngrok.com/tls_certificates",
1034
+ "next_page_uri" => nil,
1035
+ }
1036
+ end
1037
+
1038
+ def tls_certificate_sa_ns_result
1039
+ {
1040
+ }
1041
+ end
1042
+
1043
+ def tunnel_result
1044
+ {
1045
+ "id" => "tn_1rV53vIXMKFIfPxXVWbW2sf4OLW",
1046
+ "public_url" => "http://57ae41e8cfac.ngrok.io",
1047
+ "started_at" => "2021-04-21T23:37:00Z",
1048
+ "metadata" => "",
1049
+ "proto" => "http",
1050
+ "region" => "us",
1051
+ "tunnel_session" => {
1052
+ "id" => "ts_1rV53yu42s8Hb17NxYNmXLDy8zR",
1053
+ "uri" => "https://api.ngrok.com/tunnel_sessions/ts_1rV53yu42s8Hb17NxYNmXLDy8zR",
1054
+ },
1055
+ }
1056
+ end
1057
+
1058
+ def tunnel_result2
1059
+ {
1060
+ "id" => "tn_1rV53wi3OtUfY1RbkH2vNsTmLcO",
1061
+ "public_url" => "https://57ae41e8cfac.ngrok.io",
1062
+ "started_at" => "2021-04-21T23:37:00Z",
1063
+ "metadata" => "",
1064
+ "proto" => "https",
1065
+ "region" => "us",
1066
+ "tunnel_session" => {
1067
+ "id" => "ts_1rV53yu42s8Hb17NxYNmXLDy8zR",
1068
+ "uri" => "https://api.ngrok.com/tunnel_sessions/ts_1rV53yu42s8Hb17NxYNmXLDy8zR",
1069
+ },
1070
+ }
1071
+ end
1072
+
1073
+ def tunnel_results
1074
+ {
1075
+ "tunnels" => [
1076
+ tunnel_result,
1077
+ tunnel_result2,
1078
+ ],
1079
+ "uri" => "https://api.ngrok.com/tunnels",
1080
+ "next_page_uri" => nil,
1081
+ }
1082
+ end
1083
+
1084
+ def tunnel_session_result
1085
+ {
1086
+ "agent_version" => "",
1087
+ "credential" => {
1088
+ "id" => "cr_1rV54BnShBhgmZvLtZKAOJhI7jR",
1089
+ "uri" => "https://api.ngrok.com/credentials/cr_1rV54BnShBhgmZvLtZKAOJhI7jR",
1090
+ },
1091
+ "id" => "ts_1rV549gK2e0WnE8Wvk3ab32e98U",
1092
+ "ip" => "10.42.0.63",
1093
+ "metadata" => "",
1094
+ "os" => "linux",
1095
+ "region" => "us",
1096
+ "started_at" => "2021-04-21T23:37:02Z",
1097
+ "transport" => "ngrok/2",
1098
+ "uri" => "https://api.ngrok.com/tunnel_sessions/ts_1rV549gK2e0WnE8Wvk3ab32e98U",
1099
+ }
1100
+ end
1101
+
1102
+ def tunnel_session_results
1103
+ {
1104
+ "tunnel_sessions" => [
1105
+ tunnel_session_result,
1106
+ ],
1107
+ "uri" => "https://api.ngrok.com/tunnel_sessions",
1108
+ "next_page_uri" => nil,
1109
+ }
1110
+ end
1111
+
1112
+ def endpoint_backend_mutate_result
1113
+ {
1114
+ "enabled" => true,
1115
+ "backend_id" => "bkdhr_23ejDsgFClTHtGtzdbcNzkr2DvA",
1116
+ }
1117
+ end
1118
+
1119
+ def endpoint_backend_result
1120
+ {
1121
+ "enabled" => true,
1122
+ "backend" => {
1123
+ "id" => "bkdfo_23WYoC8ApDQQpNeaqhvzQD25RVx",
1124
+ "uri" => "https://api.ngrok.com/backends/failover/bkdfo_23WYoC8ApDQQpNeaqhvzQD25RVx",
1125
+ },
1126
+ }
1127
+ end
1128
+
1129
+ def endpoint_tls_termination_at_edge_result
1130
+ {
1131
+ "enabled" => true,
1132
+ "min_version" => nil,
1133
+ }
1134
+ end
1135
+
1136
+ def endpoint_websocket_tcp_converter_result
1137
+ {
1138
+ "enabled" => true,
1139
+ }
1140
+ end
1141
+
1142
+ def https_edge_result
1143
+ {
1144
+ "id" => "edghts_23WYoHa6cZpqNFOr7nuDEsaN9SG",
1145
+ "description" => "",
1146
+ "metadata" => "",
1147
+ "created_at" => "2021-10-20T12=>08=>58Z",
1148
+ "uri" => "https://api.ngrok.com/edges/https/edghts_23WYoHa6cZpqNFOr7nuDEsaN9SG",
1149
+ "hostports" => [
1150
+ "example.ngrok.io:443",
1151
+ ],
1152
+ "mutual_tls" => nil,
1153
+ "tls_termination" => nil,
1154
+ "routes" => nil,
1155
+ }
1156
+ end
1157
+
1158
+ def https_edge_result2
1159
+ {
1160
+ "id" => "edghts_23f9iVEEQPCXa54Ob3s0M9t8cq8",
1161
+ "description" => "",
1162
+ "metadata" => "",
1163
+ "created_at" => "2021-10-20T12=>08=>58Z",
1164
+ "uri" => "https://api.ngrok.com/edges/https/edghts_23f9iVEEQPCXa54Ob3s0M9t8cq8",
1165
+ "hostports" => [
1166
+ "example.ngrok.io:443",
1167
+ ],
1168
+ "mutual_tls" => nil,
1169
+ "tls_termination" => nil,
1170
+ "routes" => nil,
1171
+ }
1172
+ end
1173
+
1174
+ def https_edge_results
1175
+ {
1176
+ "https_edges" => [
1177
+ https_edge_result,
1178
+ https_edge_result2,
1179
+ ],
1180
+ "uri" => "https://api.ngrok.com/edges/https",
1181
+ "next_page_uri" => nil,
1182
+ }
1183
+ end
1184
+
1185
+ def https_edge_route_result
1186
+ {
1187
+ "id" => "edghtsrt_23WZ2wMQh9ZV0gPcToseRIIUJQo",
1188
+ "description" => "",
1189
+ "metadata" => "",
1190
+ "created_at" => "2021-10-20T12=>08=>58Z",
1191
+ "edge_id" => "edghts_23WYoHa6cZpqNFOr7nuDEsaN9SG",
1192
+ "match_type" => "path_prefix",
1193
+ "match" => "/",
1194
+ "uri" => "https://api.ngrok.com/edges/https/edghts_23WYoHa6cZpqNFOr7nuDEsaN9SG/routes/edghtsrt_23WZ2wMQh9ZV0gPcToseRIIUJQo",
1195
+ "backend" => nil,
1196
+ "ip_restriction" => nil,
1197
+ "circuit_breaker" => nil,
1198
+ "compression" => nil,
1199
+ "request_headers" => nil,
1200
+ "response_headers" => nil,
1201
+ "webhook_validation" => nil,
1202
+ "oauth" => nil,
1203
+ "saml" => nil,
1204
+ "oidc" => nil,
1205
+ "websocket_tcp_converter" => nil,
1206
+ }
1207
+ end
1208
+
1209
+ def tcp_edge_result
1210
+ {
1211
+ "id" => "edgtcp_23f9bWP6gWuwWVhhXXZJd87khPr",
1212
+ "description" => "",
1213
+ "metadata" => "",
1214
+ "created_at" => "2021-10-20T12=>08=>58Z",
1215
+ "uri" => "https://api.ngrok.com/edges/tcp/edgtcp_23f9bWP6gWuwWVhhXXZJd87khPr",
1216
+ "hostports" => [
1217
+ "1.tcp.ngrok.io:20033",
1218
+ ],
1219
+ "backend" => nil,
1220
+ "ip_restriction" => nil,
1221
+ }
1222
+ end
1223
+
1224
+ def tcp_edge_result2
1225
+ {
1226
+ "id" => "edgtcp_23fAbCNhQWBW7jaAEHIwNjN0psq",
1227
+ "description" => "",
1228
+ "metadata" => "",
1229
+ "created_at" => "2021-10-20T12=>08=>58Z",
1230
+ "uri" => "https://api.ngrok.com/edges/tcp/edgtcp_23fAbCNhQWBW7jaAEHIwNjN0psq",
1231
+ "hostports" => [
1232
+ "1.tcp.ngrok.io:20034",
1233
+ ],
1234
+ "backend" => nil,
1235
+ "ip_restriction" => nil,
1236
+ }
1237
+ end
1238
+
1239
+ def tcp_edge_results
1240
+ {
1241
+ "tcp_edges" => [
1242
+ tcp_edge_result,
1243
+ tcp_edge_result2,
1244
+ ],
1245
+ "uri" => "https://api.ngrok.com/edges/tcp",
1246
+ "next_page_uri" => nil,
1247
+ }
1248
+ end
1249
+
1250
+ def tls_edge_result
1251
+ {
1252
+ "id" => "edgtls_23fAtcj1nEUtNOvCHTmw2p7boPq",
1253
+ "description" => "",
1254
+ "metadata" => "",
1255
+ "created_at" => "2021-10-20T12=>08=>58Z",
1256
+ "uri" => "https://api.ngrok.com/edges/tls/edgtls_23fAtcj1nEUtNOvCHTmw2p7boPq",
1257
+ "hostports" => [
1258
+ "q3n1rmaj.ngrok.io:443",
1259
+ ],
1260
+ "backend" => nil,
1261
+ "ip_restriction" => nil,
1262
+ "mutual_tls" => nil,
1263
+ "tls_termination" => nil,
1264
+ }
1265
+ end
1266
+
1267
+ def tls_edge_result2
1268
+ {
1269
+ "id" => "edgtls_23fB67XVniqMYnmzMHJCGDjlNTh",
1270
+ "description" => "",
1271
+ "metadata" => "",
1272
+ "created_at" => "2021-10-20T12=>08=>58Z",
1273
+ "uri" => "https://api.ngrok.com/edges/tls/edgtls_23fB67XVniqMYnmzMHJCGDjlNTh",
1274
+ "hostports" => [
1275
+ "q3n1rmaj.ngrok.io:443",
1276
+ ],
1277
+ "backend" => nil,
1278
+ "ip_restriction" => nil,
1279
+ "mutual_tls" => nil,
1280
+ "tls_termination" => nil,
1281
+ }
1282
+ end
1283
+
1284
+ def tls_edge_results
1285
+ {
1286
+ "tls_edges" => [
1287
+ tls_edge_result,
1288
+ tls_edge_result2,
1289
+ ],
1290
+ "uri" => "https://api.ngrok.com/edges/tls",
1291
+ "next_page_uri" => nil,
1292
+ }
1293
+ end
1294
+
1295
+ def tunnel_group_backend_result
1296
+ {
1297
+ "id" => "bkdtg_23wBji94nFzDEouYAo3QHYWLmKH",
1298
+ "uri" => "https://api.ngrok.com/backends/tunnel_group/bkdtg_23wBji94nFzDEouYAo3QHYWLmKH",
1299
+ "created_at" => "2022-01-19T23:36:45Z",
1300
+ "description" => "acme tunnel group",
1301
+ "metadata" => "{\"environment\" => \"staging\"}",
1302
+ "labels" => {
1303
+ "baz" => "qux",
1304
+ "foo" => "bar",
1305
+ },
1306
+ }
1307
+ end
1308
+
1309
+ def tunnel_group_backend_results
1310
+ {
1311
+ "backends" => [
1312
+ tunnel_group_backend_result,
1313
+ ],
1314
+ "uri" => "https://api.ngrok.com/backends/tunnel_group",
1315
+ "next_page_uri" => nil,
1316
+ }
1317
+ end
1318
+
1319
+ def http_response_backend_result
1320
+ {
1321
+ "id" => "bkdhr_23wBjkemewVLpsBfzIsBkzgaE3A",
1322
+ "uri" => "https://api.ngrok.com/backends/http_response/bkdhr_23wBjkemewVLpsBfzIsBkzgaE3A",
1323
+ "created_at" => "2022-01-19T23:36:45Z",
1324
+ "description" => "acme http response",
1325
+ "metadata" => "{\"environment\" => \"staging\"}",
1326
+ "body" => "I'm a teapot",
1327
+ "headers" => {
1328
+ "content-type" => "text/plain",
1329
+ },
1330
+ "status_code" => 418,
1331
+ }
1332
+ end
1333
+
1334
+ def http_response_backend_results
1335
+ {
1336
+ "backends" => [
1337
+ http_response_backend_result,
1338
+ ],
1339
+ "uri" => "https://api.ngrok.com/backends/http_response",
1340
+ "next_page_uri" => nil,
1341
+ }
1342
+ end
1343
+
1344
+ def failover_backend_result
1345
+ {
1346
+ "id" => "bkdfo_23wBjiMhF0HaPfF98vQrdWmscai",
1347
+ "uri" => "https://api.ngrok.com/backends/failover/bkdfo_23wBjiMhF0HaPfF98vQrdWmscai",
1348
+ "created_at" => "2022-01-19T23:36:45Z",
1349
+ "description" => "acme failover",
1350
+ "metadata" => "{\"environment\" => \"staging\"}",
1351
+ "backends" => [
1352
+ "bkdhr_23wBjgJYO3hKSpkaIrDQ5HQE2jY",
1353
+ ],
1354
+ }
1355
+ end
1356
+
1357
+ def failover_backend_results
1358
+ {
1359
+ "backends" => [
1360
+ failover_backend_result,
1361
+ ],
1362
+ "uri" => "https://api.ngrok.com/backends/failover",
1363
+ "next_page_uri" => nil,
1364
+ }
1365
+ end
1366
+
1367
+ def weighted_backend_result
1368
+ {
1369
+ "id" => "bkdwd_23wBjgO2sn7WFHs8269Xrdv2yXw",
1370
+ "uri" => "https://api.ngrok.com/backends/weighted/bkdwd_23wBjgO2sn7WFHs8269Xrdv2yXw",
1371
+ "created_at" => "2022-01-19T23:36:45Z",
1372
+ "description" => "acme weighted",
1373
+ "metadata" => "{\"environment\" => \"staging\"}",
1374
+ "backends" => {
1375
+ "bkdhr_23wBjgkCq2PEYfrOjKBqQY3hy9B" => 0,
1376
+ "bkdhr_23wBjiPnTqyUosGG2pdP2VWXxlx" => 1,
1377
+ },
1378
+ }
1379
+ end
1380
+
1381
+ def weighted_backend_results
1382
+ {
1383
+ "backends" => [
1384
+ weighted_backend_result,
1385
+ ],
1386
+ "uri" => "https://api.ngrok.com/backends/weighted",
1387
+ "next_page_uri" => nil,
1388
+ }
1389
+ end