diff --git a/.yardopts b/.yardopts
new file mode 100644
index 0000000..0c2754b
--- /dev/null
+++ b/.yardopts
@@ -0,0 +1 @@
+--markup markdown --readme doc/README
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..c130837
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,7 @@
+Copyright 2021 ngrok, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/doc/.gitkeep b/doc/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/doc/NgrokAPI.html b/doc/NgrokAPI.html
index d1b1a63..2545e7d 100644
--- a/doc/NgrokAPI.html
+++ b/doc/NgrokAPI.html
@@ -79,7 +79,7 @@
An SSH Certificate Authority is a pair of an SSH Certificate and its private key that can be used to sign other SSH host and user certificates.
+
An SSH Certificate Authority is a pair of an SSH Certificate and its private key that can be used to sign other SSH host and user certificates.
@@ -545,7 +567,7 @@
-
SSH Credentials are SSH public keys that can be used to start SSH tunnels via the ngrok SSH tunnel gateway.
+
SSH Credentials are SSH public keys that can be used to start SSH tunnels via the ngrok SSH tunnel gateway.
@@ -569,7 +591,7 @@
-
SSH Host Certificates along with the corresponding private key allows an SSH server to assert its authenticity to connecting SSH clients who trust the SSH Certificate Authority that was used to sign the certificate.
+
SSH Host Certificates along with the corresponding private key allows an SSH server to assert its authenticity to connecting SSH clients who trust the SSH Certificate Authority that was used to sign the certificate.
@@ -593,7 +615,7 @@
-
SSH User Certificates are presented by SSH clients when connecting to an SSH server to authenticate their connection.
+
SSH User Certificates are presented by SSH clients when connecting to an SSH server to authenticate their connection.
@@ -617,7 +639,7 @@
-
TLS Certificates are pairs of x509 certificates and their matching private key that can be used to terminate TLS traffic.
+
TLS Certificates are pairs of x509 certificates and their matching private key that can be used to terminate TLS traffic.
@@ -641,7 +663,7 @@
-
Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel sessions that are running and connected to the ngrok service.
+
Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel sessions that are running and connected to the ngrok service.
@@ -665,7 +687,7 @@
-
Tunnels provide endpoints to access services exposed by a running ngrok agent tunnel session or an SSH reverse tunnel session.
+
Tunnels provide endpoints to access services exposed by a running ngrok agent tunnel session or an SSH reverse tunnel session.
@@ -703,15 +725,15 @@
-8
-9
10
11
12
-13
+13
+14
+15
-
# File 'lib/ngrokapi/client.rb', line 8
+
# File 'lib/ngrokapi/client.rb', line 10definitialize(api_key:,
@@ -743,10 +765,7 @@
-
Abuse Reports allow you to submit take-down requests for URLs hosted by
-
-
ngrok that violate ngrok's terms of service.
-
+
Abuse Reports allow you to submit take-down requests for URLs hosted by ngrok that violate ngrok's terms of service.
@@ -773,12 +792,12 @@
-20
-21
-22
+22
+23
+24
-
# File 'lib/ngrokapi/client.rb', line 20
+
# File 'lib/ngrokapi/client.rb', line 22defabuse_reports@_abuse_reports||=NgrokAPI::Services::AbuseReportsClient.new(client:@client)
@@ -800,13 +819,7 @@
API. You may use the API itself
-to provision and manage API Keys but you'll need to provision your first API
-key from the (https://dashboard.ngrok.com/api/keys)API Keys page on your
-ngrok.com dashboard.
-
+
API Keys are used to authenticate to the ngrok API. You may use the API itself to provision and manage API Keys but you'll need to provision your first API key from the API Keys page on your ngrok.com dashboard.
Certificate Authorities are x509 certificates that are used to sign other
-
-
x509 certificates. Attach a Certificate Authority to the Mutual TLS module
-to verify that the TLS certificate presented by a client has been signed by
-this CA. Certificate Authorities are used only for mTLS validation only and
-thus a private key is not included in the resource.
-
+
Certificate Authorities are x509 certificates that are used to sign other x509 certificates. Attach a Certificate Authority to the Mutual TLS module to verify that the TLS certificate presented by a client has been signed by this CA. Certificate Authorities are used only for mTLS validation only and thus a private key is not included in the resource.
@@ -893,12 +900,12 @@ thus a private key is not included in the resource.
-45
46
-47
+47
+48
-
# File 'lib/ngrokapi/client.rb', line 45
+
# File 'lib/ngrokapi/client.rb', line 46defcertificate_authorities@_certificate_authorities||=NgrokAPI::Services::CertificateAuthoritiesClient.new(client:@client)
@@ -920,12 +927,7 @@ thus a private key is not included in the resource.
-
Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok
-
-
agent to connect the ngrok service as your account. They are installed with
-the ngrok authtoken command or by specifying it in the ngrok.yml
-configuration file with the authtoken property.
-
+
Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok agent to connect the ngrok service as your account. They are installed with the ngrok authtoken command or by specifying it in the ngrok.yml configuration file with the authtoken property.
@@ -952,12 +954,12 @@ configuration file with the authtoken property.
-56
57
-58
+58
+59
-
# File 'lib/ngrokapi/client.rb', line 56
+
# File 'lib/ngrokapi/client.rb', line 57defcredentials@_credentials||=NgrokAPI::Services::CredentialsClient.new(client:@client)
@@ -979,11 +981,7 @@ configuration file with the authtoken property.
-
Endpoint Configurations are a reusable group of modules that encapsulate how
-
-
traffic to a domain or address is handled. Endpoint configurations are only
-applied to Domains and TCP Addresses they have been attached to.
-
+
Endpoint Configurations are a reusable group of modules that encapsulate how traffic to a domain or address is handled. Endpoint configurations are only applied to Domains and TCP Addresses they have been attached to.
@@ -1010,12 +1008,12 @@ applied to Domains and TCP Addresses they have been attached to.
-66
67
-68
+68
+69
-
# File 'lib/ngrokapi/client.rb', line 66
+
# File 'lib/ngrokapi/client.rb', line 67defendpoint_configurations@_endpoint_configurations||=NgrokAPI::Services::EndpointConfigurationsClient.new(client:@client)
@@ -1040,12 +1038,12 @@ applied to Domains and TCP Addresses they have been attached to.
-74
75
-76
+76
+77
-
# File 'lib/ngrokapi/client.rb', line 74
+
# File 'lib/ngrokapi/client.rb', line 75defevent_destinations@_event_destinations||=NgrokAPI::Services::EventDestinationsClient.new(client:@client)
@@ -1070,12 +1068,12 @@ applied to Domains and TCP Addresses they have been attached to.
-82
83
-84
+84
+85
-
# File 'lib/ngrokapi/client.rb', line 82
+
# File 'lib/ngrokapi/client.rb', line 83defevent_sources@_event_sources||=NgrokAPI::Services::EventSourcesClient.new(client:@client)
@@ -1100,12 +1098,12 @@ applied to Domains and TCP Addresses they have been attached to.
-70
71
-72
+72
+73
-
# File 'lib/ngrokapi/client.rb', line 70
+
# File 'lib/ngrokapi/client.rb', line 71defevent_streams@_event_streams||=NgrokAPI::Services::EventStreamsClient.new(client:@client)
@@ -1130,12 +1128,12 @@ applied to Domains and TCP Addresses they have been attached to.
-78
79
-80
+80
+81
-
# File 'lib/ngrokapi/client.rb', line 78
+
# File 'lib/ngrokapi/client.rb', line 79defevent_subscriptions@_event_subscriptions||=NgrokAPI::Services::EventSubscriptionsClient.new(client:@client)
@@ -1157,12 +1155,7 @@ applied to Domains and TCP Addresses they have been attached to.
-
IP Policies are reusable groups of CIDR ranges with an allow or deny
-
-
action. They can be attached to endpoints via the Endpoint Configuration IP
-Policy module. They can also be used with IP Restrictions to control source
-IP ranges that can start tunnel sessions and connect to the API and dashboard.
-
+
IP Policies are reusable groups of CIDR ranges with an allow or deny action. They can be attached to endpoints via the Endpoint Configuration IP Policy module. They can also be used with IP Restrictions to control source IP ranges that can start tunnel sessions and connect to the API and dashboard.
@@ -1189,12 +1182,12 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
-93
94
-95
+95
+96
-
# File 'lib/ngrokapi/client.rb', line 93
+
# File 'lib/ngrokapi/client.rb', line 94defip_policies@_ip_policies||=NgrokAPI::Services::IPPoliciesClient.new(client:@client)
@@ -1216,10 +1209,7 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
-
IP Policy Rules are the IPv4 or IPv6 CIDRs entries that
-
-
make up an IP Policy.
-
+
IP Policy Rules are the IPv4 or IPv6 CIDRs entries that make up an IP Policy.
@@ -1246,12 +1236,12 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
-102
103
-104
+104
+105
-
# File 'lib/ngrokapi/client.rb', line 102
+
# File 'lib/ngrokapi/client.rb', line 103defip_policy_rules@_ip_policy_rules||=NgrokAPI::Services::IPPolicyRulesClient.new(client:@client)
@@ -1273,14 +1263,7 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
-
An IP restriction is a restriction placed on the CIDRs that are allowed to
-
-
initate traffic to a specific aspect of your ngrok account. An IP
-restriction has a type which defines the ingress it applies to. IP
-restrictions can be used to enforce the source IPs that can make API
-requests, log in to the dashboard, start ngrok agents, and connect to your
-public-facing endpoints.
-
+
An IP restriction is a restriction placed on the CIDRs that are allowed to initate traffic to a specific aspect of your ngrok account. An IP restriction has a type which defines the ingress it applies to. IP restrictions can be used to enforce the source IPs that can make API requests, log in to the dashboard, start ngrok agents, and connect to your public-facing endpoints.
Reserved Addresses are TCP addresses that can be used to listen for traffic.
-
-
TCP address hostnames and ports are assigned by ngrok, they cannot be
-chosen.
-
+
Reserved Addresses are TCP addresses that can be used to listen for traffic. TCP address hostnames and ports are assigned by ngrok, they cannot be chosen.
@@ -1422,12 +1456,12 @@ chosen.
-134
135
-136
+136
+137
-
# File 'lib/ngrokapi/client.rb', line 134
+
# File 'lib/ngrokapi/client.rb', line 135defreserved_addrs@_reserved_addrs||=NgrokAPI::Services::ReservedAddrsClient.new(client:@client)
@@ -1449,12 +1483,7 @@ chosen.
-
Reserved Domains are hostnames that you can listen for traffic on. Domains
-
-
can be used to listen for http, https or tls traffic. You may use a domain
-that you own by creating a CNAME record specified in the returned resource.
-This CNAME record points traffic for that domain to ngrok's edge servers.
-
+
Reserved Domains are hostnames that you can listen for traffic on. Domains can be used to listen for http, https or tls traffic. You may use a domain that you own by creating a CNAME record specified in the returned resource. This CNAME record points traffic for that domain to ngrok's edge servers.
@@ -1481,12 +1510,12 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-145
146
-147
+147
+148
-
# File 'lib/ngrokapi/client.rb', line 145
+
# File 'lib/ngrokapi/client.rb', line 146defreserved_domains@_reserved_domains||=NgrokAPI::Services::ReservedDomainsClient.new(client:@client)
@@ -1508,10 +1537,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-
An SSH Certificate Authority is a pair of an SSH Certificate and its private
-
-
key that can be used to sign other SSH host and user certificates.
-
+
An SSH Certificate Authority is a pair of an SSH Certificate and its private key that can be used to sign other SSH host and user certificates.
@@ -1538,12 +1564,12 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-154
155
-156
+156
+157
-
# File 'lib/ngrokapi/client.rb', line 154
+
# File 'lib/ngrokapi/client.rb', line 155defssh_certificate_authorities@_ssh_certificate_authorities||=NgrokAPI::Services::SSHCertificateAuthoritiesClient.new(client:@client)
@@ -1565,10 +1591,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-
SSH Credentials are SSH public keys that can be used to start SSH tunnels
-
-
via the ngrok SSH tunnel gateway.
-
+
SSH Credentials are SSH public keys that can be used to start SSH tunnels via the ngrok SSH tunnel gateway.
@@ -1595,12 +1618,12 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-163
164
-165
+165
+166
-
# File 'lib/ngrokapi/client.rb', line 163
+
# File 'lib/ngrokapi/client.rb', line 164defssh_credentials@_ssh_credentials||=NgrokAPI::Services::SSHCredentialsClient.new(client:@client)
@@ -1622,11 +1645,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-
SSH Host Certificates along with the corresponding private key allows an SSH
-
-
server to assert its authenticity to connecting SSH clients who trust the
-SSH Certificate Authority that was used to sign the certificate.
-
+
SSH Host Certificates along with the corresponding private key allows an SSH server to assert its authenticity to connecting SSH clients who trust the SSH Certificate Authority that was used to sign the certificate.
@@ -1653,12 +1672,12 @@ SSH Certificate Authority that was used to sign the certificate.
-173
174
-175
+175
+176
-
# File 'lib/ngrokapi/client.rb', line 173
+
# File 'lib/ngrokapi/client.rb', line 174defssh_host_certificates@_ssh_host_certificates||=NgrokAPI::Services::SSHHostCertificatesClient.new(client:@client)
@@ -1680,11 +1699,7 @@ SSH Certificate Authority that was used to sign the certificate.
-
SSH User Certificates are presented by SSH clients when connecting to an SSH
-
-
server to authenticate their connection. The SSH server must trust the SSH
-Certificate Authority used to sign the certificate.
-
+
SSH User Certificates are presented by SSH clients when connecting to an SSH server to authenticate their connection. The SSH server must trust the SSH Certificate Authority used to sign the certificate.
@@ -1711,12 +1726,12 @@ Certificate Authority used to sign the certificate.
-183
184
-185
+185
+186
-
# File 'lib/ngrokapi/client.rb', line 183
+
# File 'lib/ngrokapi/client.rb', line 184defssh_user_certificates@_ssh_user_certificates||=NgrokAPI::Services::SSHUserCertificatesClient.new(client:@client)
@@ -1738,13 +1753,7 @@ Certificate Authority used to sign the certificate.
-
TLS Certificates are pairs of x509 certificates and their matching private
-
-
key that can be used to terminate TLS traffic. TLS certificates are unused
-until they are attached to a Domain. TLS Certificates may also be
-provisioned by ngrok automatically for domains on which you have enabled
-automated certificate provisioning.
-
+
TLS Certificates are pairs of x509 certificates and their matching private key that can be used to terminate TLS traffic. TLS certificates are unused until they are attached to a Domain. TLS Certificates may also be provisioned by ngrok automatically for domains on which you have enabled automated certificate provisioning.
Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel
-
-
sessions that are running and connected to the ngrok service. Each tunnel
-session can include one or more Tunnels.
-
+
Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel sessions that are running and connected to the ngrok service. Each tunnel session can include one or more Tunnels.
@@ -1829,12 +1834,12 @@ session can include one or more Tunnels.
-205
206
-207
+207
+208
-
# File 'lib/ngrokapi/client.rb', line 205
+
# File 'lib/ngrokapi/client.rb', line 206deftunnel_sessions@_tunnel_sessions||=NgrokAPI::Services::TunnelSessionsClient.new(client:@client)
@@ -1856,10 +1861,7 @@ session can include one or more Tunnels.
-
Tunnels provide endpoints to access services exposed by a running ngrok
-
-
agent tunnel session or an SSH reverse tunnel session.
-
+
Tunnels provide endpoints to access services exposed by a running ngrok agent tunnel session or an SSH reverse tunnel session.
@@ -1886,12 +1888,12 @@ session can include one or more Tunnels.
-214
215
-216
+216
+217
-
# File 'lib/ngrokapi/client.rb', line 214
+
# File 'lib/ngrokapi/client.rb', line 215deftunnels@_tunnels||=NgrokAPI::Services::TunnelsClient.new(client:@client)
@@ -1906,7 +1908,7 @@ session can include one or more Tunnels.
diff --git a/doc/NgrokAPI/Error.html b/doc/NgrokAPI/Error.html
index 4a054f2..cb2daed 100644
--- a/doc/NgrokAPI/Error.html
+++ b/doc/NgrokAPI/Error.html
@@ -295,7 +295,7 @@
diff --git a/doc/NgrokAPI/Errors.html b/doc/NgrokAPI/Errors.html
index da40ae2..bbce45d 100644
--- a/doc/NgrokAPI/Errors.html
+++ b/doc/NgrokAPI/Errors.html
@@ -105,7 +105,7 @@
diff --git a/doc/NgrokAPI/Errors/NotFoundError.html b/doc/NgrokAPI/Errors/NotFoundError.html
index 9ae67da..b6cd8da 100644
--- a/doc/NgrokAPI/Errors/NotFoundError.html
+++ b/doc/NgrokAPI/Errors/NotFoundError.html
@@ -299,7 +299,7 @@
diff --git a/doc/NgrokAPI/HttpClient.html b/doc/NgrokAPI/HttpClient.html
index ebdf903..4cd7f19 100644
--- a/doc/NgrokAPI/HttpClient.html
+++ b/doc/NgrokAPI/HttpClient.html
@@ -265,7 +265,7 @@
API. You may use the API itself
-to provision and manage API Keys but you'll need to provision your first API
-key from the (https://dashboard.ngrok.com/api/keys)API Keys page on your
-ngrok.com dashboard.
-
+
API Keys are used to authenticate to the ngrok API. You may use the API itself to provision and manage API Keys but you'll need to provision your first API key from the API Keys page on your ngrok.com dashboard.
Certificate Authorities are x509 certificates that are used to sign other
-
-
x509 certificates. Attach a Certificate Authority to the Mutual TLS module
-to verify that the TLS certificate presented by a client has been signed by
-this CA. Certificate Authorities are used only for mTLS validation only and
-thus a private key is not included in the resource.
-
+
Certificate Authorities are x509 certificates that are used to sign other x509 certificates. Attach a Certificate Authority to the Mutual TLS module to verify that the TLS certificate presented by a client has been signed by this CA. Certificate Authorities are used only for mTLS validation only and thus a private key is not included in the resource.
List all Certificate Authority on this account Throws an exception if API error.
+
+
@@ -1170,7 +1188,8 @@ thus a private key is not included in the resource.
147
148
149
-150
+150
+151
# File 'lib/ngrokapi/services/certificate_authorities_client.rb', line 133
@@ -1186,6 +1205,7 @@ thus a private key is not included in the resource.
url:url,path:PATH)
+
NgrokAPI::Models::Listable.new(client:self,result:result,
@@ -1196,6 +1216,151 @@ thus a private key is not included in the resource.
# File 'lib/ngrokapi/services/certificate_authorities_client.rb', line 161
+
# File 'lib/ngrokapi/services/certificate_authorities_client.rb', line 194defupdate(id:"",
@@ -1435,24 +1600,24 @@ thus a private key is not included in the resource.
# File 'lib/ngrokapi/services/certificate_authorities_client.rb', line 187
+
# File 'lib/ngrokapi/services/certificate_authorities_client.rb', line 220defupdate!(id:"",
@@ -1479,7 +1644,7 @@ thus a private key is not included in the resource.
diff --git a/doc/NgrokAPI/Services/CredentialsClient.html b/doc/NgrokAPI/Services/CredentialsClient.html
index 455ee34..4df850d 100644
--- a/doc/NgrokAPI/Services/CredentialsClient.html
+++ b/doc/NgrokAPI/Services/CredentialsClient.html
@@ -102,12 +102,7 @@
Overview
-
Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok
-
-
agent to connect the ngrok service as your account. They are installed with
-the ngrok authtoken command or by specifying it in the ngrok.yml
-configuration file with the authtoken property.
-
+
Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok agent to connect the ngrok service as your account. They are installed with the ngrok authtoken command or by specifying it in the ngrok.yml configuration file with the authtoken property.
List all tunnel authtoken credentials on this account Throws an exception if API error.
+
+
@@ -601,7 +620,7 @@ configuration file with the authtoken property.
—
-
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the “bind“ rule. The “bind“ rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule “bind:example.ngrok.io“. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of “bind:*.example.com“ which will allow “x.example.com“, “y.example.com“, “*.example.com“, etc. A rule of “'*'“ is equivalent to no acl at all and will explicitly permit all actions.
+
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions.
@@ -1171,7 +1190,8 @@ configuration file with the authtoken property.
149
150
151
-152
+152
+153
# File 'lib/ngrokapi/services/credentials_client.rb', line 135
@@ -1187,6 +1207,7 @@ configuration file with the authtoken property.
url:url,path:PATH)
+
NgrokAPI::Models::Listable.new(client:self,result:result,
@@ -1197,6 +1218,151 @@ configuration file with the authtoken property.
@@ -1284,7 +1450,7 @@ configuration file with the authtoken property.
—
-
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the “bind“ rule. The “bind“ rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule “bind:example.ngrok.io“. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of “bind:*.example.com“ which will allow “x.example.com“, “y.example.com“, “*.example.com“, etc. A rule of “'*'“ is equivalent to no acl at all and will explicitly permit all actions.
+
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions.
@@ -1316,26 +1482,26 @@ configuration file with the authtoken property.
# File 'lib/ngrokapi/services/credentials_client.rb', line 164
+
# File 'lib/ngrokapi/services/credentials_client.rb', line 197defupdate(id:"",
@@ -1444,7 +1610,7 @@ configuration file with the authtoken property.
—
-
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the “bind“ rule. The “bind“ rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule “bind:example.ngrok.io“. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of “bind:*.example.com“ which will allow “x.example.com“, “y.example.com“, “*.example.com“, etc. A rule of “'*'“ is equivalent to no acl at all and will explicitly permit all actions.
+
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions.
@@ -1476,26 +1642,26 @@ configuration file with the authtoken property.
# File 'lib/ngrokapi/services/credentials_client.rb', line 193
+
# File 'lib/ngrokapi/services/credentials_client.rb', line 226defupdate!(id:"",
@@ -1524,7 +1690,7 @@ configuration file with the authtoken property.
diff --git a/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html b/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html
index 6cc5c4c..6df05f5 100644
--- a/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html
+++ b/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html
@@ -1061,7 +1061,7 @@
diff --git a/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html b/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html
index 1781e2d..7d92fa7 100644
--- a/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html
+++ b/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html
@@ -1061,7 +1061,7 @@
diff --git a/doc/NgrokAPI/Services/EndpointConfigurationsClient.html b/doc/NgrokAPI/Services/EndpointConfigurationsClient.html
index 60ad299..0add540 100644
--- a/doc/NgrokAPI/Services/EndpointConfigurationsClient.html
+++ b/doc/NgrokAPI/Services/EndpointConfigurationsClient.html
@@ -102,11 +102,7 @@
Overview
-
Endpoint Configurations are a reusable group of modules that encapsulate how
-
-
traffic to a domain or address is handled. Endpoint configurations are only
-applied to Domains and TCP Addresses they have been attached to.
-
+
Endpoint Configurations are a reusable group of modules that encapsulate how traffic to a domain or address is handled. Endpoint configurations are only applied to Domains and TCP Addresses they have been attached to.
Returns a list of all endpoint configurations on this account Throws an exception if API error.
+
+
@@ -564,7 +584,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
they type of traffic this endpoint configuration can be applied to. one of: “http“, “https“, “tcp“
+
they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp
@@ -618,7 +638,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
circuit breaker module configuration or “null“
+
circuit breaker module configuration or null
@@ -636,7 +656,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
compression module configuration or “null“
+
compression module configuration or null
@@ -654,7 +674,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
request headers module configuration or “null“
+
request headers module configuration or null
@@ -672,7 +692,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
response headers module configuration or “null“
+
response headers module configuration or null
@@ -690,7 +710,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
ip policy module configuration or “null“
+
ip policy module configuration or null
@@ -708,7 +728,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
mutual TLS module configuration or “null“
+
mutual TLS module configuration or null
@@ -726,7 +746,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
TLS termination module configuration or “null“
+
TLS termination module configuration or null
@@ -744,7 +764,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
webhook validation module configuration or “null“
+
webhook validation module configuration or null
@@ -762,7 +782,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
oauth module configuration or “null“
+
oauth module configuration or null
@@ -780,7 +800,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
logging module configuration or “null“
+
logging module configuration or null
@@ -798,7 +818,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
saml module configuration or “null“
+
saml module configuration or null
@@ -816,7 +836,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
oidc module configuration or “null“
+
oidc module configuration or null
@@ -1438,7 +1458,8 @@ applied to Domains and TCP Addresses they have been attached to.
185
186
187
-188
+188
+189
# File 'lib/ngrokapi/services/endpoint_configurations_client.rb', line 171
@@ -1454,6 +1475,7 @@ applied to Domains and TCP Addresses they have been attached to.
url:url,path:PATH)
+
NgrokAPI::Models::Listable.new(client:self,result:result,
@@ -1464,6 +1486,151 @@ applied to Domains and TCP Addresses they have been attached to.
# File 'lib/ngrokapi/services/endpoint_configurations_client.rb', line 214
+
# File 'lib/ngrokapi/services/endpoint_configurations_client.rb', line 247defupdate(id:"",
@@ -1967,7 +2134,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
circuit breaker module configuration or “null“
+
circuit breaker module configuration or null
@@ -1985,7 +2152,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
compression module configuration or “null“
+
compression module configuration or null
@@ -2003,7 +2170,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
request headers module configuration or “null“
+
request headers module configuration or null
@@ -2021,7 +2188,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
response headers module configuration or “null“
+
response headers module configuration or null
@@ -2039,7 +2206,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
ip policy module configuration or “null“
+
ip policy module configuration or null
@@ -2057,7 +2224,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
mutual TLS module configuration or “null“
+
mutual TLS module configuration or null
@@ -2075,7 +2242,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
TLS termination module configuration or “null“
+
TLS termination module configuration or null
@@ -2093,7 +2260,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
webhook validation module configuration or “null“
+
webhook validation module configuration or null
@@ -2111,7 +2278,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
oauth module configuration or “null“
+
oauth module configuration or null
@@ -2129,7 +2296,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
logging module configuration or “null“
+
logging module configuration or null
@@ -2147,7 +2314,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
saml module configuration or “null“
+
saml module configuration or null
@@ -2165,7 +2332,7 @@ applied to Domains and TCP Addresses they have been attached to.
—
-
oidc module configuration or “null“
+
oidc module configuration or null
@@ -2197,39 +2364,6 @@ applied to Domains and TCP Addresses they have been attached to.
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-293
-294
-295
-296
-297
-298
-299
-300
-301
-302
-303
-304
-305
-306
-307
-308
-309
-310
-311
-312
-313
314
315
316
@@ -2237,10 +2371,43 @@ applied to Domains and TCP Addresses they have been attached to.
318
319
320
-321
The output format you would like to serialize events into when sending to their target. Currently the only accepted value is “JSON“.
+
The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON.
@@ -612,7 +636,7 @@
—
-
An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: “kinesis“, “firehose“, “cloudwatch_logs“, or “s3“.
+
An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: kinesis, firehose, cloudwatch_logs, or s3.
The output format you would like to serialize events into when sending to their target. Currently the only accepted value is “JSON“.
+
The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON.
@@ -1324,7 +1495,7 @@
—
-
An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: “kinesis“, “firehose“, “cloudwatch_logs“, or “s3“.
+
An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: kinesis, firehose, cloudwatch_logs, or s3.
# File 'lib/ngrokapi/services/event_destinations_client.rb', line 167
+
# File 'lib/ngrokapi/services/event_destinations_client.rb', line 200defupdate(id:"",
@@ -1495,7 +1666,7 @@
—
-
The output format you would like to serialize events into when sending to their target. Currently the only accepted value is “JSON“.
+
The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON.
@@ -1513,7 +1684,7 @@
—
-
An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: “kinesis“, “firehose“, “cloudwatch_logs“, or “s3“.
+
An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: kinesis, firehose, cloudwatch_logs, or s3.
IP Policies are reusable groups of CIDR ranges with an allow or deny
-
-
action. They can be attached to endpoints via the Endpoint Configuration IP
-Policy module. They can also be used with IP Restrictions to control source
-IP ranges that can start tunnel sessions and connect to the API and dashboard.
-
+
IP Policies are reusable groups of CIDR ranges with an allow or deny action. They can be attached to endpoints via the Endpoint Configuration IP Policy module. They can also be used with IP Restrictions to control source IP ranges that can start tunnel sessions and connect to the API and dashboard.
List all IP policies on this account Throws an exception if API error.
+
+
@@ -599,7 +618,7 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
—
-
the IP policy action. Supported values are “allow“ or “deny“
+
the IP policy action. Supported values are allow or deny
@@ -1169,7 +1188,8 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
151
152
153
-154
+154
+155
# File 'lib/ngrokapi/services/ip_policies_client.rb', line 137
@@ -1185,6 +1205,7 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
url:url,path:PATH)
+
NgrokAPI::Models::Listable.new(client:self,result:result,
@@ -1195,6 +1216,151 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
# File 'lib/ngrokapi/services/ip_policies_client.rb', line 165
+
# File 'lib/ngrokapi/services/ip_policies_client.rb', line 198defupdate(id:"",
@@ -1434,24 +1600,24 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
# File 'lib/ngrokapi/services/ip_policies_client.rb', line 191
+
# File 'lib/ngrokapi/services/ip_policies_client.rb', line 224defupdate!(id:"",
@@ -1478,7 +1644,7 @@ IP ranges that can start tunnel sessions and connect to the API and dashboard.
diff --git a/doc/NgrokAPI/Services/IPPolicyRulesClient.html b/doc/NgrokAPI/Services/IPPolicyRulesClient.html
index fc29ea4..5f76991 100644
--- a/doc/NgrokAPI/Services/IPPolicyRulesClient.html
+++ b/doc/NgrokAPI/Services/IPPolicyRulesClient.html
@@ -102,10 +102,7 @@
Overview
-
IP Policy Rules are the IPv4 or IPv6 CIDRs entries that
-
-
make up an IP Policy.
-
+
IP Policy Rules are the IPv4 or IPv6 CIDRs entries that make up an IP Policy.
An IP restriction is a restriction placed on the CIDRs that are allowed to
-
-
initate traffic to a specific aspect of your ngrok account. An IP
-restriction has a type which defines the ingress it applies to. IP
-restrictions can be used to enforce the source IPs that can make API
-requests, log in to the dashboard, start ngrok agents, and connect to your
-public-facing endpoints.
-
+
An IP restriction is a restriction placed on the CIDRs that are allowed to initate traffic to a specific aspect of your ngrok account. An IP restriction has a type which defines the ingress it applies to. IP restrictions can be used to enforce the source IPs that can make API requests, log in to the dashboard, start ngrok agents, and connect to your public-facing endpoints.
List all IP restrictions on this account Throws an exception if API error.
+
+
@@ -619,7 +636,7 @@ public-facing endpoints.
—
-
the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: “dashboard“, “api“, “agent“, and “endpoints“
+
the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: dashboard, api, agent, and endpoints
Reserved Addresses are TCP addresses that can be used to listen for traffic.
-
-
TCP address hostnames and ports are assigned by ngrok, they cannot be
-chosen.
-
+
Reserved Addresses are TCP addresses that can be used to listen for traffic. TCP address hostnames and ports are assigned by ngrok, they cannot be chosen.
Reserved Domains are hostnames that you can listen for traffic on. Domains
-
-
can be used to listen for http, https or tls traffic. You may use a domain
-that you own by creating a CNAME record specified in the returned resource.
-This CNAME record points traffic for that domain to ngrok's edge servers.
-
+
Reserved Domains are hostnames that you can listen for traffic on. Domains can be used to listen for http, https or tls traffic. You may use a domain that you own by creating a CNAME record specified in the returned resource. This CNAME record points traffic for that domain to ngrok's edge servers.
@@ -863,7 +882,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
—
-
ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with “certificate_management_policy“.
+
ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy.
@@ -881,7 +900,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
—
-
configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with “certificate_id“.
+
configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.
@@ -1230,18 +1249,18 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-283
-284
-285
-286
-287
-288
-289
-290
-291
+316
+317
+318
+319
+320
+321
+322
+323
+324
-
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 283
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 316defdelete_certificate(id:""
@@ -1325,18 +1344,18 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-301
-302
-303
-304
-305
-306
-307
-308
-309
+334
+335
+336
+337
+338
+339
+340
+341
+342
-
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 301
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 334defdelete_certificate!(id:""
@@ -1420,18 +1439,18 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-248
-249
-250
-251
-252
-253
-254
-255
-256
+281
+282
+283
+284
+285
+286
+287
+288
+289
-
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 248
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 281defdelete_certificate_management_policy(id:""
@@ -1515,18 +1534,18 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-266
-267
-268
-269
-270
-271
-272
-273
-274
+299
+300
+301
+302
+303
+304
+305
+306
+307
-
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 266
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 299defdelete_certificate_management_policy!(id:""
@@ -1610,18 +1629,18 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-318
-319
-320
-321
-322
-323
-324
-325
-326
+351
+352
+353
+354
+355
+356
+357
+358
+359
-
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 318
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 351defdelete_http_endpoint_config(id:""
@@ -1705,18 +1724,18 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-336
-337
-338
-339
-340
-341
-342
-343
-344
+369
+370
+371
+372
+373
+374
+375
+376
+377
-
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 336
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 369defdelete_http_endpoint_config!(id:""
@@ -1800,18 +1819,18 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-353
-354
-355
-356
-357
-358
-359
-360
-361
+386
+387
+388
+389
+390
+391
+392
+393
+394
-
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 353
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 386defdelete_https_endpoint_config(id:""
@@ -1895,18 +1914,18 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
-371
-372
-373
-374
-375
-376
-377
-378
-379
+404
+405
+406
+407
+408
+409
+410
+411
+412
-
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 371
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 404defdelete_https_endpoint_config!(id:""
@@ -2231,7 +2250,8 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
161
162
163
-164
+164
+165
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 147
@@ -2247,6 +2267,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
url:url,path:PATH)
+
NgrokAPI::Models::Listable.new(client:self,result:result,
@@ -2257,6 +2278,151 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
@@ -2380,7 +2546,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
—
-
ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with “certificate_management_policy“.
+
ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy.
@@ -2398,7 +2564,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
—
-
configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with “certificate_id“.
+
configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.
@@ -2430,32 +2596,32 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 179
+
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 212defupdate(id:"",
@@ -2606,7 +2772,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
—
-
ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with “certificate_management_policy“.
+
ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy.
@@ -2624,7 +2790,7 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
—
-
configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with “certificate_id“.
+
configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.
@@ -2656,32 +2822,32 @@ This CNAME record points traffic for that domain to ngrok's edge servers.
List all ssh credentials on this account Throws an exception if API error.
+
+
@@ -599,7 +620,7 @@
—
-
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the “bind“ rule. The “bind“ rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule “bind:example.ngrok.io“. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of “bind:*.example.com“ which will allow “x.example.com“, “y.example.com“, “*.example.com“, etc. A rule of “'*'“ is equivalent to no acl at all and will explicitly permit all actions.
+
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions.
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the “bind“ rule. The “bind“ rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule “bind:example.ngrok.io“. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of “bind:*.example.com“ which will allow “x.example.com“, “y.example.com“, “*.example.com“, etc. A rule of “'*'“ is equivalent to no acl at all and will explicitly permit all actions.
+
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions.
# File 'lib/ngrokapi/services/ssh_credentials_client.rb', line 163
+
# File 'lib/ngrokapi/services/ssh_credentials_client.rb', line 196defupdate(id:"",
@@ -1462,7 +1630,7 @@
—
-
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the “bind“ rule. The “bind“ rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule “bind:example.ngrok.io“. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of “bind:*.example.com“ which will allow “x.example.com“, “y.example.com“, “*.example.com“, etc. A rule of “'*'“ is equivalent to no acl at all and will explicitly permit all actions.
+
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions.
SSH Host Certificates along with the corresponding private key allows an SSH
-
-
server to assert its authenticity to connecting SSH clients who trust the
-SSH Certificate Authority that was used to sign the certificate.
-
+
SSH Host Certificates along with the corresponding private key allows an SSH server to assert its authenticity to connecting SSH clients who trust the SSH Certificate Authority that was used to sign the certificate.
List all SSH Host Certificates issued on this account Throws an exception if API error.
+
+
@@ -632,7 +652,7 @@ SSH Certificate Authority that was used to sign the certificate.
—
-
The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of one year in the future will be used. The OpenSSH certificates RFC calls this “valid_before“.
+
The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of one year in the future will be used. The OpenSSH certificates RFC calls this valid_before.
@@ -1254,7 +1274,8 @@ SSH Certificate Authority that was used to sign the certificate.
157
158
159
-160
+160
+161
# File 'lib/ngrokapi/services/ssh_host_certificates_client.rb', line 143
@@ -1270,6 +1291,7 @@ SSH Certificate Authority that was used to sign the certificate.
url:url,path:PATH)
+
NgrokAPI::Models::Listable.new(client:self,result:result,
@@ -1280,6 +1302,151 @@ SSH Certificate Authority that was used to sign the certificate.
# File 'lib/ngrokapi/services/ssh_host_certificates_client.rb', line 171
+
# File 'lib/ngrokapi/services/ssh_host_certificates_client.rb', line 204defupdate(id:"",
@@ -1519,24 +1686,24 @@ SSH Certificate Authority that was used to sign the certificate.
# File 'lib/ngrokapi/services/ssh_host_certificates_client.rb', line 197
+
# File 'lib/ngrokapi/services/ssh_host_certificates_client.rb', line 230defupdate!(id:"",
@@ -1563,7 +1730,7 @@ SSH Certificate Authority that was used to sign the certificate.
diff --git a/doc/NgrokAPI/Services/SSHUserCertificatesClient.html b/doc/NgrokAPI/Services/SSHUserCertificatesClient.html
index 23cb556..4c7f2c5 100644
--- a/doc/NgrokAPI/Services/SSHUserCertificatesClient.html
+++ b/doc/NgrokAPI/Services/SSHUserCertificatesClient.html
@@ -102,11 +102,7 @@
Overview
-
SSH User Certificates are presented by SSH clients when connecting to an SSH
-
-
server to authenticate their connection. The SSH server must trust the SSH
-Certificate Authority used to sign the certificate.
-
+
SSH User Certificates are presented by SSH clients when connecting to an SSH server to authenticate their connection. The SSH server must trust the SSH Certificate Authority used to sign the certificate.
List all SSH User Certificates issued on this account Throws an exception if API error.
+
+
@@ -614,7 +634,7 @@ Certificate Authority used to sign the certificate.
—
-
A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: “force-command“ and “source-address“. See `the OpenSSH certificate protocol spec` <github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys`_ for additional details.
@@ -632,7 +652,7 @@ Certificate Authority used to sign the certificate.
—
-
A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: ““”, “permit-user-rc”: “”“ OpenSSH understands a number of predefined extensions. See `the OpenSSH certificate protocol spec` <github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys`_ for additional details.
@@ -668,7 +688,7 @@ Certificate Authority used to sign the certificate.
—
-
The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this “valid_before“.
+
The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this valid_before.
@@ -1298,7 +1318,8 @@ Certificate Authority used to sign the certificate.
163
164
165
-166
+166
+167
# File 'lib/ngrokapi/services/ssh_user_certificates_client.rb', line 149
@@ -1314,6 +1335,7 @@ Certificate Authority used to sign the certificate.
url:url,path:PATH)
+
NgrokAPI::Models::Listable.new(client:self,result:result,
@@ -1324,6 +1346,151 @@ Certificate Authority used to sign the certificate.
# File 'lib/ngrokapi/services/ssh_user_certificates_client.rb', line 177
+
# File 'lib/ngrokapi/services/ssh_user_certificates_client.rb', line 210defupdate(id:"",
@@ -1563,24 +1730,24 @@ Certificate Authority used to sign the certificate.
# File 'lib/ngrokapi/services/ssh_user_certificates_client.rb', line 203
+
# File 'lib/ngrokapi/services/ssh_user_certificates_client.rb', line 236defupdate!(id:"",
@@ -1607,7 +1774,7 @@ Certificate Authority used to sign the certificate.
diff --git a/doc/NgrokAPI/Services/TLSCertificatesClient.html b/doc/NgrokAPI/Services/TLSCertificatesClient.html
index 538fc9b..e28bc85 100644
--- a/doc/NgrokAPI/Services/TLSCertificatesClient.html
+++ b/doc/NgrokAPI/Services/TLSCertificatesClient.html
@@ -102,13 +102,7 @@
Overview
-
TLS Certificates are pairs of x509 certificates and their matching private
-
-
key that can be used to terminate TLS traffic. TLS certificates are unused
-until they are attached to a Domain. TLS Certificates may also be
-provisioned by ngrok automatically for domains on which you have enabled
-automated certificate provisioning.
-
+
TLS Certificates are pairs of x509 certificates and their matching private key that can be used to terminate TLS traffic. TLS certificates are unused until they are attached to a Domain. TLS Certificates may also be provisioned by ngrok automatically for domains on which you have enabled automated certificate provisioning.
Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel
-
-
sessions that are running and connected to the ngrok service. Each tunnel
-session can include one or more Tunnels.
-
+
Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel sessions that are running and connected to the ngrok service. Each tunnel session can include one or more Tunnels.
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 78
+
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 111defget!(id:""
@@ -861,7 +881,8 @@ session can include one or more Tunnels.
46
47
48
-49
+49
+50
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 32
@@ -877,6 +898,7 @@ session can include one or more Tunnels.
url:url,path:PATH)
+
NgrokAPI::Models::Listable.new(client:self,result:result,
@@ -887,6 +909,151 @@ session can include one or more Tunnels.
@@ -957,18 +1124,18 @@ session can include one or more Tunnels.
-100
-101
-102
-103
-104
-105
-106
-107
-108
+133
+134
+135
+136
+137
+138
+139
+140
+141
-
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 100
+
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 133defrestart(id:""
@@ -1052,18 +1219,18 @@ session can include one or more Tunnels.
-121
-122
-123
-124
-125
-126
-127
-128
-129
+154
+155
+156
+157
+158
+159
+160
+161
+162
-
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 121
+
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 154defrestart!(id:""
@@ -1147,18 +1314,18 @@ session can include one or more Tunnels.
-139
-140
-141
-142
-143
-144
-145
-146
-147
+172
+173
+174
+175
+176
+177
+178
+179
+180
-
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 139
+
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 172defstop(id:""
@@ -1242,18 +1409,18 @@ session can include one or more Tunnels.
-158
-159
-160
-161
-162
-163
-164
-165
-166
+191
+192
+193
+194
+195
+196
+197
+198
+199
-
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 158
+
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 191defstop!(id:""
@@ -1332,19 +1499,19 @@ session can include one or more Tunnels.
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
-
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 186
+
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 219defupdate(id:"",
@@ -1424,19 +1591,19 @@ session can include one or more Tunnels.
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
-
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 216
+
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 249defupdate!(id:"",
@@ -1458,7 +1625,7 @@ session can include one or more Tunnels.
diff --git a/doc/NgrokAPI/Services/TunnelsClient.html b/doc/NgrokAPI/Services/TunnelsClient.html
index 6c54768..d2074c1 100644
--- a/doc/NgrokAPI/Services/TunnelsClient.html
+++ b/doc/NgrokAPI/Services/TunnelsClient.html
@@ -102,10 +102,7 @@
Overview
-
Tunnels provide endpoints to access services exposed by a running ngrok
-
-
agent tunnel session or an SSH reverse tunnel session.
-
+
Tunnels provide endpoints to access services exposed by a running ngrok agent tunnel session or an SSH reverse tunnel session.
diff --git a/doc/README b/doc/README
new file mode 100644
index 0000000..12ac58c
--- /dev/null
+++ b/doc/README
@@ -0,0 +1,94 @@
+# ngrok-api
+
+This library wraps the [ngrok HTTP API](https://ngrok.com/docs/api) to make it
+easier to consume in Ruby.
+
+## Installation
+
+This library is published on [Rubygems](https://rubygems.org/gems/ngrok-api)
+
+```ruby
+gem install ngrok-api
+```
+
+## Quickstart
+
+Please consult the [documentation](https://ruby-api.docs.ngrok.com) for additional examples.
+
+```ruby
+require 'ngrokapi'
+client = NgrokAPI::Client.new(api_key: '')
+
+# Get an instance of the api_keys client and list all API keys
+keys_client = client.api_keys
+keys_client.list
+```
+
+## Automatic Paging
+
+The ngrok API pages all list resources but this library abstracts that away
+from you. All response objects from any ``list`` or ``list!`` methods return an object that
+implements an ``each`` method which will automatically fetch additional
+pages for you.
+
+```ruby
+require 'ngrokapi'
+client = NgrokAPI::Client.new(api_key: '')
+
+# list all api keys, transparently fetching additional
+# pages for you if necessary
+keys_client = client.api_keys
+keys_client.list.each do |key|
+ puts(key)
+end
+```
+
+## Instance Methods
+
+Instance methods like ``update`` and ``delete`` can be invoked on an instance of an
+API object itself as well as directly without needing to first fetch the object.
+
+```ruby
+require 'ngrokapi'
+client = NgrokAPI::Client.new(api_key: '')
+
+# update the metadata of a credential
+cred = client.credentials.get(id: 'cr_1kYyunEyn6XHHlqyMBLrj5nxkoz')
+cred.update(metadata: {server_name: 'giraffe-1'}.to_json)
+
+# or do it in single call
+cred = client.credentials.update(id: 'cr_1kYyunEyn6XHHlqyMBLrj5nxkoz', metadata: {server_name: 'giraffe-1'}.to_json)
+```
+
+## Bang Methods
+Most methods that interact with the API have a `!` counterpart. It raises an error when
+one is returned by the API.
+
+```ruby
+require 'ngrokapi'
+client = NgrokAPI::Client.new(api_key: '')
+
+# no error raised, even though it's a bad identifier
+# the error is simply returned
+cred = client.credentials.get(id: 'invalid')
+
+# this raises an NgrokAPI::Error
+cred = client.credentials.get!(id: 'invalid')
+```
+
+## Error Handling
+
+The ngrok API returns detailed information when an API call fails. Consult the
+section on errors for additional details.
+
+```ruby
+require 'ngrokapi'
+client = NgrokAPI::Client.new(api_key: '')
+
+begin
+ client.ip_policies.get!(id: 'invalid')
+rescue NgrokAPI::Error => e
+ puts(e)
+ puts(e.response.to_s)
+end
+```
diff --git a/doc/_index.html b/doc/_index.html
index 0f5f21e..714ea7c 100644
--- a/doc/_index.html
+++ b/doc/_index.html
@@ -467,6 +467,13 @@
+
Please consult the documentation for additional examples.
-
require'ngrokapi/client'
-client=NgrokAPI::Client.new(api_key:'<API KEY>')
-
-# Get an instance of the api_keys client and list all API keys
-keys_client=client.api_keys
+
require'ngrokapi'
+client=NgrokAPI::Client.new(api_key:'<API KEY>')
+
+# Get an instance of the api_keys client and list all API keys
+keys_client=client.api_keyskeys_client.list
-
Local Documentation
+
Automatic Paging
-
Documentation can be generated with the command:
+
The ngrok API pages all list resources but this library abstracts that away from you. All response objects from any list or list! methods return an object that implements an each method which will automatically fetch additional pages for you.
-
bundleexecyarddoc'lib/**/*.rb'
+
require'ngrokapi'
+client=NgrokAPI::Client.new(api_key:'<API KEY>')
+
+# list all api keys, transparently fetching additional
+# pages for you if necessary
+keys_client=client.api_keys
+keys_client.list.eachdo|key|
+ puts(key)
+end
-
This will generate documentation which can be viewed within the doc folder.
+
Instance Methods
-
Specs
+
Instance methods like update and delete can be invoked on an instance of an API object itself as well as directly without needing to first fetch the object.
bundleexecrake
+# update the metadata of a credential
+cred=client.credentials.get(id:'cr_1kYyunEyn6XHHlqyMBLrj5nxkoz')
+cred.update(metadata:{server_name:'giraffe-1'}.to_json)
+
+# or do it in single call
+cred=client.credentials.update(id:'cr_1kYyunEyn6XHHlqyMBLrj5nxkoz',metadata:{server_name:'giraffe-1'}.to_json)
-
This will generate a coverage report which can be viewed within the coverage folder.
+
Bang Methods
-
Rubocop
+
Most methods that interact with the API have a ! counterpart. It raises an error when one is returned by the API.
# Run rubocop on lib folder
-bundleexecrubocop'lib'
-
-# Run rubcop on all files
-bundleexecrubocop
+# no error raised, even though it's a bad identifier
+# the error is simply returned
+cred=client.credentials.get(id:'invalid')
+
+# this raises an NgrokAPI::Error
+cred=client.credentials.get!(id:'invalid')
+
+
+
Error Handling
+
+
The ngrok API returns detailed information when an API call fails. Consult the section on errors for additional details.
Please consult the documentation for additional examples.
-
require'ngrokapi/client'
-client=NgrokAPI::Client.new(api_key:'<API KEY>')
-
-# Get an instance of the api_keys client and list all API keys
-keys_client=client.api_keys
+
require'ngrokapi'
+client=NgrokAPI::Client.new(api_key:'<API KEY>')
+
+# Get an instance of the api_keys client and list all API keys
+keys_client=client.api_keyskeys_client.list
-
Local Documentation
+
Automatic Paging
-
Documentation can be generated with the command:
+
The ngrok API pages all list resources but this library abstracts that away from you. All response objects from any list or list! methods return an object that implements an each method which will automatically fetch additional pages for you.
-
bundleexecyarddoc'lib/**/*.rb'
+
require'ngrokapi'
+client=NgrokAPI::Client.new(api_key:'<API KEY>')
+
+# list all api keys, transparently fetching additional
+# pages for you if necessary
+keys_client=client.api_keys
+keys_client.list.eachdo|key|
+ puts(key)
+end
-
This will generate documentation which can be viewed within the doc folder.
+
Instance Methods
-
Specs
+
Instance methods like update and delete can be invoked on an instance of an API object itself as well as directly without needing to first fetch the object.
bundleexecrake
+# update the metadata of a credential
+cred=client.credentials.get(id:'cr_1kYyunEyn6XHHlqyMBLrj5nxkoz')
+cred.update(metadata:{server_name:'giraffe-1'}.to_json)
+
+# or do it in single call
+cred=client.credentials.update(id:'cr_1kYyunEyn6XHHlqyMBLrj5nxkoz',metadata:{server_name:'giraffe-1'}.to_json)
-
This will generate a coverage report which can be viewed within the coverage folder.
+
Bang Methods
-
Rubocop
+
Most methods that interact with the API have a ! counterpart. It raises an error when one is returned by the API.
# Run rubocop on lib folder
-bundleexecrubocop'lib'
-
-# Run rubcop on all files
-bundleexecrubocop
+# no error raised, even though it's a bad identifier
+# the error is simply returned
+cred=client.credentials.get(id:'invalid')
+
+# this raises an NgrokAPI::Error
+cred=client.credentials.get!(id:'invalid')
+
+
+
Error Handling
+
+
The ngrok API returns detailed information when an API call fails. Consult the section on errors for additional details.