From 9c8e482eaac522f558f294f2edcc1798c5d06207 Mon Sep 17 00:00:00 2001 From: ngrok-release-bot Date: Fri, 21 May 2021 15:02:28 +0000 Subject: [PATCH] cut new release --- .gitignore | 2 +- README.md | 2 +- doc/source/datatypes.rst | 8 + doc/source/errors.rst | 2 +- doc/source/index.rst | 2 +- doc/source/objects.rst | 8 - docs/_modules/index.html | 4 +- docs/_modules/ngrok/client.html | 7 +- .../ngrok/{objects.html => datatypes.html} | 742 ++++-- docs/_modules/ngrok/error.html | 12 +- docs/_modules/ngrok/services.html | 542 +++-- docs/_sources/datatypes.rst.txt | 8 + docs/_sources/errors.rst.txt | 2 +- docs/_sources/index.rst.txt | 2 +- docs/_sources/objects.rst.txt | 8 - docs/abuse_reports.html | 16 +- docs/api_keys.html | 31 +- docs/certificate_authorities.html | 31 +- docs/client.html | 10 +- docs/credentials.html | 31 +- docs/{objects.html => datatypes.html} | 2054 ++++++++--------- docs/endpoint_circuit_breaker_module.html | 19 +- docs/endpoint_compression_module.html | 19 +- docs/endpoint_configurations.html | 79 +- docs/endpoint_ip_policy_module.html | 19 +- docs/endpoint_logging_module.html | 19 +- docs/endpoint_mutual_tls_module.html | 19 +- docs/endpoint_o_auth_module.html | 19 +- docs/endpoint_oidc_module.html | 19 +- docs/endpoint_request_headers_module.html | 19 +- docs/endpoint_response_headers_module.html | 19 +- docs/endpoint_saml_module.html | 19 +- docs/endpoint_tls_termination_module.html | 19 +- docs/endpoint_webhook_validation_module.html | 19 +- docs/errors.html | 16 +- docs/event_destinations.html | 35 +- docs/event_streams.html | 31 +- docs/genindex.html | 968 ++++---- docs/index.html | 4 +- docs/ip_policies.html | 31 +- docs/ip_policy_rules.html | 31 +- docs/ip_restrictions.html | 31 +- docs/ip_whitelist.html | 31 +- docs/objects.inv | Bin 4725 -> 4759 bytes docs/py-modindex.html | 4 +- docs/reserved_addrs.html | 32 +- docs/reserved_domains.html | 39 +- docs/search.html | 2 +- docs/searchindex.js | 2 +- docs/ssh_certificate_authorities.html | 31 +- docs/ssh_credentials.html | 31 +- docs/ssh_host_certificates.html | 31 +- docs/ssh_user_certificates.html | 31 +- docs/tls_certificates.html | 31 +- docs/tunnel_sessions.html | 19 +- docs/tunnels.html | 9 +- ngrok/client.py | 5 +- ngrok/{objects.py => datatypes.py} | 528 +++-- ngrok/error.py | 8 + ngrok/{api_client.py => http_client.py} | 7 +- ngrok/iterator.py | 2 +- ngrok/services.py | 540 +++-- setup.py | 4 +- tests/test_ngrok.py | 20 +- tox.ini | 11 +- 65 files changed, 3875 insertions(+), 2521 deletions(-) create mode 100644 doc/source/datatypes.rst delete mode 100644 doc/source/objects.rst rename docs/_modules/ngrok/{objects.html => datatypes.html} (78%) create mode 100644 docs/_sources/datatypes.rst.txt delete mode 100644 docs/_sources/objects.rst.txt rename docs/{objects.html => datatypes.html} (67%) rename ngrok/{objects.py => datatypes.py} (86%) rename ngrok/{api_client.py => http_client.py} (93%) diff --git a/.gitignore b/.gitignore index 51f362b..08951f1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ doc/build .pyc .swp __pycache__ -.egg-info +/ngrok_api.egg-info diff --git a/README.md b/README.md index b95951d..41f9bcc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ngrok API client library +# ngrok API client library for Python This library wraps the [ngrok HTTP API](https://ngrok.com/docs/api) to make it easier to consume in Python. diff --git a/doc/source/datatypes.rst b/doc/source/datatypes.rst new file mode 100644 index 0000000..7db4f9d --- /dev/null +++ b/doc/source/datatypes.rst @@ -0,0 +1,8 @@ +Datatypes +===================================== + +This module contains all datatypes returned by the ngrok API. + +.. automodule:: ngrok.datatypes + :members: + :undoc-members: diff --git a/doc/source/errors.rst b/doc/source/errors.rst index 762bbd5..036eca6 100644 --- a/doc/source/errors.rst +++ b/doc/source/errors.rst @@ -36,7 +36,7 @@ documentation for the `list of all ngrok error codes API

Services

@@ -163,8 +163,8 @@

All modules for which code is available

diff --git a/docs/_modules/ngrok/client.html b/docs/_modules/ngrok/client.html index a0a8870..a2764d4 100644 --- a/docs/_modules/ngrok/client.html +++ b/docs/_modules/ngrok/client.html @@ -110,7 +110,7 @@

API

Services

@@ -169,9 +169,8 @@
[docs]class Client(object): - def __init__(self, api_key: str = "", base_url: str = "https://api.ngrok.com"): - self.api_key = api_key or os.getenv("NGROK_API_KEY") - self.api_client = APIClient(api_key, base_url) + def __init__(self, api_key: str, base_url: str = "https://api.ngrok.com"): + self.http_client = HTTPClient(api_key, base_url) @property def abuse_reports(self) -> AbuseReportsClient: diff --git a/docs/_modules/ngrok/objects.html b/docs/_modules/ngrok/datatypes.html similarity index 78% rename from docs/_modules/ngrok/objects.html rename to docs/_modules/ngrok/datatypes.html index 8bf635a..33fbcd3 100644 --- a/docs/_modules/ngrok/objects.html +++ b/docs/_modules/ngrok/datatypes.html @@ -5,7 +5,7 @@ - ngrok.objects - ngrok-api documentation + ngrok.datatypes - ngrok-api documentation @@ -110,7 +110,7 @@

API

Services

@@ -161,13 +161,13 @@ -

Source code for ngrok.objects

+        

Source code for ngrok.datatypes

 from __future__ import annotations
 from typing import Any, Mapping, Sequence
 from .iterator import PagedIterator
 
 
-
[docs]class Ref(object): +
[docs]class Ref(object): def __init__(self, client, props): self._client = client self._props = props @@ -175,8 +175,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<Ref {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<Ref {} {}>".format(self.id, repr(self._props)) + else: + return "<Ref {}>".format(repr(self._props)) @property def id(self) -> str: @@ -189,7 +192,7 @@ return self._props["uri"]
-
[docs]class AbuseReport(object): +
[docs]class AbuseReport(object): def __init__(self, client, props): self._client = client self._props = props @@ -200,8 +203,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<AbuseReport {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<AbuseReport {} {}>".format(self.id, repr(self._props)) + else: + return "<AbuseReport {}>".format(repr(self._props)) @property def id(self) -> str: @@ -239,7 +245,7 @@ return self._props["hostnames"]
-
[docs]class AbuseReportHostname(object): +
[docs]class AbuseReportHostname(object): def __init__(self, client, props): self._client = client self._props = props @@ -247,8 +253,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<AbuseReportHostname {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<AbuseReportHostname {} {}>".format(self.id, repr(self._props)) + else: + return "<AbuseReportHostname {}>".format(repr(self._props)) @property def hostname(self) -> str: @@ -261,7 +270,7 @@ return self._props["status"]
-
[docs]class APIKey(object): +
[docs]class APIKey(object): def __init__(self, client, props): self._client = client self._props = props @@ -269,17 +278,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<APIKey {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<APIKey {} {}>".format(self.id, repr(self._props)) + else: + return "<APIKey {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.api_keys.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -321,7 +333,7 @@ return self._props["token"]
-
[docs]class APIKeyList(object): +
[docs]class APIKeyList(object): def __init__(self, client, props): self._client = client self._props = props @@ -330,8 +342,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<APIKeyList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<APIKeyList {} {}>".format(self.id, repr(self._props)) + else: + return "<APIKeyList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "keys") @@ -352,7 +367,7 @@ return self._props["next_page_uri"]
-
[docs]class CertificateAuthority(object): +
[docs]class CertificateAuthority(object): def __init__(self, client, props): self._client = client self._props = props @@ -360,17 +375,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<CertificateAuthority {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<CertificateAuthority {} {}>".format(self.id, repr(self._props)) + else: + return "<CertificateAuthority {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.certificate_authorities.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -437,7 +455,7 @@ return self._props["extended_key_usages"]
-
[docs]class CertificateAuthorityList(object): +
[docs]class CertificateAuthorityList(object): def __init__(self, client, props): self._client = client self._props = props @@ -448,8 +466,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<CertificateAuthorityList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<CertificateAuthorityList {} {}>".format(self.id, repr(self._props)) + else: + return "<CertificateAuthorityList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "certificate_authorities") @@ -470,7 +491,7 @@ return self._props["next_page_uri"]
-
[docs]class Credential(object): +
[docs]class Credential(object): def __init__(self, client, props): self._client = client self._props = props @@ -478,17 +499,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<Credential {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<Credential {} {}>".format(self.id, repr(self._props)) + else: + return "<Credential {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.credentials.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -537,7 +561,7 @@ return self._props["acl"]
-
[docs]class CredentialList(object): +
[docs]class CredentialList(object): def __init__(self, client, props): self._client = client self._props = props @@ -548,8 +572,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<CredentialList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<CredentialList {} {}>".format(self.id, repr(self._props)) + else: + return "<CredentialList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "credentials") @@ -570,7 +597,7 @@ return self._props["next_page_uri"]
-
[docs]class EventStreamList(object): +
[docs]class EventStreamList(object): def __init__(self, client, props): self._client = client self._props = props @@ -581,8 +608,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EventStreamList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EventStreamList {} {}>".format(self.id, repr(self._props)) + else: + return "<EventStreamList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "event_streams") @@ -603,7 +633,7 @@ return self._props["next_page_uri"]
-
[docs]class EventStream(object): +
[docs]class EventStream(object): def __init__(self, client, props): self._client = client self._props = props @@ -611,17 +641,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EventStream {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EventStream {} {}>".format(self.id, repr(self._props)) + else: + return "<EventStream {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.event_streams.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, metadata: str = None, description: str = None, @@ -684,7 +717,7 @@ return self._props["sampling_rate"]
-
[docs]class EventDestination(object): +
[docs]class EventDestination(object): def __init__(self, client, props): self._client = client self._props = props @@ -693,10 +726,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EventDestination {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EventDestination {} {}>".format(self.id, repr(self._props)) + else: + return "<EventDestination {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.event_destinations.delete( @@ -739,7 +775,7 @@ return self._props["uri"]
-
[docs]class EventDestinationList(object): +
[docs]class EventDestinationList(object): def __init__(self, client, props): self._client = client self._props = props @@ -750,8 +786,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EventDestinationList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EventDestinationList {} {}>".format(self.id, repr(self._props)) + else: + return "<EventDestinationList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "event_destinations") @@ -772,7 +811,7 @@ return self._props["next_page_uri"]
-
[docs]class EventTarget(object): +
[docs]class EventTarget(object): def __init__(self, client, props): self._client = client self._props = props @@ -785,8 +824,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EventTarget {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EventTarget {} {}>".format(self.id, repr(self._props)) + else: + return "<EventTarget {}>".format(repr(self._props)) @property def firehose(self) -> EventTargetFirehose: @@ -804,7 +846,7 @@ return self._props["cloudwatch_logs"]
-
[docs]class EventTargetFirehose(object): +
[docs]class EventTargetFirehose(object): def __init__(self, client, props): self._client = client self._props = props @@ -813,8 +855,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EventTargetFirehose {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EventTargetFirehose {} {}>".format(self.id, repr(self._props)) + else: + return "<EventTargetFirehose {}>".format(repr(self._props)) @property def auth(self) -> AWSAuth: @@ -827,7 +872,7 @@ return self._props["delivery_stream_arn"]
-
[docs]class EventTargetKinesis(object): +
[docs]class EventTargetKinesis(object): def __init__(self, client, props): self._client = client self._props = props @@ -836,8 +881,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EventTargetKinesis {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EventTargetKinesis {} {}>".format(self.id, repr(self._props)) + else: + return "<EventTargetKinesis {}>".format(repr(self._props)) @property def auth(self) -> AWSAuth: @@ -850,7 +898,7 @@ return self._props["stream_arn"]
-
[docs]class EventTargetCloudwatchLogs(object): +
[docs]class EventTargetCloudwatchLogs(object): def __init__(self, client, props): self._client = client self._props = props @@ -859,8 +907,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EventTargetCloudwatchLogs {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EventTargetCloudwatchLogs {} {}>".format( + self.id, repr(self._props) + ) + else: + return "<EventTargetCloudwatchLogs {}>".format(repr(self._props)) @property def auth(self) -> AWSAuth: @@ -873,7 +926,7 @@ return self._props["log_group_arn"]
-
[docs]class AWSAuth(object): +
[docs]class AWSAuth(object): def __init__(self, client, props): self._client = client self._props = props @@ -883,8 +936,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<AWSAuth {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<AWSAuth {} {}>".format(self.id, repr(self._props)) + else: + return "<AWSAuth {}>".format(repr(self._props)) @property def role(self) -> AWSRole: @@ -897,7 +953,7 @@ return self._props["creds"]
-
[docs]class AWSRole(object): +
[docs]class AWSRole(object): def __init__(self, client, props): self._client = client self._props = props @@ -905,8 +961,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<AWSRole {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<AWSRole {} {}>".format(self.id, repr(self._props)) + else: + return "<AWSRole {}>".format(repr(self._props)) @property def role_arn(self) -> str: @@ -914,7 +973,7 @@ return self._props["role_arn"]
-
[docs]class AWSCredentials(object): +
[docs]class AWSCredentials(object): def __init__(self, client, props): self._client = client self._props = props @@ -922,8 +981,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<AWSCredentials {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<AWSCredentials {} {}>".format(self.id, repr(self._props)) + else: + return "<AWSCredentials {}>".format(repr(self._props)) @property def aws_access_key_id(self) -> str: @@ -936,7 +998,7 @@ return self._props["aws_secret_access_key"]
-
[docs]class IPPolicy(object): +
[docs]class IPPolicy(object): def __init__(self, client, props): self._client = client self._props = props @@ -944,17 +1006,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<IPPolicy {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<IPPolicy {} {}>".format(self.id, repr(self._props)) + else: + return "<IPPolicy {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.ip_policies.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -996,7 +1061,7 @@ return self._props["action"]
-
[docs]class IPPolicyList(object): +
[docs]class IPPolicyList(object): def __init__(self, client, props): self._client = client self._props = props @@ -1005,8 +1070,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<IPPolicyList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<IPPolicyList {} {}>".format(self.id, repr(self._props)) + else: + return "<IPPolicyList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ip_policies") @@ -1027,7 +1095,7 @@ return self._props["next_page_uri"]
-
[docs]class IPPolicyRule(object): +
[docs]class IPPolicyRule(object): def __init__(self, client, props): self._client = client self._props = props @@ -1036,17 +1104,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<IPPolicyRule {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<IPPolicyRule {} {}>".format(self.id, repr(self._props)) + else: + return "<IPPolicyRule {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.ip_policy_rules.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -1095,7 +1166,7 @@ return self._props["ip_policy"]
-
[docs]class IPPolicyRuleList(object): +
[docs]class IPPolicyRuleList(object): def __init__(self, client, props): self._client = client self._props = props @@ -1106,8 +1177,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<IPPolicyRuleList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<IPPolicyRuleList {} {}>".format(self.id, repr(self._props)) + else: + return "<IPPolicyRuleList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ip_policy_rules") @@ -1128,7 +1202,7 @@ return self._props["next_page_uri"]
-
[docs]class IPRestriction(object): +
[docs]class IPRestriction(object): def __init__(self, client, props): self._client = client self._props = props @@ -1137,10 +1211,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<IPRestriction {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<IPRestriction {} {}>".format(self.id, repr(self._props)) + else: + return "<IPRestriction {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.ip_restrictions.delete( @@ -1188,7 +1265,7 @@ return self._props["ip_policies"]
-
[docs]class IPRestrictionList(object): +
[docs]class IPRestrictionList(object): def __init__(self, client, props): self._client = client self._props = props @@ -1199,8 +1276,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<IPRestrictionList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<IPRestrictionList {} {}>".format(self.id, repr(self._props)) + else: + return "<IPRestrictionList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ip_restrictions") @@ -1221,7 +1301,7 @@ return self._props["next_page_uri"]
-
[docs]class IPWhitelistEntry(object): +
[docs]class IPWhitelistEntry(object): def __init__(self, client, props): self._client = client self._props = props @@ -1229,17 +1309,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<IPWhitelistEntry {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<IPWhitelistEntry {} {}>".format(self.id, repr(self._props)) + else: + return "<IPWhitelistEntry {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.ip_whitelist.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -1281,7 +1364,7 @@ return self._props["ip_net"]
-
[docs]class IPWhitelistEntryList(object): +
[docs]class IPWhitelistEntryList(object): def __init__(self, client, props): self._client = client self._props = props @@ -1292,8 +1375,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<IPWhitelistEntryList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<IPWhitelistEntryList {} {}>".format(self.id, repr(self._props)) + else: + return "<IPWhitelistEntryList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "whitelist") @@ -1314,7 +1400,7 @@ return self._props["next_page_uri"]
-
[docs]class EndpointConfiguration(object): +
[docs]class EndpointConfiguration(object): def __init__(self, client, props): self._client = client self._props = props @@ -1344,17 +1430,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointConfiguration {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointConfiguration {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointConfiguration {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.endpoint_configurations.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -1480,7 +1569,7 @@ return self._props["oidc"]
-
[docs]class EndpointConfigurationList(object): +
[docs]class EndpointConfigurationList(object): def __init__(self, client, props): self._client = client self._props = props @@ -1491,8 +1580,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointConfigurationList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointConfigurationList {} {}>".format( + self.id, repr(self._props) + ) + else: + return "<EndpointConfigurationList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "endpoint_configurations") @@ -1513,7 +1607,7 @@ return self._props["next_page_uri"]
-
[docs]class EndpointWebhookValidation(object): +
[docs]class EndpointWebhookValidation(object): def __init__(self, client, props): self._client = client self._props = props @@ -1521,8 +1615,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointWebhookValidation {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointWebhookValidation {} {}>".format( + self.id, repr(self._props) + ) + else: + return "<EndpointWebhookValidation {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1540,7 +1639,7 @@ return self._props["secret"]
-
[docs]class EndpointCompression(object): +
[docs]class EndpointCompression(object): def __init__(self, client, props): self._client = client self._props = props @@ -1548,8 +1647,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointCompression {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointCompression {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointCompression {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1557,7 +1659,7 @@ return self._props["enabled"]
-
[docs]class EndpointMutualTLS(object): +
[docs]class EndpointMutualTLS(object): def __init__(self, client, props): self._client = client self._props = props @@ -1568,8 +1670,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointMutualTLS {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointMutualTLS {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointMutualTLS {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1582,7 +1687,7 @@ return self._props["certificate_authorities"]
-
[docs]class EndpointMutualTLSMutate(object): +
[docs]class EndpointMutualTLSMutate(object): def __init__(self, client, props): self._client = client self._props = props @@ -1590,8 +1695,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointMutualTLSMutate {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointMutualTLSMutate {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointMutualTLSMutate {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1604,7 +1712,7 @@ return self._props["certificate_authority_ids"]
-
[docs]class EndpointTLSTermination(object): +
[docs]class EndpointTLSTermination(object): def __init__(self, client, props): self._client = client self._props = props @@ -1612,8 +1720,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointTLSTermination {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointTLSTermination {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointTLSTermination {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1631,7 +1742,7 @@ return self._props["min_version"]
-
[docs]class EndpointLogging(object): +
[docs]class EndpointLogging(object): def __init__(self, client, props): self._client = client self._props = props @@ -1640,8 +1751,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointLogging {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointLogging {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointLogging {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1654,7 +1768,7 @@ return self._props["event_streams"]
-
[docs]class EndpointLoggingMutate(object): +
[docs]class EndpointLoggingMutate(object): def __init__(self, client, props): self._client = client self._props = props @@ -1662,8 +1776,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointLoggingMutate {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointLoggingMutate {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointLoggingMutate {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1676,7 +1793,7 @@ return self._props["event_stream_ids"]
-
[docs]class EndpointRequestHeaders(object): +
[docs]class EndpointRequestHeaders(object): def __init__(self, client, props): self._client = client self._props = props @@ -1684,8 +1801,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointRequestHeaders {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointRequestHeaders {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointRequestHeaders {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1703,7 +1823,7 @@ return self._props["remove"]
-
[docs]class EndpointResponseHeaders(object): +
[docs]class EndpointResponseHeaders(object): def __init__(self, client, props): self._client = client self._props = props @@ -1711,8 +1831,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointResponseHeaders {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointResponseHeaders {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointResponseHeaders {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1730,7 +1853,7 @@ return self._props["remove"]
-
[docs]class EndpointIPPolicy(object): +
[docs]class EndpointIPPolicy(object): def __init__(self, client, props): self._client = client self._props = props @@ -1739,8 +1862,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointIPPolicy {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointIPPolicy {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointIPPolicy {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1752,7 +1878,7 @@ return self._props["ip_policies"]
-
[docs]class EndpointIPPolicyMutate(object): +
[docs]class EndpointIPPolicyMutate(object): def __init__(self, client, props): self._client = client self._props = props @@ -1760,8 +1886,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointIPPolicyMutate {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointIPPolicyMutate {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointIPPolicyMutate {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1774,7 +1903,7 @@ return self._props["ip_policy_ids"]
-
[docs]class EndpointCircuitBreaker(object): +
[docs]class EndpointCircuitBreaker(object): def __init__(self, client, props): self._client = client self._props = props @@ -1782,8 +1911,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointCircuitBreaker {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointCircuitBreaker {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointCircuitBreaker {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1816,7 +1948,7 @@ return self._props["error_threshold_percentage"]
-
[docs]class EndpointOAuth(object): +
[docs]class EndpointOAuth(object): def __init__(self, client, props): self._client = client self._props = props @@ -1825,8 +1957,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointOAuth {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointOAuth {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointOAuth {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1864,7 +1999,7 @@ return self._props["auth_check_interval"]
-
[docs]class EndpointOAuthProvider(object): +
[docs]class EndpointOAuthProvider(object): def __init__(self, client, props): self._client = client self._props = props @@ -1876,8 +2011,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointOAuthProvider {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointOAuthProvider {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointOAuthProvider {}>".format(repr(self._props)) @property def github(self) -> EndpointOAuthGitHub: @@ -1900,7 +2038,7 @@ return self._props["google"]
-
[docs]class EndpointOAuthGitHub(object): +
[docs]class EndpointOAuthGitHub(object): def __init__(self, client, props): self._client = client self._props = props @@ -1908,8 +2046,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointOAuthGitHub {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointOAuthGitHub {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointOAuthGitHub {}>".format(repr(self._props)) @property def client_id(self) -> str: @@ -1947,7 +2088,7 @@ return self._props["organizations"]
-
[docs]class EndpointOAuthFacebook(object): +
[docs]class EndpointOAuthFacebook(object): def __init__(self, client, props): self._client = client self._props = props @@ -1955,8 +2096,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointOAuthFacebook {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointOAuthFacebook {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointOAuthFacebook {}>".format(repr(self._props)) @property def client_id(self) -> str: @@ -1984,7 +2128,7 @@ return self._props["email_domains"]
-
[docs]class EndpointOAuthMicrosoft(object): +
[docs]class EndpointOAuthMicrosoft(object): def __init__(self, client, props): self._client = client self._props = props @@ -1992,8 +2136,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointOAuthMicrosoft {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointOAuthMicrosoft {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointOAuthMicrosoft {}>".format(repr(self._props)) @property def client_id(self) -> str: @@ -2021,7 +2168,7 @@ return self._props["email_domains"]
-
[docs]class EndpointOAuthGoogle(object): +
[docs]class EndpointOAuthGoogle(object): def __init__(self, client, props): self._client = client self._props = props @@ -2029,8 +2176,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointOAuthGoogle {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointOAuthGoogle {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointOAuthGoogle {}>".format(repr(self._props)) @property def client_id(self) -> str: @@ -2058,7 +2208,7 @@ return self._props["email_domains"]
-
[docs]class EndpointSAML(object): +
[docs]class EndpointSAML(object): def __init__(self, client, props): self._client = client self._props = props @@ -2066,8 +2216,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointSAML {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointSAML {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointSAML {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -2140,7 +2293,7 @@ return self._props["metadata_url"]
-
[docs]class EndpointSAMLMutate(object): +
[docs]class EndpointSAMLMutate(object): def __init__(self, client, props): self._client = client self._props = props @@ -2148,8 +2301,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointSAMLMutate {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointSAMLMutate {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointSAMLMutate {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -2197,7 +2353,7 @@ return self._props["authorized_groups"]
-
[docs]class EndpointOIDC(object): +
[docs]class EndpointOIDC(object): def __init__(self, client, props): self._client = client self._props = props @@ -2205,8 +2361,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<EndpointOIDC {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<EndpointOIDC {} {}>".format(self.id, repr(self._props)) + else: + return "<EndpointOIDC {}>".format(repr(self._props)) @property def enabled(self) -> bool: @@ -2254,7 +2413,7 @@ return self._props["scopes"]
-
[docs]class ReservedAddr(object): +
[docs]class ReservedAddr(object): def __init__(self, client, props): self._client = client self._props = props @@ -2265,10 +2424,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<ReservedAddr {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<ReservedAddr {} {}>".format(self.id, repr(self._props)) + else: + return "<ReservedAddr {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.reserved_addrs.delete( @@ -2316,7 +2478,7 @@ return self._props["endpoint_configuration"]
-
[docs]class ReservedAddrList(object): +
[docs]class ReservedAddrList(object): def __init__(self, client, props): self._client = client self._props = props @@ -2327,8 +2489,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<ReservedAddrList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<ReservedAddrList {} {}>".format(self.id, repr(self._props)) + else: + return "<ReservedAddrList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "reserved_addrs") @@ -2349,7 +2514,7 @@ return self._props["next_page_uri"]
-
[docs]class ReservedDomain(object): +
[docs]class ReservedDomain(object): def __init__(self, client, props): self._client = client self._props = props @@ -2370,10 +2535,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<ReservedDomain {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<ReservedDomain {} {}>".format(self.id, repr(self._props)) + else: + return "<ReservedDomain {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.reserved_domains.delete( @@ -2446,7 +2614,7 @@ return self._props["certificate_management_status"]
-
[docs]class ReservedDomainList(object): +
[docs]class ReservedDomainList(object): def __init__(self, client, props): self._client = client self._props = props @@ -2457,8 +2625,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<ReservedDomainList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<ReservedDomainList {} {}>".format(self.id, repr(self._props)) + else: + return "<ReservedDomainList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "reserved_domains") @@ -2479,7 +2650,7 @@ return self._props["next_page_uri"]
-
[docs]class ReservedDomainCertPolicy(object): +
[docs]class ReservedDomainCertPolicy(object): def __init__(self, client, props): self._client = client self._props = props @@ -2487,8 +2658,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<ReservedDomainCertPolicy {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<ReservedDomainCertPolicy {} {}>".format(self.id, repr(self._props)) + else: + return "<ReservedDomainCertPolicy {}>".format(repr(self._props)) @property def authority(self) -> str: @@ -2501,7 +2675,7 @@ return self._props["private_key_type"]
-
[docs]class ReservedDomainCertStatus(object): +
[docs]class ReservedDomainCertStatus(object): def __init__(self, client, props): self._client = client self._props = props @@ -2512,8 +2686,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<ReservedDomainCertStatus {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<ReservedDomainCertStatus {} {}>".format(self.id, repr(self._props)) + else: + return "<ReservedDomainCertStatus {}>".format(repr(self._props)) @property def renews_at(self) -> str: @@ -2526,7 +2703,7 @@ return self._props["provisioning_job"]
-
[docs]class ReservedDomainCertNSTarget(object): +
[docs]class ReservedDomainCertNSTarget(object): def __init__(self, client, props): self._client = client self._props = props @@ -2534,8 +2711,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<ReservedDomainCertNSTarget {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<ReservedDomainCertNSTarget {} {}>".format( + self.id, repr(self._props) + ) + else: + return "<ReservedDomainCertNSTarget {}>".format(repr(self._props)) @property def zone(self) -> str: @@ -2548,7 +2730,7 @@ return self._props["nameservers"]
-
[docs]class ReservedDomainCertJob(object): +
[docs]class ReservedDomainCertJob(object): def __init__(self, client, props): self._client = client self._props = props @@ -2559,8 +2741,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<ReservedDomainCertJob {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<ReservedDomainCertJob {} {}>".format(self.id, repr(self._props)) + else: + return "<ReservedDomainCertJob {}>".format(repr(self._props)) @property def error_code(self) -> str: @@ -2588,7 +2773,7 @@ return self._props["ns_targets"]
-
[docs]class SSHCertificateAuthority(object): +
[docs]class SSHCertificateAuthority(object): def __init__(self, client, props): self._client = client self._props = props @@ -2596,17 +2781,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<SSHCertificateAuthority {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<SSHCertificateAuthority {} {}>".format(self.id, repr(self._props)) + else: + return "<SSHCertificateAuthority {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.ssh_certificate_authorities.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -2653,7 +2841,7 @@ return self._props["key_type"]
-
[docs]class SSHCertificateAuthorityList(object): +
[docs]class SSHCertificateAuthorityList(object): def __init__(self, client, props): self._client = client self._props = props @@ -2665,8 +2853,13 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<SSHCertificateAuthorityList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<SSHCertificateAuthorityList {} {}>".format( + self.id, repr(self._props) + ) + else: + return "<SSHCertificateAuthorityList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ssh_certificate_authorities") @@ -2687,7 +2880,7 @@ return self._props["next_page_uri"]
-
[docs]class SSHCredential(object): +
[docs]class SSHCredential(object): def __init__(self, client, props): self._client = client self._props = props @@ -2695,17 +2888,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<SSHCredential {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<SSHCredential {} {}>".format(self.id, repr(self._props)) + else: + return "<SSHCredential {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.ssh_credentials.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -2754,7 +2950,7 @@ return self._props["acl"]
-
[docs]class SSHCredentialList(object): +
[docs]class SSHCredentialList(object): def __init__(self, client, props): self._client = client self._props = props @@ -2765,8 +2961,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<SSHCredentialList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<SSHCredentialList {} {}>".format(self.id, repr(self._props)) + else: + return "<SSHCredentialList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ssh_credentials") @@ -2787,7 +2986,7 @@ return self._props["next_page_uri"]
-
[docs]class SSHHostCertificate(object): +
[docs]class SSHHostCertificate(object): def __init__(self, client, props): self._client = client self._props = props @@ -2795,17 +2994,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<SSHHostCertificate {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<SSHHostCertificate {} {}>".format(self.id, repr(self._props)) + else: + return "<SSHHostCertificate {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.ssh_host_certificates.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -2877,7 +3079,7 @@ return self._props["certificate"]
-
[docs]class SSHHostCertificateList(object): +
[docs]class SSHHostCertificateList(object): def __init__(self, client, props): self._client = client self._props = props @@ -2888,8 +3090,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<SSHHostCertificateList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<SSHHostCertificateList {} {}>".format(self.id, repr(self._props)) + else: + return "<SSHHostCertificateList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ssh_host_certificates") @@ -2910,7 +3115,7 @@ return self._props["next_page_uri"]
-
[docs]class SSHUserCertificate(object): +
[docs]class SSHUserCertificate(object): def __init__(self, client, props): self._client = client self._props = props @@ -2918,17 +3123,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<SSHUserCertificate {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<SSHUserCertificate {} {}>".format(self.id, repr(self._props)) + else: + return "<SSHUserCertificate {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.ssh_user_certificates.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -3010,7 +3218,7 @@ return self._props["certificate"]
-
[docs]class SSHUserCertificateList(object): +
[docs]class SSHUserCertificateList(object): def __init__(self, client, props): self._client = client self._props = props @@ -3021,8 +3229,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<SSHUserCertificateList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<SSHUserCertificateList {} {}>".format(self.id, repr(self._props)) + else: + return "<SSHUserCertificateList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ssh_user_certificates") @@ -3043,7 +3254,7 @@ return self._props["next_page_uri"]
-
[docs]class TLSCertificate(object): +
[docs]class TLSCertificate(object): def __init__(self, client, props): self._client = client self._props = props @@ -3054,17 +3265,20 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<TLSCertificate {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<TLSCertificate {} {}>".format(self.id, repr(self._props)) + else: + return "<TLSCertificate {}>".format(repr(self._props)) -
[docs] def delete( +
[docs] def delete( self, ): self._client.tls_certificates.delete( id=self.id, )
-
[docs] def update( +
[docs] def update( self, description: str = None, metadata: str = None, @@ -3181,7 +3395,7 @@ return self._props["subject_country"]
-
[docs]class TLSCertificateList(object): +
[docs]class TLSCertificateList(object): def __init__(self, client, props): self._client = client self._props = props @@ -3192,8 +3406,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<TLSCertificateList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<TLSCertificateList {} {}>".format(self.id, repr(self._props)) + else: + return "<TLSCertificateList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "tls_certificates") @@ -3214,7 +3431,7 @@ return self._props["next_page_uri"]
-
[docs]class TLSCertificateSANs(object): +
[docs]class TLSCertificateSANs(object): def __init__(self, client, props): self._client = client self._props = props @@ -3222,8 +3439,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<TLSCertificateSANs {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<TLSCertificateSANs {} {}>".format(self.id, repr(self._props)) + else: + return "<TLSCertificateSANs {}>".format(repr(self._props)) @property def dns_names(self) -> Sequence[str]: @@ -3236,7 +3456,7 @@ return self._props["ips"]
-
[docs]class TunnelSession(object): +
[docs]class TunnelSession(object): def __init__(self, client, props): self._client = client self._props = props @@ -3245,8 +3465,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<TunnelSession {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<TunnelSession {} {}>".format(self.id, repr(self._props)) + else: + return "<TunnelSession {}>".format(repr(self._props)) @property def agent_version(self) -> str: @@ -3299,7 +3522,7 @@ return self._props["uri"]
-
[docs]class TunnelSessionList(object): +
[docs]class TunnelSessionList(object): def __init__(self, client, props): self._client = client self._props = props @@ -3310,8 +3533,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<TunnelSessionList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<TunnelSessionList {} {}>".format(self.id, repr(self._props)) + else: + return "<TunnelSessionList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "tunnel_sessions") @@ -3332,7 +3558,7 @@ return self._props["next_page_uri"]
-
[docs]class Tunnel(object): +
[docs]class Tunnel(object): def __init__(self, client, props): self._client = client self._props = props @@ -3341,8 +3567,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<Tunnel {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<Tunnel {} {}>".format(self.id, repr(self._props)) + else: + return "<Tunnel {}>".format(repr(self._props)) @property def id(self) -> str: @@ -3380,7 +3609,7 @@ return self._props["tunnel_session"]
-
[docs]class TunnelList(object): +
[docs]class TunnelList(object): def __init__(self, client, props): self._client = client self._props = props @@ -3389,8 +3618,11 @@ def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "<TunnelList {}>".format(self.id) + def __str__(self): + if "id" in self._props: + return "<TunnelList {} {}>".format(self.id, repr(self._props)) + else: + return "<TunnelList {}>".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "tunnels") diff --git a/docs/_modules/ngrok/error.html b/docs/_modules/ngrok/error.html index 57856f7..27cd0c0 100644 --- a/docs/_modules/ngrok/error.html +++ b/docs/_modules/ngrok/error.html @@ -110,7 +110,7 @@

API

Services

@@ -187,7 +187,15 @@ super().__init__(self, message) self.error_code = error_code self.http_status_code = http_status_code - self.details = details
+ self.details = details + + @property + def operation_id(self): + """ + OperationID returns the unique trace ID assigned by ngrok to this API + request. + """ + return self.details.get("operation_id")
[docs]class NotFoundError(Error): diff --git a/docs/_modules/ngrok/services.html b/docs/_modules/ngrok/services.html index 5e5557a..a2763b0 100644 --- a/docs/_modules/ngrok/services.html +++ b/docs/_modules/ngrok/services.html @@ -110,7 +110,7 @@

API

Services

@@ -166,8 +166,8 @@ from collections.abc import Iterator from typing import Any, Mapping, Sequence -from .api_client import APIClient -from .objects import * +from .http_client import HTTPClient +from .datatypes import *
[docs]class AbuseReportsClient(object): @@ -183,9 +183,11 @@ :param urls: a list of URLs containing suspected abusive content :param metadata: arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-abuse-reports-create """ path = "/abuse_reports" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( urls=urls, @@ -201,12 +203,14 @@ """Get the detailed status of abuse report by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-abuse-reports-get """ path = "/abuse_reports/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return AbuseReport(self._client, result)
@@ -223,9 +227,11 @@ :param description: human-readable description of what uses the API key to authenticate. optional, max 255 bytes. :param metadata: arbitrary user-defined data of this API key. optional, max 4096 bytes + + https://ngrok.com/docs/api#api-api-keys-create """ path = "/api_keys" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -241,12 +247,14 @@ """Delete an API key by ID :param id: a resource identifier + + https://ngrok.com/docs/api#api-api-keys-delete """ path = "/api_keys/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -255,12 +263,14 @@ """Get the details of an API key by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-api-keys-get """ path = "/api_keys/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return APIKey(self._client, result)
[docs] def list( @@ -272,9 +282,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-api-keys-list """ path = "/api_keys" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -294,12 +306,14 @@ :param id: :param description: human-readable description of what uses the API key to authenticate. optional, max 255 bytes. :param metadata: arbitrary user-defined data of this API key. optional, max 4096 bytes + + https://ngrok.com/docs/api#api-api-keys-update """ path = "/api_keys/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -324,9 +338,11 @@ :param description: human-readable description of this Certificate Authority. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. :param ca_pem: raw PEM of the Certificate Authority + + https://ngrok.com/docs/api#api-certificate-authorities-create """ path = "/certificate_authorities" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -343,12 +359,14 @@ """Delete a Certificate Authority :param id: a resource identifier + + https://ngrok.com/docs/api#api-certificate-authorities-delete """ path = "/certificate_authorities/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -357,12 +375,14 @@ """Get detailed information about a certficate authority :param id: a resource identifier + + https://ngrok.com/docs/api#api-certificate-authorities-get """ path = "/certificate_authorities/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return CertificateAuthority(self._client, result)
[docs] def list( @@ -374,9 +394,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-certificate-authorities-list """ path = "/certificate_authorities" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -396,12 +418,14 @@ :param id: :param description: human-readable description of this Certificate Authority. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-certificate-authorities-update """ path = "/certificate_authorities/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -426,9 +450,11 @@ :param description: human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. :param acl: 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. + + https://ngrok.com/docs/api#api-credentials-create """ path = "/credentials" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -445,12 +471,14 @@ """Delete a tunnel authtoken credential by ID :param id: a resource identifier + + https://ngrok.com/docs/api#api-credentials-delete """ path = "/credentials/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -459,12 +487,14 @@ """Get detailed information about a tunnel authtoken credential :param id: a resource identifier + + https://ngrok.com/docs/api#api-credentials-get """ path = "/credentials/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return Credential(self._client, result)
[docs] def list( @@ -476,9 +506,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-credentials-list """ path = "/credentials" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -500,12 +532,14 @@ :param description: human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. :param acl: 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. + + https://ngrok.com/docs/api#api-credentials-update """ path = "/credentials/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -537,9 +571,11 @@ :param event_type: The protocol that determines which events will be collected. Supported values are ``tcp_connection_closed`` and ``http_request_complete``. :param destination_ids: A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. :param sampling_rate: The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. + + https://ngrok.com/docs/api#api-event-streams-create """ path = "/event_streams" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( metadata=metadata, @@ -559,12 +595,14 @@ """Delete an Event Stream. Associated Event Destinations will be preserved. :param id: a resource identifier + + https://ngrok.com/docs/api#api-event-streams-delete """ path = "/event_streams/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -573,12 +611,14 @@ """Get detailed information about an Event Stream by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-event-streams-get """ path = "/event_streams/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EventStream(self._client, result)
[docs] def list( @@ -590,9 +630,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-event-streams-list """ path = "/event_streams" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -618,12 +660,14 @@ :param fields: A list of protocol-specific fields you want to collect on each event. :param destination_ids: A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. :param sampling_rate: The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. + + https://ngrok.com/docs/api#api-event-streams-update """ path = "/event_streams/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( metadata=metadata, @@ -653,9 +697,11 @@ :param description: Human-readable description of the Event Destination. Optional, max 255 bytes. :param format: The output format you would like to serialize events into when sending to their target. Currently the only accepted value is ``JSON``. :param target: 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``. + + https://ngrok.com/docs/api#api-event-destinations-create """ path = "/event_destinations" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( metadata=metadata, @@ -673,12 +719,14 @@ """Delete an Event Destination. If the Event Destination is still referenced by an Event Stream, this will throw an error until that Event Stream has removed that reference. :param id: a resource identifier + + https://ngrok.com/docs/api#api-event-destinations-delete """ path = "/event_destinations/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -687,12 +735,14 @@ """Get detailed information about an Event Destination by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-event-destinations-get """ path = "/event_destinations/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EventDestination(self._client, result)
[docs] def list( @@ -704,9 +754,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-event-destinations-list """ path = "/event_destinations" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -730,12 +782,14 @@ :param description: Human-readable description of the Event Destination. Optional, max 255 bytes. :param format: The output format you would like to serialize events into when sending to their target. Currently the only accepted value is ``JSON``. :param target: 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``. + + https://ngrok.com/docs/api#api-event-destinations-update """ path = "/event_destinations/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( metadata=metadata, @@ -762,9 +816,11 @@ :param description: human-readable description of the source IPs of this IP policy. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. :param action: the IP policy action. Supported values are ``allow`` or ``deny`` + + https://ngrok.com/docs/api#api-ip-policies-create """ path = "/ip_policies" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -781,12 +837,14 @@ """Delete an IP policy. If the IP policy is referenced by another object for the purposes of traffic restriction it will be treated as if the IP policy remains but has zero rules. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-policies-delete """ path = "/ip_policies/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -795,12 +853,14 @@ """Get detailed information about an IP policy by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-policies-get """ path = "/ip_policies/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return IPPolicy(self._client, result)
[docs] def list( @@ -812,9 +872,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ip-policies-list """ path = "/ip_policies" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -834,12 +896,14 @@ :param id: :param description: human-readable description of the source IPs of this IP policy. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ip-policies-update """ path = "/ip_policies/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -866,9 +930,11 @@ :param metadata: arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. :param cidr: an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. :param ip_policy_id: ID of the IP policy this IP policy rule will be attached to + + https://ngrok.com/docs/api#api-ip-policy-rules-create """ path = "/ip_policy_rules" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -886,12 +952,14 @@ """Delete an IP policy rule. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-policy-rules-delete """ path = "/ip_policy_rules/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -900,12 +968,14 @@ """Get detailed information about an IP policy rule by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-policy-rules-get """ path = "/ip_policy_rules/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return IPPolicyRule(self._client, result)
[docs] def list( @@ -917,9 +987,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ip-policy-rules-list """ path = "/ip_policy_rules" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -941,12 +1013,14 @@ :param description: human-readable description of the source IPs of this IP rule. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. :param cidr: an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. + + https://ngrok.com/docs/api#api-ip-policy-rules-update """ path = "/ip_policy_rules/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -976,9 +1050,11 @@ :param enforced: true if the IP restriction will be enforce. if false, only warnings will be issued :param type: 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`` :param ip_policy_ids: the set of IP policy identifiers that are used to enforce the restriction + + https://ngrok.com/docs/api#api-ip-restrictions-create """ path = "/ip_restrictions" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -997,12 +1073,14 @@ """Delete an IP restriction :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-restrictions-delete """ path = "/ip_restrictions/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -1011,12 +1089,14 @@ """Get detailed information about an IP restriction :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-restrictions-get """ path = "/ip_restrictions/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return IPRestriction(self._client, result)
[docs] def list( @@ -1028,9 +1108,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ip-restrictions-list """ path = "/ip_restrictions" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -1054,12 +1136,14 @@ :param metadata: arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. :param enforced: true if the IP restriction will be enforce. if false, only warnings will be issued :param ip_policy_ids: the set of IP policy identifiers that are used to enforce the restriction + + https://ngrok.com/docs/api#api-ip-restrictions-update """ path = "/ip_restrictions/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -1086,9 +1170,11 @@ :param description: human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. :param ip_net: an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints + + https://ngrok.com/docs/api#api-ip-whitelist-create """ path = "/ip_whitelist" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -1105,12 +1191,14 @@ """Delete an IP whitelist entry. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-whitelist-delete """ path = "/ip_whitelist/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -1119,12 +1207,14 @@ """Get detailed information about an IP whitelist entry by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-whitelist-get """ path = "/ip_whitelist/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return IPWhitelistEntry(self._client, result)
[docs] def list( @@ -1136,9 +1226,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ip-whitelist-list """ path = "/ip_whitelist" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -1158,12 +1250,14 @@ :param id: :param description: human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ip-whitelist-update """ path = "/ip_whitelist/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -1215,9 +1309,11 @@ :param logging: logging module configuration or ``null`` :param saml: saml module configuration or ``null`` :param oidc: oidc module configuration or ``null`` + + https://ngrok.com/docs/api#api-endpoint-configurations-create """ path = "/endpoint_configurations" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( type=type, @@ -1246,12 +1342,14 @@ """Delete an endpoint configuration. This operation will fail if the endpoint configuration is still referenced by any reserved domain or reserved address. :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-configurations-delete """ path = "/endpoint_configurations/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -1260,12 +1358,14 @@ """Returns detailed information about an endpoint configuration :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-configurations-get """ path = "/endpoint_configurations/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointConfiguration(self._client, result)
[docs] def list( @@ -1277,9 +1377,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-endpoint-configurations-list """ path = "/endpoint_configurations" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -1323,12 +1425,14 @@ :param logging: logging module configuration or ``null`` :param saml: saml module configuration or ``null`` :param oidc: oidc module configuration or ``null`` + + https://ngrok.com/docs/api#api-endpoint-configurations-update """ path = "/endpoint_configurations/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -1363,12 +1467,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-logging-module-replace """ path = "/endpoint_configurations/{id}/logging" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1383,12 +1489,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-logging-module-get """ path = "/endpoint_configurations/{id}/logging" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointLogging(self._client, result)
[docs] def delete( @@ -1398,12 +1506,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-logging-module-delete """ path = "/endpoint_configurations/{id}/logging" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointCircuitBreakerModuleClient(object): @@ -1419,12 +1529,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-replace """ path = "/endpoint_configurations/{id}/circuit_breaker" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1439,12 +1551,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-get """ path = "/endpoint_configurations/{id}/circuit_breaker" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointCircuitBreaker(self._client, result)
[docs] def delete( @@ -1454,12 +1568,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-delete """ path = "/endpoint_configurations/{id}/circuit_breaker" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointCompressionModuleClient(object): @@ -1475,12 +1591,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-compression-module-replace """ path = "/endpoint_configurations/{id}/compression" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1495,12 +1613,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-compression-module-get """ path = "/endpoint_configurations/{id}/compression" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointCompression(self._client, result)
[docs] def delete( @@ -1510,12 +1630,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-compression-module-delete """ path = "/endpoint_configurations/{id}/compression" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointTLSTerminationModuleClient(object): @@ -1531,12 +1653,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-tls-termination-module-replace """ path = "/endpoint_configurations/{id}/tls_termination" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1551,12 +1675,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-tls-termination-module-get """ path = "/endpoint_configurations/{id}/tls_termination" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointTLSTermination(self._client, result)
[docs] def delete( @@ -1566,12 +1692,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-tls-termination-module-delete """ path = "/endpoint_configurations/{id}/tls_termination" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointIPPolicyModuleClient(object): @@ -1587,12 +1715,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-ip-policy-module-replace """ path = "/endpoint_configurations/{id}/ip_policy" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1607,12 +1737,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-ip-policy-module-get """ path = "/endpoint_configurations/{id}/ip_policy" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointIPPolicy(self._client, result)
[docs] def delete( @@ -1622,12 +1754,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-ip-policy-module-delete """ path = "/endpoint_configurations/{id}/ip_policy" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointMutualTLSModuleClient(object): @@ -1643,12 +1777,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-replace """ path = "/endpoint_configurations/{id}/mutual_tls" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1663,12 +1799,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-get """ path = "/endpoint_configurations/{id}/mutual_tls" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointMutualTLS(self._client, result)
[docs] def delete( @@ -1678,12 +1816,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-delete """ path = "/endpoint_configurations/{id}/mutual_tls" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointRequestHeadersModuleClient(object): @@ -1699,12 +1839,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-request-headers-module-replace """ path = "/endpoint_configurations/{id}/request_headers" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1719,12 +1861,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-request-headers-module-get """ path = "/endpoint_configurations/{id}/request_headers" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointRequestHeaders(self._client, result)
[docs] def delete( @@ -1734,12 +1878,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-request-headers-module-delete """ path = "/endpoint_configurations/{id}/request_headers" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointResponseHeadersModuleClient(object): @@ -1755,12 +1901,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-response-headers-module-replace """ path = "/endpoint_configurations/{id}/response_headers" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1775,12 +1923,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-response-headers-module-get """ path = "/endpoint_configurations/{id}/response_headers" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointResponseHeaders(self._client, result)
[docs] def delete( @@ -1790,12 +1940,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-response-headers-module-delete """ path = "/endpoint_configurations/{id}/response_headers" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointOAuthModuleClient(object): @@ -1811,12 +1963,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-o-auth-module-replace """ path = "/endpoint_configurations/{id}/oauth" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1831,12 +1985,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-o-auth-module-get """ path = "/endpoint_configurations/{id}/oauth" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointOAuth(self._client, result)
[docs] def delete( @@ -1846,12 +2002,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-o-auth-module-delete """ path = "/endpoint_configurations/{id}/oauth" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointWebhookValidationModuleClient(object): @@ -1867,12 +2025,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-replace """ path = "/endpoint_configurations/{id}/webhook_validation" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1887,12 +2047,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-get """ path = "/endpoint_configurations/{id}/webhook_validation" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointWebhookValidation(self._client, result)
[docs] def delete( @@ -1902,12 +2064,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-delete """ path = "/endpoint_configurations/{id}/webhook_validation" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointSAMLModuleClient(object): @@ -1923,12 +2087,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-saml-module-replace """ path = "/endpoint_configurations/{id}/saml" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1943,12 +2109,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-saml-module-get """ path = "/endpoint_configurations/{id}/saml" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointSAML(self._client, result)
[docs] def delete( @@ -1958,12 +2126,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-saml-module-delete """ path = "/endpoint_configurations/{id}/saml" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class EndpointOIDCModuleClient(object): @@ -1979,12 +2149,14 @@ :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-oidc-module-replace """ path = "/endpoint_configurations/{id}/oidc" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1999,12 +2171,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-oidc-module-get """ path = "/endpoint_configurations/{id}/oidc" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointOIDC(self._client, result)
[docs] def delete( @@ -2014,12 +2188,14 @@ """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-oidc-module-delete """ path = "/endpoint_configurations/{id}/oidc" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class ReservedAddrsClient(object): @@ -2039,9 +2215,11 @@ :param metadata: arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. :param region: reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) :param endpoint_configuration_id: ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address + + https://ngrok.com/docs/api#api-reserved-addrs-create """ path = "/reserved_addrs" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -2059,12 +2237,14 @@ """Delete a reserved address. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-addrs-delete """ path = "/reserved_addrs/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -2073,12 +2253,14 @@ """Get the details of a reserved address. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-addrs-get """ path = "/reserved_addrs/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return ReservedAddr(self._client, result)
[docs] def list( @@ -2090,9 +2272,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-reserved-addrs-list """ path = "/reserved_addrs" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2114,12 +2298,14 @@ :param description: human-readable description of what this reserved address will be used for :param metadata: arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. :param endpoint_configuration_id: ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address + + https://ngrok.com/docs/api#api-reserved-addrs-update """ path = "/reserved_addrs/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2136,12 +2322,14 @@ """Detach the endpoint configuration attached to a reserved address. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-addrs-delete-endpoint-config """ path = "/reserved_addrs/{id}/endpoint_configuration" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class ReservedDomainsClient(object): @@ -2169,9 +2357,11 @@ :param https_endpoint_configuration_id: ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain :param certificate_id: ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with ``certificate_management_policy``. :param certificate_management_policy: configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with ``certificate_id``. + + https://ngrok.com/docs/api#api-reserved-domains-create """ path = "/reserved_domains" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( name=name, @@ -2193,12 +2383,14 @@ """Delete a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete """ path = "/reserved_domains/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -2207,12 +2399,14 @@ """Get the details of a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-get """ path = "/reserved_domains/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return ReservedDomain(self._client, result)
[docs] def list( @@ -2224,9 +2418,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-reserved-domains-list """ path = "/reserved_domains" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2254,12 +2450,14 @@ :param https_endpoint_configuration_id: ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain :param certificate_id: ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with ``certificate_management_policy``. :param certificate_management_policy: configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with ``certificate_id``. + + https://ngrok.com/docs/api#api-reserved-domains-update """ path = "/reserved_domains/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2279,12 +2477,14 @@ """Detach the certificate management policy attached to a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete-certificate-management-policy """ path = "/reserved_domains/{id}/certificate_management_policy" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def delete_certificate( self, @@ -2293,12 +2493,14 @@ """Detach the certificate attached to a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete-certificate """ path = "/reserved_domains/{id}/certificate" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def delete_http_endpoint_config( self, @@ -2307,12 +2509,14 @@ """Detach the http endpoint configuration attached to a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete-http-endpoint-config """ path = "/reserved_domains/{id}/http_endpoint_configuration" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def delete_https_endpoint_config( self, @@ -2321,12 +2525,14 @@ """Detach the https endpoint configuration attached to a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete-https-endpoint-config """ path = "/reserved_domains/{id}/https_endpoint_configuration" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs]class SSHCertificateAuthoritiesClient(object): @@ -2348,9 +2554,11 @@ :param private_key_type: the type of private key to generate. one of ``rsa``, ``ecdsa``, ``ed25519`` :param elliptic_curve: the type of elliptic curve to use when creating an ECDSA key :param key_size: the key size to use when creating an RSA key. one of ``2048`` or ``4096`` + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-create """ path = "/ssh_certificate_authorities" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -2369,12 +2577,14 @@ """Delete an SSH Certificate Authority :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-delete """ path = "/ssh_certificate_authorities/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -2383,12 +2593,14 @@ """Get detailed information about an SSH Certficate Authority :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-get """ path = "/ssh_certificate_authorities/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return SSHCertificateAuthority(self._client, result)
[docs] def list( @@ -2400,9 +2612,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-list """ path = "/ssh_certificate_authorities" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2422,12 +2636,14 @@ :param id: :param description: human-readable description of this SSH Certificate Authority. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-update """ path = "/ssh_certificate_authorities/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2454,9 +2670,11 @@ :param metadata: arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. :param acl: 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. :param public_key: the PEM-encoded public key of the SSH keypair that will be used to authenticate + + https://ngrok.com/docs/api#api-ssh-credentials-create """ path = "/ssh_credentials" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -2474,12 +2692,14 @@ """Delete an ssh_credential by ID :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-credentials-delete """ path = "/ssh_credentials/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -2488,12 +2708,14 @@ """Get detailed information about an ssh_credential :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-credentials-get """ path = "/ssh_credentials/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return SSHCredential(self._client, result)
[docs] def list( @@ -2505,9 +2727,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ssh-credentials-list """ path = "/ssh_credentials" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2529,12 +2753,14 @@ :param description: human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. :param acl: 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. + + https://ngrok.com/docs/api#api-ssh-credentials-update """ path = "/ssh_credentials/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2568,9 +2794,11 @@ :param valid_until: 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``. :param description: human-readable description of this SSH Host Certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-host-certificates-create """ path = "/ssh_host_certificates" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( ssh_certificate_authority_id=ssh_certificate_authority_id, @@ -2591,12 +2819,14 @@ """Delete an SSH Host Certificate :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-host-certificates-delete """ path = "/ssh_host_certificates/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -2605,12 +2835,14 @@ """Get detailed information about an SSH Host Certficate :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-host-certificates-get """ path = "/ssh_host_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return SSHHostCertificate(self._client, result)
[docs] def list( @@ -2622,9 +2854,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ssh-host-certificates-list """ path = "/ssh_host_certificates" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2644,12 +2878,14 @@ :param id: :param description: human-readable description of this SSH Host Certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-host-certificates-update """ path = "/ssh_host_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2686,9 +2922,11 @@ :param valid_until: The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this ``valid_before``. :param description: human-readable description of this SSH User Certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-user-certificates-create """ path = "/ssh_user_certificates" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( ssh_certificate_authority_id=ssh_certificate_authority_id, @@ -2711,12 +2949,14 @@ """Delete an SSH User Certificate :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-user-certificates-delete """ path = "/ssh_user_certificates/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -2725,12 +2965,14 @@ """Get detailed information about an SSH User Certficate :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-user-certificates-get """ path = "/ssh_user_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return SSHUserCertificate(self._client, result)
[docs] def list( @@ -2742,9 +2984,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ssh-user-certificates-list """ path = "/ssh_user_certificates" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2764,12 +3008,14 @@ :param id: :param description: human-readable description of this SSH User Certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-user-certificates-update """ path = "/ssh_user_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2796,9 +3042,11 @@ :param metadata: arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. :param certificate_pem: chain of PEM-encoded certificates, leaf first. See `Certificate Bundles` <https://ngrok.com/docs/api#tls-certificates-pem>`_. :param private_key_pem: private key for the TLS certificate, PEM-encoded. See `Private Keys` <https://ngrok.com/docs/ngrok-link#tls-certificates-key>`_. + + https://ngrok.com/docs/api#api-tls-certificates-create """ path = "/tls_certificates" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -2816,12 +3064,14 @@ """Delete a TLS certificate :param id: a resource identifier + + https://ngrok.com/docs/api#api-tls-certificates-delete """ path = "/tls_certificates/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict())
+ self._client.http_client.delete(path, dict())
[docs] def get( self, @@ -2830,12 +3080,14 @@ """Get detailed information about a TLS certificate :param id: a resource identifier + + https://ngrok.com/docs/api#api-tls-certificates-get """ path = "/tls_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return TLSCertificate(self._client, result)
[docs] def list( @@ -2847,9 +3099,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-tls-certificates-list """ path = "/tls_certificates" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2869,12 +3123,14 @@ :param id: :param description: human-readable description of this TLS certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-tls-certificates-update """ path = "/tls_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2897,9 +3153,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-tunnel-sessions-list """ path = "/tunnel_sessions" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2915,12 +3173,14 @@ """Get the detailed status of a tunnel session by ID :param id: a resource identifier + + https://ngrok.com/docs/api#api-tunnel-sessions-get """ path = "/tunnel_sessions/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return TunnelSession(self._client, result)
[docs] def restart( @@ -2930,12 +3190,14 @@ """Issues a command instructing the ngrok agent to restart. The agent restarts itself by calling exec() on platforms that support it. This operation is notably not supported on Windows. When an agent restarts, it reconnects with a new tunnel session ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-tunnel-sessions-restart """ path = "/tunnel_sessions/{id}/restart" path = path.format( id=id, ) - self._client.api_client.post(path, dict())
+ self._client.http_client.post(path, dict())
[docs] def stop( self, @@ -2944,12 +3206,14 @@ """Issues a command instructing the ngrok agent that started this tunnel session to exit. :param id: a resource identifier + + https://ngrok.com/docs/api#api-tunnel-sessions-stop """ path = "/tunnel_sessions/{id}/stop" path = path.format( id=id, ) - self._client.api_client.post(path, dict())
+ self._client.http_client.post(path, dict())
[docs] def update( self, @@ -2958,12 +3222,14 @@ """Issues a command instructing the ngrok agent to update itself to the latest version. After this call completes successfully, the ngrok agent will be in the update process. A caller should wait some amount of time to allow the update to complete (at least 10 seconds) before making a call to the Restart endpoint to request that the agent restart itself to start using the new code. This call will never update an ngrok agent to a new major version which could cause breaking compatibility issues. If you wish to update to a new major version, that must be done manually. Still, please be aware that updating your ngrok agent could break your integration. This call will fail in any of the following circumstances: there is no update available the ngrok agent's configuration disabled update checks the agent is currently in process of updating the agent has already successfully updated but has not yet been restarted :param id: + + https://ngrok.com/docs/api#api-tunnel-sessions-update """ path = "/tunnel_sessions/{id}/update" path = path.format( id=id, ) - self._client.api_client.post(path, dict())
+ self._client.http_client.post(path, dict())
[docs]class TunnelsClient(object): @@ -2979,9 +3245,11 @@ :param before_id: :param limit: + + https://ngrok.com/docs/api#api-tunnels-list """ path = "/tunnels" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, diff --git a/docs/_sources/datatypes.rst.txt b/docs/_sources/datatypes.rst.txt new file mode 100644 index 0000000..7db4f9d --- /dev/null +++ b/docs/_sources/datatypes.rst.txt @@ -0,0 +1,8 @@ +Datatypes +===================================== + +This module contains all datatypes returned by the ngrok API. + +.. automodule:: ngrok.datatypes + :members: + :undoc-members: diff --git a/docs/_sources/errors.rst.txt b/docs/_sources/errors.rst.txt index 762bbd5..036eca6 100644 --- a/docs/_sources/errors.rst.txt +++ b/docs/_sources/errors.rst.txt @@ -36,7 +36,7 @@ documentation for the `list of all ngrok error codes API

Services

@@ -179,8 +179,11 @@
  • metadata (str) – arbitrary user-defined data about this abuse report. Optional, max 4096 bytes.

  • -
    Return type
    -

    AbuseReport

    + +

    https://ngrok.com/docs/api#api-abuse-reports-create

    +
    +
    Return type
    +

    AbuseReport

    @@ -192,8 +195,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    AbuseReport

    + +

    https://ngrok.com/docs/api#api-abuse-reports-get

    +
    +
    Return type
    +

    AbuseReport

    diff --git a/docs/api_keys.html b/docs/api_keys.html index 0737441..62a36db 100644 --- a/docs/api_keys.html +++ b/docs/api_keys.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -179,8 +179,11 @@
  • metadata (str) – arbitrary user-defined data of this API key. optional, max 4096 bytes

  • -
    Return type
    -

    APIKey

    + +

    https://ngrok.com/docs/api#api-api-keys-create

    +
    +
    Return type
    +

    APIKey

    @@ -193,6 +196,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-api-keys-delete

    @@ -202,8 +206,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    APIKey

    +
    +

    https://ngrok.com/docs/api#api-api-keys-get

    +
    +
    Return type
    +

    APIKey

    @@ -218,8 +225,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    APIKeyList

    + +

    https://ngrok.com/docs/api#api-api-keys-list

    +
    +
    Return type
    +

    APIKeyList

    @@ -235,8 +245,11 @@
  • metadata (Optional[str]) – arbitrary user-defined data of this API key. optional, max 4096 bytes

  • -
    Return type
    -

    APIKey

    + +

    https://ngrok.com/docs/api#api-api-keys-update

    +
    +
    Return type
    +

    APIKey

    diff --git a/docs/certificate_authorities.html b/docs/certificate_authorities.html index 099f4ef..171fa80 100644 --- a/docs/certificate_authorities.html +++ b/docs/certificate_authorities.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -180,8 +180,11 @@
  • ca_pem (str) – raw PEM of the Certificate Authority

  • -
    Return type
    -

    CertificateAuthority

    + +

    https://ngrok.com/docs/api#api-certificate-authorities-create

    +
    +
    Return type
    +

    CertificateAuthority

    @@ -194,6 +197,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-certificate-authorities-delete

    @@ -203,8 +207,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    CertificateAuthority

    +
    +

    https://ngrok.com/docs/api#api-certificate-authorities-get

    +
    +
    Return type
    +

    CertificateAuthority

    @@ -219,8 +226,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    CertificateAuthorityList

    + +

    https://ngrok.com/docs/api#api-certificate-authorities-list

    +
    +
    Return type
    +

    CertificateAuthorityList

    @@ -236,8 +246,11 @@
  • metadata (Optional[str]) – arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes.

  • -
    Return type
    -

    CertificateAuthority

    + +

    https://ngrok.com/docs/api#api-certificate-authorities-update

    +
    +
    Return type
    +

    CertificateAuthority

    diff --git a/docs/client.html b/docs/client.html index 0958109..9d6e7b9 100644 --- a/docs/client.html +++ b/docs/client.html @@ -2,7 +2,7 @@ - + Client - ngrok-api documentation @@ -110,7 +110,7 @@

    API

    Services

    @@ -182,7 +182,7 @@ Client object:

    -class ngrok.Client(api_key='', base_url='https://api.ngrok.com')[source]
    +class ngrok.Client(api_key, base_url='https://api.ngrok.com')[source]
    property abuse_reports
    @@ -376,12 +376,12 @@ a ngrok network endpoint instance.*Endpoints are your gateway to ngrok features!
    -
    Return type
    -

    Credential

    +
    +

    https://ngrok.com/docs/api#api-credentials-create

    +
    +
    Return type
    +

    Credential

    @@ -194,6 +197,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-credentials-delete

    @@ -203,8 +207,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    Credential

    +
    +

    https://ngrok.com/docs/api#api-credentials-get

    +
    +
    Return type
    +

    Credential

    @@ -219,8 +226,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    CredentialList

    + +

    https://ngrok.com/docs/api#api-credentials-list

    +
    +
    Return type
    +

    CredentialList

    @@ -237,8 +247,11 @@
  • acl (Optional[Sequence[str]]) – 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.

  • -
    Return type
    -

    Credential

    + +

    https://ngrok.com/docs/api#api-credentials-update

    +
    +
    Return type
    +

    Credential

    diff --git a/docs/objects.html b/docs/datatypes.html similarity index 67% rename from docs/objects.html rename to docs/datatypes.html index 464cacc..810463e 100644 --- a/docs/objects.html +++ b/docs/datatypes.html @@ -5,7 +5,7 @@ - Objects - ngrok-api documentation + Datatypes - ngrok-api documentation @@ -110,7 +110,7 @@

    API

    Services

    @@ -161,15 +161,15 @@ -
    -

    Objects

    -

    This module contains all object types returned by the ngrok API.

    -
    -
    -class ngrok.objects.APIKey(client, props)[source]
    +
    +

    Datatypes

    +

    This module contains all datatypes returned by the ngrok API.

    +
    +
    +class ngrok.datatypes.APIKey(client, props)[source]
    -
    -property created_at
    +
    +property created_at

    timestamp when the api key was created, RFC 3339 format

    Return type
    @@ -178,12 +178,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of what uses the API key to authenticate. optional, max 255 bytes.

    Return type
    @@ -192,8 +192,8 @@
    -
    -property id
    +
    +property id

    unique API key resource identifier

    Return type
    @@ -202,8 +202,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined data of this API key. optional, max 4096 bytes

    Return type
    @@ -212,8 +212,8 @@
    -
    -property token
    +
    +property token

    the bearer token that can be placed into the Authorization header to authenticate request to the ngrok API. This value is only available one time, on the API response from key creation. Otherwise it is null.

    Return type
    @@ -222,12 +222,12 @@
    -
    -update(description=None, metadata=None)[source]
    +
    +update(description=None, metadata=None)[source]
    -
    -property uri
    +
    +property uri

    URI to the API resource of this API key

    Return type
    @@ -237,21 +237,21 @@
    -
    -class ngrok.objects.APIKeyList(client, props)[source]
    +
    +class ngrok.datatypes.APIKeyList(client, props)[source]
    -
    -property keys
    +
    +property keys

    the list of API keys for this account

    Return type
    -

    Sequence[APIKey]

    +

    Sequence[APIKey]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -260,8 +260,8 @@
    -
    -property uri
    +
    +property uri

    URI of the API keys list API resource

    Return type
    @@ -271,35 +271,35 @@
    -
    -class ngrok.objects.AWSAuth(client, props)[source]
    +
    +class ngrok.datatypes.AWSAuth(client, props)[source]
    -
    -property creds
    +
    +property creds

    Credentials to your AWS account if you prefer ngrok to sign in with long-term access keys.

    Return type
    -

    AWSCredentials

    +

    AWSCredentials

    -
    -property role
    +
    +property role

    A role for ngrok to assume on your behalf to deposit events into your AWS account.

    Return type
    -

    AWSRole

    +

    AWSRole

    -
    -class ngrok.objects.AWSCredentials(client, props)[source]
    +
    +class ngrok.datatypes.AWSCredentials(client, props)[source]
    -
    -property aws_access_key_id
    +
    +property aws_access_key_id

    The ID portion of an AWS access key.

    Return type
    @@ -308,8 +308,8 @@
    -
    -property aws_secret_access_key
    +
    +property aws_secret_access_key

    The secret portion of an AWS access key.

    Return type
    @@ -319,11 +319,11 @@
    -
    -class ngrok.objects.AWSRole(client, props)[source]
    +
    +class ngrok.datatypes.AWSRole(client, props)[source]
    -
    -property role_arn
    +
    +property role_arn

    An ARN that specifies the role that ngrok should use to deliver to the configured target.

    Return type
    @@ -333,11 +333,11 @@
    -
    -class ngrok.objects.AbuseReport(client, props)[source]
    +
    +class ngrok.datatypes.AbuseReport(client, props)[source]
    -
    -property created_at
    +
    +property created_at

    timestamp that the abuse report record was created in RFC 3339 format

    Return type
    @@ -346,18 +346,18 @@
    -
    -property hostnames
    +
    +property hostnames

    an array of hostname statuses related to the report

    Return type
    -

    Sequence[AbuseReportHostname]

    +

    Sequence[AbuseReportHostname]

    -
    -property id
    +
    +property id

    ID of the abuse report

    Return type
    @@ -366,8 +366,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined data about this abuse report. Optional, max 4096 bytes.

    Return type
    @@ -376,8 +376,8 @@
    -
    -property status
    +
    +property status

    Indicates whether ngrok has processed the abuse report. one of PENDING, PROCESSED, or PARTIALLY_PROCESSED

    Return type
    @@ -386,8 +386,8 @@
    -
    -property uri
    +
    +property uri

    URI of the abuse report API resource

    Return type
    @@ -396,8 +396,8 @@
    -
    -property urls
    +
    +property urls

    a list of URLs containing suspected abusive content

    Return type
    @@ -407,11 +407,11 @@
    -
    -class ngrok.objects.AbuseReportHostname(client, props)[source]
    +
    +class ngrok.datatypes.AbuseReportHostname(client, props)[source]
    -
    -property hostname
    +
    +property hostname

    the hostname ngrok has parsed out of one of the reported URLs in this abuse report

    Return type
    @@ -420,8 +420,8 @@
    -
    -property status
    +
    +property status

    indicates what action ngrok has taken against the hostname. one of PENDING, BANNED, UNBANNED, or IGNORE

    Return type
    @@ -431,11 +431,11 @@
    -
    -class ngrok.objects.CertificateAuthority(client, props)[source]
    +
    +class ngrok.datatypes.CertificateAuthority(client, props)[source]
    -
    -property ca_pem
    +
    +property ca_pem

    raw PEM of the Certificate Authority

    Return type
    @@ -444,8 +444,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the Certificate Authority was created, RFC 3339 format

    Return type
    @@ -454,12 +454,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of this Certificate Authority. optional, max 255 bytes.

    Return type
    @@ -468,8 +468,8 @@
    -
    -property extended_key_usages
    +
    +property extended_key_usages

    extended set of actions the private key of this Certificate Authority can be used for

    Return type
    @@ -478,8 +478,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this Certificate Authority

    Return type
    @@ -488,8 +488,8 @@
    -
    -property key_usages
    +
    +property key_usages

    set of actions the private key of this Certificate Authority can be used for

    Return type
    @@ -498,8 +498,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes.

    Return type
    @@ -508,8 +508,8 @@
    -
    -property not_after
    +
    +property not_after

    timestamp when this Certificate Authority becomes invalid, RFC 3339 format

    Return type
    @@ -518,8 +518,8 @@
    -
    -property not_before
    +
    +property not_before

    timestamp when this Certificate Authority becomes valid, RFC 3339 format

    Return type
    @@ -528,8 +528,8 @@
    -
    -property subject_common_name
    +
    +property subject_common_name

    subject common name of the Certificate Authority

    Return type
    @@ -538,12 +538,12 @@
    -
    -update(description=None, metadata=None)[source]
    +
    +update(description=None, metadata=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the Certificate Authority API resource

    Return type
    @@ -553,21 +553,21 @@
    -
    -class ngrok.objects.CertificateAuthorityList(client, props)[source]
    +
    +class ngrok.datatypes.CertificateAuthorityList(client, props)[source]
    -
    -property certificate_authorities
    +
    +property certificate_authorities

    the list of all certificate authorities on this account

    Return type
    -

    Sequence[CertificateAuthority]

    +

    Sequence[CertificateAuthority]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -576,8 +576,8 @@
    -
    -property uri
    +
    +property uri

    URI of the certificates authorities list API resource

    Return type
    @@ -587,11 +587,11 @@
    -
    -class ngrok.objects.Credential(client, props)[source]
    +
    +class ngrok.datatypes.Credential(client, props)[source]
    -
    -property acl
    +
    +property acl

    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.

    Return type
    @@ -600,8 +600,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the tunnel credential was created, RFC 3339 format

    Return type
    @@ -610,12 +610,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes.

    Return type
    @@ -624,8 +624,8 @@
    -
    -property id
    +
    +property id

    unique tunnel credential resource identifier

    Return type
    @@ -634,8 +634,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes.

    Return type
    @@ -644,8 +644,8 @@
    -
    -property token
    +
    +property token

    the credential’s authtoken that can be used to authenticate an ngrok client. This value is only available one time, on the API response from credential creation, otherwise it is null.

    Return type
    @@ -654,12 +654,12 @@
    -
    -update(description=None, metadata=None, acl=None)[source]
    +
    +update(description=None, metadata=None, acl=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the tunnel credential API resource

    Return type
    @@ -669,21 +669,21 @@
    -
    -class ngrok.objects.CredentialList(client, props)[source]
    +
    +class ngrok.datatypes.CredentialList(client, props)[source]
    -
    -property credentials
    +
    +property credentials

    the list of all tunnel credentials on this account

    Return type
    -

    Sequence[Credential]

    +

    Sequence[Credential]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -692,8 +692,8 @@
    -
    -property uri
    +
    +property uri

    URI of the tunnel credential list API resource

    Return type
    @@ -703,11 +703,11 @@
    -
    -class ngrok.objects.EndpointCircuitBreaker(client, props)[source]
    +
    +class ngrok.datatypes.EndpointCircuitBreaker(client, props)[source]
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -716,8 +716,8 @@
    -
    -property error_threshold_percentage
    +
    +property error_threshold_percentage

    Error threshold percentage should be between 0 - 1.0, not 0-100.0

    Return type
    @@ -726,8 +726,8 @@
    -
    -property num_buckets
    +
    +property num_buckets

    Integer number of buckets into which metrics are retained. Max 128.

    Return type
    @@ -736,8 +736,8 @@
    -
    -property rolling_window
    +
    +property rolling_window

    Integer number of seconds in the statistical rolling window that metrics are retained for.

    Return type
    @@ -746,8 +746,8 @@
    -
    -property tripped_duration
    +
    +property tripped_duration

    Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health

    Return type
    @@ -756,8 +756,8 @@
    -
    -property volume_threshold
    +
    +property volume_threshold

    Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low.

    Return type
    @@ -767,11 +767,11 @@
    -
    -class ngrok.objects.EndpointCompression(client, props)[source]
    +
    +class ngrok.datatypes.EndpointCompression(client, props)[source]
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -781,31 +781,31 @@
    -
    -class ngrok.objects.EndpointConfiguration(client, props)[source]
    +
    +class ngrok.datatypes.EndpointConfiguration(client, props)[source]
    -
    -property circuit_breaker
    +
    +property circuit_breaker

    circuit breaker module configuration or null

    Return type
    -

    EndpointCircuitBreaker

    +

    EndpointCircuitBreaker

    -
    -property compression
    +
    +property compression

    compression module configuration or null

    Return type
    -

    EndpointCompression

    +

    EndpointCompression

    -
    -property created_at
    +
    +property created_at

    timestamp when the endpoint configuration was created, RFC 3339 format

    Return type
    @@ -814,12 +814,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes

    Return type
    @@ -828,8 +828,8 @@
    -
    -property id
    +
    +property id

    unique identifier of this endpoint configuration

    Return type
    @@ -838,28 +838,28 @@
    -
    -property ip_policy
    +
    +property ip_policy

    ip policy module configuration or null

    Return type
    -

    EndpointIPPolicy

    +

    EndpointIPPolicy

    -
    -property logging
    +
    +property logging

    logging module configuration or null

    Return type
    -

    EndpointLogging

    +

    EndpointLogging

    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.

    Return type
    @@ -868,78 +868,78 @@
    -
    -property mutual_tls
    +
    +property mutual_tls

    mutual TLS module configuration or null

    Return type
    -

    EndpointMutualTLS

    +

    EndpointMutualTLS

    -
    -property oauth
    +
    +property oauth

    oauth module configuration or null

    Return type
    -

    EndpointOAuth

    +

    EndpointOAuth

    -
    -property oidc
    +
    +property oidc

    oidc module configuration or null

    Return type
    -

    EndpointOIDC

    +

    EndpointOIDC

    -
    -property request_headers
    +
    +property request_headers

    request headers module configuration or null

    Return type
    -

    EndpointRequestHeaders

    +

    EndpointRequestHeaders

    -
    -property response_headers
    +
    +property response_headers

    response headers module configuration or null

    Return type
    -

    EndpointResponseHeaders

    +

    EndpointResponseHeaders

    -
    -property saml
    +
    +property saml

    saml module configuration or null

    Return type
    -

    EndpointSAML

    +

    EndpointSAML

    -
    -property tls_termination
    +
    +property tls_termination

    TLS termination module configuration or null

    Return type
    -

    EndpointTLSTermination

    +

    EndpointTLSTermination

    -
    -property type
    +
    +property type

    they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp

    Return type
    @@ -948,12 +948,12 @@
    -
    -update(description=None, metadata=None, circuit_breaker=None, compression=None, request_headers=None, response_headers=None, ip_policy=None, mutual_tls=None, tls_termination=None, webhook_validation=None, oauth=None, logging=None, saml=None, oidc=None)[source]
    +
    +update(description=None, metadata=None, circuit_breaker=None, compression=None, request_headers=None, response_headers=None, ip_policy=None, mutual_tls=None, tls_termination=None, webhook_validation=None, oauth=None, logging=None, saml=None, oidc=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the endpoint configuration API resource

    Return type
    @@ -962,32 +962,32 @@
    -
    -property webhook_validation
    +
    +property webhook_validation

    webhook validation module configuration or null

    Return type
    -

    EndpointWebhookValidation

    +

    EndpointWebhookValidation

    -
    -class ngrok.objects.EndpointConfigurationList(client, props)[source]
    +
    +class ngrok.datatypes.EndpointConfigurationList(client, props)[source]
    -
    -property endpoint_configurations
    +
    +property endpoint_configurations

    the list of all endpoint configurations on this account

    Return type
    -

    Sequence[EndpointConfiguration]

    +

    Sequence[EndpointConfiguration]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -996,8 +996,8 @@
    -
    -property uri
    +
    +property uri

    URI of the endpoint configurations list API resource

    Return type
    @@ -1007,11 +1007,11 @@
    -
    -class ngrok.objects.EndpointIPPolicy(client, props)[source]
    +
    +class ngrok.datatypes.EndpointIPPolicy(client, props)[source]
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1020,21 +1020,21 @@
    -
    -property ip_policies
    +
    +property ip_policies
    Return type
    -

    Sequence[Ref]

    +

    Sequence[Ref]

    -
    -class ngrok.objects.EndpointIPPolicyMutate(client, props)[source]
    +
    +class ngrok.datatypes.EndpointIPPolicyMutate(client, props)[source]
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1043,8 +1043,8 @@
    -
    -property ip_policy_ids
    +
    +property ip_policy_ids

    list of all IP policies that will be used to check if a source IP is allowed access to the endpoint

    Return type
    @@ -1054,11 +1054,11 @@
    -
    -class ngrok.objects.EndpointLogging(client, props)[source]
    +
    +class ngrok.datatypes.EndpointLogging(client, props)[source]
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1067,22 +1067,22 @@
    -
    -property event_streams
    +
    +property event_streams

    list of all EventStreams that will be used to configure and export this endpoint’s logs

    Return type
    -

    Sequence[Ref]

    +

    Sequence[Ref]

    -
    -class ngrok.objects.EndpointLoggingMutate(client, props)[source]
    +
    +class ngrok.datatypes.EndpointLoggingMutate(client, props)[source]
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1091,8 +1091,8 @@
    -
    -property event_stream_ids
    +
    +property event_stream_ids

    list of all EventStreams that will be used to configure and export this endpoint’s logs

    Return type
    @@ -1102,21 +1102,21 @@
    -
    -class ngrok.objects.EndpointMutualTLS(client, props)[source]
    +
    +class ngrok.datatypes.EndpointMutualTLS(client, props)[source]
    -
    -property certificate_authorities
    +
    +property certificate_authorities

    PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.

    Return type
    -

    Sequence[Ref]

    +

    Sequence[Ref]

    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1126,11 +1126,11 @@
    -
    -class ngrok.objects.EndpointMutualTLSMutate(client, props)[source]
    +
    +class ngrok.datatypes.EndpointMutualTLSMutate(client, props)[source]
    -
    -property certificate_authority_ids
    +
    +property certificate_authority_ids

    list of certificate authorities that will be used to validate the TLS client certificate presnted by the initiatiator of the TLS connection

    Return type
    @@ -1139,8 +1139,8 @@
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1150,11 +1150,11 @@
    -
    -class ngrok.objects.EndpointOAuth(client, props)[source]
    +
    +class ngrok.datatypes.EndpointOAuth(client, props)[source]
    -
    -property auth_check_interval
    +
    +property auth_check_interval

    Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource.

    Return type
    @@ -1163,8 +1163,8 @@
    -
    -property cookie_prefix
    +
    +property cookie_prefix

    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is ‘ngrok.’

    Return type
    @@ -1173,8 +1173,8 @@
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1183,8 +1183,8 @@
    -
    -property inactivity_timeout
    +
    +property inactivity_timeout

    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.

    Return type
    @@ -1193,8 +1193,8 @@
    -
    -property maximum_duration
    +
    +property maximum_duration

    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.

    Return type
    @@ -1203,8 +1203,8 @@
    -
    -property options_passthrough
    +
    +property options_passthrough

    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.

    Return type
    @@ -1213,22 +1213,22 @@
    -
    -property provider
    +
    +property provider

    an object which defines the identity provider to use for authentication and configuration for who may access the endpoint

    Return type
    -

    EndpointOAuthProvider

    +

    EndpointOAuthProvider

    -
    -class ngrok.objects.EndpointOAuthFacebook(client, props)[source]
    +
    +class ngrok.datatypes.EndpointOAuthFacebook(client, props)[source]
    -
    -property client_id
    +
    +property client_id

    the OAuth app client ID. retrieve it from the identity provider’s dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well.

    Return type
    @@ -1237,8 +1237,8 @@
    -
    -property client_secret
    +
    +property client_secret

    the OAuth app client secret. retrieve if from the identity provider’s dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for client_id.

    Return type
    @@ -1247,8 +1247,8 @@
    -
    -property email_addresses
    +
    +property email_addresses

    a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint

    Return type
    @@ -1257,8 +1257,8 @@
    -
    -property email_domains
    +
    +property email_domains

    a list of email domains of users authenticated by identity provider who are allowed access to the endpoint

    Return type
    @@ -1267,8 +1267,8 @@
    -
    -property scopes
    +
    +property scopes

    a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both client_id and client_secret to set scopes)

    Return type
    @@ -1278,11 +1278,11 @@
    -
    -class ngrok.objects.EndpointOAuthGitHub(client, props)[source]
    +
    +class ngrok.datatypes.EndpointOAuthGitHub(client, props)[source]
    -
    -property client_id
    +
    +property client_id

    the OAuth app client ID. retrieve it from the identity provider’s dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well.

    Return type
    @@ -1291,8 +1291,8 @@
    -
    -property client_secret
    +
    +property client_secret

    the OAuth app client secret. retrieve if from the identity provider’s dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for client_id.

    Return type
    @@ -1301,8 +1301,8 @@
    -
    -property email_addresses
    +
    +property email_addresses

    a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint

    Return type
    @@ -1311,8 +1311,8 @@
    -
    -property email_domains
    +
    +property email_domains

    a list of email domains of users authenticated by identity provider who are allowed access to the endpoint

    Return type
    @@ -1321,8 +1321,8 @@
    -
    -property organizations
    +
    +property organizations

    a list of github org identifiers. users who are members of any of the listed organizations will be allowed access. identifiers should be the organization’s ‘slug’

    Return type
    @@ -1331,8 +1331,8 @@
    -
    -property scopes
    +
    +property scopes

    a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both client_id and client_secret to set scopes)

    Return type
    @@ -1341,8 +1341,8 @@
    -
    -property teams
    +
    +property teams

    a list of github teams identifiers. users will be allowed access to the endpoint if they are a member of any of these teams. identifiers should be in the ‘slug’ format qualified with the org name, e.g. org-name/team-name

    Return type
    @@ -1352,11 +1352,11 @@
    -
    -class ngrok.objects.EndpointOAuthGoogle(client, props)[source]
    +
    +class ngrok.datatypes.EndpointOAuthGoogle(client, props)[source]
    -
    -property client_id
    +
    +property client_id

    the OAuth app client ID. retrieve it from the identity provider’s dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well.

    Return type
    @@ -1365,8 +1365,8 @@
    -
    -property client_secret
    +
    +property client_secret

    the OAuth app client secret. retrieve if from the identity provider’s dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for client_id.

    Return type
    @@ -1375,8 +1375,8 @@
    -
    -property email_addresses
    +
    +property email_addresses

    a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint

    Return type
    @@ -1385,8 +1385,8 @@
    -
    -property email_domains
    +
    +property email_domains

    a list of email domains of users authenticated by identity provider who are allowed access to the endpoint

    Return type
    @@ -1395,8 +1395,8 @@
    -
    -property scopes
    +
    +property scopes

    a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both client_id and client_secret to set scopes)

    Return type
    @@ -1406,11 +1406,11 @@
    -
    -class ngrok.objects.EndpointOAuthMicrosoft(client, props)[source]
    +
    +class ngrok.datatypes.EndpointOAuthMicrosoft(client, props)[source]
    -
    -property client_id
    +
    +property client_id

    the OAuth app client ID. retrieve it from the identity provider’s dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well.

    Return type
    @@ -1419,8 +1419,8 @@
    -
    -property client_secret
    +
    +property client_secret

    the OAuth app client secret. retrieve if from the identity provider’s dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for client_id.

    Return type
    @@ -1429,8 +1429,8 @@
    -
    -property email_addresses
    +
    +property email_addresses

    a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint

    Return type
    @@ -1439,8 +1439,8 @@
    -
    -property email_domains
    +
    +property email_domains

    a list of email domains of users authenticated by identity provider who are allowed access to the endpoint

    Return type
    @@ -1449,8 +1449,8 @@
    -
    -property scopes
    +
    +property scopes

    a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both client_id and client_secret to set scopes)

    Return type
    @@ -1460,55 +1460,55 @@
    -
    -class ngrok.objects.EndpointOAuthProvider(client, props)[source]
    +
    +class ngrok.datatypes.EndpointOAuthProvider(client, props)[source]
    -
    -property facebook
    +
    +property facebook

    configuration for using facebook as the identity provider

    Return type
    -

    EndpointOAuthFacebook

    +

    EndpointOAuthFacebook

    -
    -property github
    +
    +property github

    configuration for using github as the identity provider

    Return type
    -

    EndpointOAuthGitHub

    +

    EndpointOAuthGitHub

    -
    -property google
    +
    +property google

    configuration for using google as the identity provider

    Return type
    -

    EndpointOAuthGoogle

    +

    EndpointOAuthGoogle

    -
    -property microsoft
    +
    +property microsoft

    configuration for using microsoft as the identity provider

    Return type
    -

    EndpointOAuthMicrosoft

    +

    EndpointOAuthMicrosoft

    -
    -class ngrok.objects.EndpointOIDC(client, props)[source]
    +
    +class ngrok.datatypes.EndpointOIDC(client, props)[source]
    -
    -property client_id
    +
    +property client_id

    The OIDC app’s client ID and OIDC audience.

    Return type
    @@ -1517,8 +1517,8 @@
    -
    -property client_secret
    +
    +property client_secret

    The OIDC app’s client secret.

    Return type
    @@ -1527,8 +1527,8 @@
    -
    -property cookie_prefix
    +
    +property cookie_prefix

    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is ‘ngrok.’

    Return type
    @@ -1537,8 +1537,8 @@
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1547,8 +1547,8 @@
    -
    -property inactivity_timeout
    +
    +property inactivity_timeout

    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.

    Return type
    @@ -1557,8 +1557,8 @@
    -
    -property issuer
    +
    +property issuer

    URL of the OIDC “OpenID provider”. This is the base URL used for discovery.

    Return type
    @@ -1567,8 +1567,8 @@
    -
    -property maximum_duration
    +
    +property maximum_duration

    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.

    Return type
    @@ -1577,8 +1577,8 @@
    -
    -property options_passthrough
    +
    +property options_passthrough

    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.

    Return type
    @@ -1587,8 +1587,8 @@
    -
    -property scopes
    +
    +property scopes

    The set of scopes to request from the OIDC identity provider.

    Return type
    @@ -1598,11 +1598,11 @@
    -
    -class ngrok.objects.EndpointRequestHeaders(client, props)[source]
    +
    +class ngrok.datatypes.EndpointRequestHeaders(client, props)[source]
    -
    -property add
    +
    +property add

    a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server

    Return type
    @@ -1611,8 +1611,8 @@
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1621,8 +1621,8 @@
    -
    -property remove
    +
    +property remove

    a list of header names that will be removed from the HTTP Request before being sent to the upstream application server

    Return type
    @@ -1632,11 +1632,11 @@
    -
    -class ngrok.objects.EndpointResponseHeaders(client, props)[source]
    +
    +class ngrok.datatypes.EndpointResponseHeaders(client, props)[source]
    -
    -property add
    +
    +property add

    a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client

    Return type
    @@ -1645,8 +1645,8 @@
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1655,8 +1655,8 @@
    -
    -property remove
    +
    +property remove

    a list of header names that will be removed from the HTTP Response returned to the HTTP client

    Return type
    @@ -1666,11 +1666,11 @@
    -
    -class ngrok.objects.EndpointSAML(client, props)[source]
    +
    +class ngrok.datatypes.EndpointSAML(client, props)[source]
    -
    -property allow_idp_initiated
    +
    +property allow_idp_initiated

    If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.

    Return type
    @@ -1679,8 +1679,8 @@
    -
    -property assertion_consumer_service_url
    +
    +property assertion_consumer_service_url

    The public URL of the SP’s Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration.

    Return type
    @@ -1689,8 +1689,8 @@
    -
    -property authorized_groups
    +
    +property authorized_groups

    If present, only users who are a member of one of the listed groups may access the target endpoint.

    Return type
    @@ -1699,8 +1699,8 @@
    -
    -property cookie_prefix
    +
    +property cookie_prefix

    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is ‘ngrok.’

    Return type
    @@ -1709,8 +1709,8 @@
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1719,8 +1719,8 @@
    -
    -property entity_id
    +
    +property entity_id

    The SP Entity’s unique ID. This always takes the form of a URL. In ngrok’s implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration.

    Return type
    @@ -1729,8 +1729,8 @@
    -
    -property force_authn
    +
    +property force_authn

    If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP.

    Return type
    @@ -1739,8 +1739,8 @@
    -
    -property idp_metadata
    +
    +property idp_metadata

    The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.

    Return type
    @@ -1749,8 +1749,8 @@
    -
    -property inactivity_timeout
    +
    +property inactivity_timeout

    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.

    Return type
    @@ -1759,8 +1759,8 @@
    -
    -property maximum_duration
    +
    +property maximum_duration

    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.

    Return type
    @@ -1769,8 +1769,8 @@
    -
    -property metadata_url
    +
    +property metadata_url

    A public URL where the SP’s metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata.

    Return type
    @@ -1779,8 +1779,8 @@
    -
    -property options_passthrough
    +
    +property options_passthrough

    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.

    Return type
    @@ -1789,8 +1789,8 @@
    -
    -property request_signing_certificate_pem
    +
    +property request_signing_certificate_pem

    PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP’s configuration if it is supported.

    Return type
    @@ -1799,8 +1799,8 @@
    -
    -property single_logout_url
    +
    +property single_logout_url

    The public URL of the SP’s Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration.

    Return type
    @@ -1810,11 +1810,11 @@
    -
    -class ngrok.objects.EndpointSAMLMutate(client, props)[source]
    +
    +class ngrok.datatypes.EndpointSAMLMutate(client, props)[source]
    -
    -property allow_idp_initiated
    +
    +property allow_idp_initiated

    If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.

    Return type
    @@ -1823,8 +1823,8 @@
    -
    -property authorized_groups
    +
    +property authorized_groups

    If present, only users who are a member of one of the listed groups may access the target endpoint.

    Return type
    @@ -1833,8 +1833,8 @@
    -
    -property cookie_prefix
    +
    +property cookie_prefix

    the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is ‘ngrok.’

    Return type
    @@ -1843,8 +1843,8 @@
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1853,8 +1853,8 @@
    -
    -property force_authn
    +
    +property force_authn

    If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP.

    Return type
    @@ -1863,8 +1863,8 @@
    -
    -property idp_metadata
    +
    +property idp_metadata

    The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.

    Return type
    @@ -1873,8 +1873,8 @@
    -
    -property inactivity_timeout
    +
    +property inactivity_timeout

    Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate.

    Return type
    @@ -1883,8 +1883,8 @@
    -
    -property maximum_duration
    +
    +property maximum_duration

    Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.

    Return type
    @@ -1893,8 +1893,8 @@
    -
    -property options_passthrough
    +
    +property options_passthrough

    Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.

    Return type
    @@ -1904,11 +1904,11 @@
    -
    -class ngrok.objects.EndpointTLSTermination(client, props)[source]
    +
    +class ngrok.datatypes.EndpointTLSTermination(client, props)[source]
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1917,8 +1917,8 @@
    -
    -property min_version
    +
    +property min_version

    The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream.

    Return type
    @@ -1927,8 +1927,8 @@
    -
    -property terminate_at
    +
    +property terminate_at

    edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic.

    Return type
    @@ -1938,11 +1938,11 @@
    -
    -class ngrok.objects.EndpointWebhookValidation(client, props)[source]
    +
    +class ngrok.datatypes.EndpointWebhookValidation(client, props)[source]
    -
    -property enabled
    +
    +property enabled

    true if the module will be applied to traffic, false to disable. default true if unspecified

    Return type
    @@ -1951,8 +1951,8 @@
    -
    -property provider
    +
    +property provider

    a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM.

    Return type
    @@ -1961,8 +1961,8 @@
    -
    -property secret
    +
    +property secret

    a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret

    Return type
    @@ -1972,11 +1972,11 @@
    -
    -class ngrok.objects.EventDestination(client, props)[source]
    +
    +class ngrok.datatypes.EventDestination(client, props)[source]
    -
    -property created_at
    +
    +property created_at

    Timestamp when the Event Destination was created, RFC 3339 format.

    Return type
    @@ -1985,12 +1985,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    Human-readable description of the Event Destination. Optional, max 255 bytes.

    Return type
    @@ -1999,8 +1999,8 @@
    -
    -property format
    +
    +property format

    The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON.

    Return type
    @@ -2009,8 +2009,8 @@
    -
    -property id
    +
    +property id

    Unique identifier for this Event Destination.

    Return type
    @@ -2019,8 +2019,8 @@
    -
    -property metadata
    +
    +property metadata

    Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes.

    Return type
    @@ -2029,18 +2029,18 @@
    -
    -property target
    +
    +property target

    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.

    Return type
    -

    EventTarget

    +

    EventTarget

    -
    -property uri
    +
    +property uri

    URI of the Event Destination API resource.

    Return type
    @@ -2050,21 +2050,21 @@
    -
    -class ngrok.objects.EventDestinationList(client, props)[source]
    +
    +class ngrok.datatypes.EventDestinationList(client, props)[source]
    -
    -property event_destinations
    +
    +property event_destinations

    The list of all Event Destinations on this account.

    Return type
    -

    Sequence[EventDestination]

    +

    Sequence[EventDestination]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page.

    Return type
    @@ -2073,8 +2073,8 @@
    -
    -property uri
    +
    +property uri

    URI of the Event Destinations list API resource.

    Return type
    @@ -2084,11 +2084,11 @@
    -
    -class ngrok.objects.EventStream(client, props)[source]
    +
    +class ngrok.datatypes.EventStream(client, props)[source]
    -
    -property created_at
    +
    +property created_at

    Timestamp when the Event Stream was created, RFC 3339 format.

    Return type
    @@ -2097,12 +2097,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    Human-readable description of the Event Stream. Optional, max 255 bytes.

    Return type
    @@ -2111,8 +2111,8 @@
    -
    -property destination_ids
    +
    +property destination_ids

    A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.

    Return type
    @@ -2121,8 +2121,8 @@
    -
    -property event_type
    +
    +property event_type

    The protocol that determines which events will be collected. Supported values are tcp_connection_closed and http_request_complete.

    Return type
    @@ -2131,8 +2131,8 @@
    -
    -property fields
    +
    +property fields

    A list of protocol-specific fields you want to collect on each event.

    Return type
    @@ -2141,8 +2141,8 @@
    -
    -property id
    +
    +property id

    Unique identifier for this Event Stream.

    Return type
    @@ -2151,8 +2151,8 @@
    -
    -property metadata
    +
    +property metadata

    Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes.

    Return type
    @@ -2161,8 +2161,8 @@
    -
    -property sampling_rate
    +
    +property sampling_rate

    The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.

    Return type
    @@ -2171,12 +2171,12 @@
    -
    -update(metadata=None, description=None, fields=None, destination_ids=None, sampling_rate=None)[source]
    +
    +update(metadata=None, description=None, fields=None, destination_ids=None, sampling_rate=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the Event Stream API resource.

    Return type
    @@ -2186,21 +2186,21 @@
    -
    -class ngrok.objects.EventStreamList(client, props)[source]
    +
    +class ngrok.datatypes.EventStreamList(client, props)[source]
    -
    -property event_streams
    +
    +property event_streams

    The list of all Event Streams on this account.

    Return type
    -

    Sequence[EventStream]

    +

    Sequence[EventStream]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page.

    Return type
    @@ -2209,8 +2209,8 @@
    -
    -property uri
    +
    +property uri

    URI of the Event Stream list API resource.

    Return type
    @@ -2220,55 +2220,55 @@
    -
    -class ngrok.objects.EventTarget(client, props)[source]
    +
    +class ngrok.datatypes.EventTarget(client, props)[source]
    -
    -property cloudwatch_logs
    +
    +property cloudwatch_logs

    Configuration used to send events to Amazon CloudWatch Logs.

    Return type
    -

    EventTargetCloudwatchLogs

    +

    EventTargetCloudwatchLogs

    -
    -property firehose
    +
    +property firehose

    Configuration used to send events to Amazon Kinesis Data Firehose.

    Return type
    -

    EventTargetFirehose

    +

    EventTargetFirehose

    -
    -property kinesis
    +
    +property kinesis

    Configuration used to send events to Amazon Kinesis.

    Return type
    -

    EventTargetKinesis

    +

    EventTargetKinesis

    -
    -class ngrok.objects.EventTargetCloudwatchLogs(client, props)[source]
    +
    +class ngrok.datatypes.EventTargetCloudwatchLogs(client, props)[source]
    -
    -property auth
    +
    +property auth

    Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured.

    Return type
    -

    AWSAuth

    +

    AWSAuth

    -
    -property log_group_arn
    +
    +property log_group_arn

    An Amazon Resource Name specifying the CloudWatch Logs group to deposit events into.

    Return type
    @@ -2278,21 +2278,21 @@
    -
    -class ngrok.objects.EventTargetFirehose(client, props)[source]
    +
    +class ngrok.datatypes.EventTargetFirehose(client, props)[source]
    -
    -property auth
    +
    +property auth

    Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured.

    Return type
    -

    AWSAuth

    +

    AWSAuth

    -
    -property delivery_stream_arn
    +
    +property delivery_stream_arn

    An Amazon Resource Name specifying the Firehose delivery stream to deposit events into.

    Return type
    @@ -2302,21 +2302,21 @@
    -
    -class ngrok.objects.EventTargetKinesis(client, props)[source]
    +
    +class ngrok.datatypes.EventTargetKinesis(client, props)[source]
    -
    -property auth
    +
    +property auth

    Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured.

    Return type
    -

    AWSAuth

    +

    AWSAuth

    -
    -property stream_arn
    +
    +property stream_arn

    An Amazon Resource Name specifying the Kinesis stream to deposit events into.

    Return type
    @@ -2326,11 +2326,11 @@
    -
    -class ngrok.objects.IPPolicy(client, props)[source]
    +
    +class ngrok.datatypes.IPPolicy(client, props)[source]
    -
    -property action
    +
    +property action

    the IP policy action. Supported values are allow or deny

    Return type
    @@ -2339,8 +2339,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the IP policy was created, RFC 3339 format

    Return type
    @@ -2349,12 +2349,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of the source IPs of this IP policy. optional, max 255 bytes.

    Return type
    @@ -2363,8 +2363,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this IP policy

    Return type
    @@ -2373,8 +2373,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes.

    Return type
    @@ -2383,12 +2383,12 @@
    -
    -update(description=None, metadata=None)[source]
    +
    +update(description=None, metadata=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the IP Policy API resource

    Return type
    @@ -2398,21 +2398,21 @@
    -
    -class ngrok.objects.IPPolicyList(client, props)[source]
    +
    +class ngrok.datatypes.IPPolicyList(client, props)[source]
    -
    -property ip_policies
    +
    +property ip_policies

    the list of all IP policies on this account

    Return type
    -

    Sequence[IPPolicy]

    +

    Sequence[IPPolicy]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -2421,8 +2421,8 @@
    -
    -property uri
    +
    +property uri

    URI of the IP policy list API resource

    Return type
    @@ -2432,11 +2432,11 @@
    -
    -class ngrok.objects.IPPolicyRule(client, props)[source]
    +
    +class ngrok.datatypes.IPPolicyRule(client, props)[source]
    -
    -property cidr
    +
    +property cidr

    an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.

    Return type
    @@ -2445,8 +2445,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the IP policy rule was created, RFC 3339 format

    Return type
    @@ -2455,12 +2455,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of the source IPs of this IP rule. optional, max 255 bytes.

    Return type
    @@ -2469,8 +2469,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this IP policy rule

    Return type
    @@ -2479,18 +2479,18 @@
    -
    -property ip_policy
    +
    +property ip_policy

    object describing the IP policy this IP Policy Rule belongs to

    Return type
    -

    Ref

    +

    Ref

    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.

    Return type
    @@ -2499,12 +2499,12 @@
    -
    -update(description=None, metadata=None, cidr=None)[source]
    +
    +update(description=None, metadata=None, cidr=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the IP policy rule API resource

    Return type
    @@ -2514,21 +2514,21 @@
    -
    -class ngrok.objects.IPPolicyRuleList(client, props)[source]
    +
    +class ngrok.datatypes.IPPolicyRuleList(client, props)[source]
    -
    -property ip_policy_rules
    +
    +property ip_policy_rules

    the list of all IP policy rules on this account

    Return type
    -

    Sequence[IPPolicyRule]

    +

    Sequence[IPPolicyRule]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -2537,8 +2537,8 @@
    -
    -property uri
    +
    +property uri

    URI of the IP policy rule list API resource

    Return type
    @@ -2548,11 +2548,11 @@
    -
    -class ngrok.objects.IPRestriction(client, props)[source]
    +
    +class ngrok.datatypes.IPRestriction(client, props)[source]
    -
    -property created_at
    +
    +property created_at

    timestamp when the IP restriction was created, RFC 3339 format

    Return type
    @@ -2561,12 +2561,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of this IP restriction. optional, max 255 bytes.

    Return type
    @@ -2575,8 +2575,8 @@
    -
    -property enforced
    +
    +property enforced

    true if the IP restriction will be enforce. if false, only warnings will be issued

    Return type
    @@ -2585,8 +2585,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this IP restriction

    Return type
    @@ -2595,18 +2595,18 @@
    -
    -property ip_policies
    +
    +property ip_policies

    the set of IP policies that are used to enforce the restriction

    Return type
    -

    Sequence[Ref]

    +

    Sequence[Ref]

    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.

    Return type
    @@ -2615,8 +2615,8 @@
    -
    -property type
    +
    +property type

    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

    Return type
    @@ -2625,8 +2625,8 @@
    -
    -property uri
    +
    +property uri

    URI of the IP restriction API resource

    Return type
    @@ -2636,21 +2636,21 @@
    -
    -class ngrok.objects.IPRestrictionList(client, props)[source]
    +
    +class ngrok.datatypes.IPRestrictionList(client, props)[source]
    -
    -property ip_restrictions
    +
    +property ip_restrictions

    the list of all IP restrictions on this account

    Return type
    -

    Sequence[IPRestriction]

    +

    Sequence[IPRestriction]

    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -2659,8 +2659,8 @@
    -
    -property uri
    +
    +property uri

    URI of the IP resrtrictions list API resource

    Return type
    @@ -2670,11 +2670,11 @@
    -
    -class ngrok.objects.IPWhitelistEntry(client, props)[source]
    +
    +class ngrok.datatypes.IPWhitelistEntry(client, props)[source]
    -
    -property created_at
    +
    +property created_at

    timestamp when the IP whitelist entry was created, RFC 3339 format

    Return type
    @@ -2683,12 +2683,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes.

    Return type
    @@ -2697,8 +2697,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this IP whitelist entry

    Return type
    @@ -2707,8 +2707,8 @@
    -
    -property ip_net
    +
    +property ip_net

    an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints

    Return type
    @@ -2717,8 +2717,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes.

    Return type
    @@ -2727,12 +2727,12 @@
    -
    -update(description=None, metadata=None)[source]
    +
    +update(description=None, metadata=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the IP whitelist entry API resource

    Return type
    @@ -2742,11 +2742,11 @@
    -
    -class ngrok.objects.IPWhitelistEntryList(client, props)[source]
    +
    +class ngrok.datatypes.IPWhitelistEntryList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -2755,8 +2755,8 @@
    -
    -property uri
    +
    +property uri

    URI of the IP whitelist API resource

    Return type
    @@ -2765,22 +2765,22 @@
    -
    -property whitelist
    +
    +property whitelist

    the list of all IP whitelist entries on this account

    Return type
    -

    Sequence[IPWhitelistEntry]

    +

    Sequence[IPWhitelistEntry]

    -
    -class ngrok.objects.Ref(client, props)[source]
    +
    +class ngrok.datatypes.Ref(client, props)[source]
    -
    -property id
    +
    +property id

    a resource identifier

    Return type
    @@ -2789,8 +2789,8 @@
    -
    -property uri
    +
    +property uri

    a uri for locating a resource

    Return type
    @@ -2800,11 +2800,11 @@
    -
    -class ngrok.objects.ReservedAddr(client, props)[source]
    +
    +class ngrok.datatypes.ReservedAddr(client, props)[source]
    -
    -property addr
    +
    +property addr

    hostname:port of the reserved address that was assigned at creation time

    Return type
    @@ -2813,8 +2813,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the reserved address was created, RFC 3339 format

    Return type
    @@ -2823,12 +2823,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of what this reserved address will be used for

    Return type
    @@ -2837,18 +2837,18 @@
    -
    -property endpoint_configuration
    +
    +property endpoint_configuration

    object reference to the endpoint configuration that will be applied to traffic to this address

    Return type
    -

    Ref

    +

    Ref

    -
    -property id
    +
    +property id

    unique reserved address resource identifier

    Return type
    @@ -2857,8 +2857,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes.

    Return type
    @@ -2867,8 +2867,8 @@
    -
    -property region
    +
    +property region

    reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa)

    Return type
    @@ -2877,8 +2877,8 @@
    -
    -property uri
    +
    +property uri

    URI of the reserved address API resource

    Return type
    @@ -2888,11 +2888,11 @@
    -
    -class ngrok.objects.ReservedAddrList(client, props)[source]
    +
    +class ngrok.datatypes.ReservedAddrList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -2901,18 +2901,18 @@
    -
    -property reserved_addrs
    +
    +property reserved_addrs

    the list of all reserved addresses on this account

    Return type
    -

    Sequence[ReservedAddr]

    +

    Sequence[ReservedAddr]

    -
    -property uri
    +
    +property uri

    URI of the reserved address list API resource

    Return type
    @@ -2922,41 +2922,41 @@
    -
    -class ngrok.objects.ReservedDomain(client, props)[source]
    +
    +class ngrok.datatypes.ReservedDomain(client, props)[source]
    -
    -property certificate
    +
    +property certificate

    object referencing the TLS certificate used for connections to this domain. This can be either a user-uploaded certificate, the most recently issued automatic one, or null otherwise.

    Return type
    -

    Ref

    +

    Ref

    -
    -property certificate_management_policy
    +
    +property certificate_management_policy

    configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled

    Return type
    -

    ReservedDomainCertPolicy

    +

    ReservedDomainCertPolicy

    -
    -property certificate_management_status
    +
    +property certificate_management_status

    status of the automatic certificate management for this domain, or null if automatic management is disabled

    Return type
    -

    ReservedDomainCertStatus

    +

    ReservedDomainCertStatus

    -
    -property cname_target
    +
    +property cname_target

    DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of *.ngrok.io

    Return type
    @@ -2965,8 +2965,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the reserved domain was created, RFC 3339 format

    Return type
    @@ -2975,12 +2975,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of what this reserved domain will be used for

    Return type
    @@ -2989,8 +2989,8 @@
    -
    -property domain
    +
    +property domain

    hostname of the reserved domain

    Return type
    @@ -2999,28 +2999,28 @@
    -
    -property http_endpoint_configuration
    +
    +property http_endpoint_configuration

    object referencing the endpoint configuration applied to http traffic on this domain

    Return type
    -

    Ref

    +

    Ref

    -
    -property https_endpoint_configuration
    +
    +property https_endpoint_configuration

    object referencing the endpoint configuration applied to https traffic on this domain

    Return type
    -

    Ref

    +

    Ref

    -
    -property id
    +
    +property id

    unique reserved domain resource identifier

    Return type
    @@ -3029,8 +3029,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes.

    Return type
    @@ -3039,8 +3039,8 @@
    -
    -property region
    +
    +property region

    reserve the domain in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa)

    Return type
    @@ -3049,8 +3049,8 @@
    -
    -property uri
    +
    +property uri

    URI of the reserved domain API resource

    Return type
    @@ -3060,11 +3060,11 @@
    -
    -class ngrok.objects.ReservedDomainCertJob(client, props)[source]
    +
    +class ngrok.datatypes.ReservedDomainCertJob(client, props)[source]
    -
    -property error_code
    +
    +property error_code

    if present, an error code indicating why provisioning is failing. It may be either a temporary condition (INTERNAL_ERROR), or a permanent one the user must correct (DNS_ERROR).

    Return type
    @@ -3073,8 +3073,8 @@
    -
    -property msg
    +
    +property msg

    a message describing the current status or error

    Return type
    @@ -3083,18 +3083,18 @@
    -
    -property ns_targets
    +
    +property ns_targets

    if present, indicates the dns nameservers that the user must configure to complete the provisioning process of a wildcard certificate

    Return type
    -

    Sequence[ReservedDomainCertNSTarget]

    +

    Sequence[ReservedDomainCertNSTarget]

    -
    -property retries_at
    +
    +property retries_at

    timestamp when the provisioning job will be retried

    Return type
    @@ -3103,8 +3103,8 @@
    -
    -property started_at
    +
    +property started_at

    timestamp when the provisioning job started, RFC 3339 format

    Return type
    @@ -3114,11 +3114,11 @@
    -
    -class ngrok.objects.ReservedDomainCertNSTarget(client, props)[source]
    +
    +class ngrok.datatypes.ReservedDomainCertNSTarget(client, props)[source]
    -
    -property nameservers
    +
    +property nameservers

    the nameservers the user must add

    Return type
    @@ -3127,8 +3127,8 @@
    -
    -property zone
    +
    +property zone

    the zone that the nameservers need to be applied to

    Return type
    @@ -3138,11 +3138,11 @@
    -
    -class ngrok.objects.ReservedDomainCertPolicy(client, props)[source]
    +
    +class ngrok.datatypes.ReservedDomainCertPolicy(client, props)[source]
    -
    -property authority
    +
    +property authority

    certificate authority to request certificates from. The only supported value is letsencrypt.

    Return type
    @@ -3151,8 +3151,8 @@
    -
    -property private_key_type
    +
    +property private_key_type

    type of private key to use when requesting certificates. Defaults to rsa, can be either rsa or ecdsa.

    Return type
    @@ -3162,21 +3162,21 @@
    -
    -class ngrok.objects.ReservedDomainCertStatus(client, props)[source]
    +
    +class ngrok.datatypes.ReservedDomainCertStatus(client, props)[source]
    -
    -property provisioning_job
    +
    +property provisioning_job

    status of the certificate provisioning job, or null if the certificiate isn’t being provisioned or renewed

    Return type
    -

    ReservedDomainCertJob

    +

    ReservedDomainCertJob

    -
    -property renews_at
    +
    +property renews_at

    timestamp when the next renewal will be requested, RFC 3339 format

    Return type
    @@ -3186,11 +3186,11 @@
    -
    -class ngrok.objects.ReservedDomainList(client, props)[source]
    +
    +class ngrok.datatypes.ReservedDomainList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -3199,18 +3199,18 @@
    -
    -property reserved_domains
    +
    +property reserved_domains

    the list of all reserved domains on this account

    Return type
    -

    Sequence[ReservedDomain]

    +

    Sequence[ReservedDomain]

    -
    -property uri
    +
    +property uri

    URI of the reserved domain list API resource

    Return type
    @@ -3220,11 +3220,11 @@
    -
    -class ngrok.objects.SSHCertificateAuthority(client, props)[source]
    +
    +class ngrok.datatypes.SSHCertificateAuthority(client, props)[source]
    -
    -property created_at
    +
    +property created_at

    timestamp when the SSH Certificate Authority API resource was created, RFC 3339 format

    Return type
    @@ -3233,12 +3233,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of this SSH Certificate Authority. optional, max 255 bytes.

    Return type
    @@ -3247,8 +3247,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this SSH Certificate Authority

    Return type
    @@ -3257,8 +3257,8 @@
    -
    -property key_type
    +
    +property key_type

    the type of private key for this SSH Certificate Authority

    Return type
    @@ -3267,8 +3267,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes.

    Return type
    @@ -3277,8 +3277,8 @@
    -
    -property public_key
    +
    +property public_key

    raw public key for this SSH Certificate Authority

    Return type
    @@ -3287,12 +3287,12 @@
    -
    -update(description=None, metadata=None)[source]
    +
    +update(description=None, metadata=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the SSH Certificate Authority API resource

    Return type
    @@ -3302,11 +3302,11 @@
    -
    -class ngrok.objects.SSHCertificateAuthorityList(client, props)[source]
    +
    +class ngrok.datatypes.SSHCertificateAuthorityList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -3315,18 +3315,18 @@
    -
    -property ssh_certificate_authorities
    +
    +property ssh_certificate_authorities

    the list of all certificate authorities on this account

    Return type
    -

    Sequence[SSHCertificateAuthority]

    +

    Sequence[SSHCertificateAuthority]

    -
    -property uri
    +
    +property uri

    URI of the certificates authorities list API resource

    Return type
    @@ -3336,11 +3336,11 @@
    -
    -class ngrok.objects.SSHCredential(client, props)[source]
    +
    +class ngrok.datatypes.SSHCredential(client, props)[source]
    -
    -property acl
    +
    +property acl

    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.

    Return type
    @@ -3349,8 +3349,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the ssh credential was created, RFC 3339 format

    Return type
    @@ -3359,12 +3359,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes.

    Return type
    @@ -3373,8 +3373,8 @@
    -
    -property id
    +
    +property id

    unique ssh credential resource identifier

    Return type
    @@ -3383,8 +3383,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes.

    Return type
    @@ -3393,8 +3393,8 @@
    -
    -property public_key
    +
    +property public_key

    the PEM-encoded public key of the SSH keypair that will be used to authenticate

    Return type
    @@ -3403,12 +3403,12 @@
    -
    -update(description=None, metadata=None, acl=None)[source]
    +
    +update(description=None, metadata=None, acl=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the ssh credential API resource

    Return type
    @@ -3418,11 +3418,11 @@
    -
    -class ngrok.objects.SSHCredentialList(client, props)[source]
    +
    +class ngrok.datatypes.SSHCredentialList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -3431,18 +3431,18 @@
    -
    -property ssh_credentials
    +
    +property ssh_credentials

    the list of all ssh credentials on this account

    Return type
    -

    Sequence[SSHCredential]

    +

    Sequence[SSHCredential]

    -
    -property uri
    +
    +property uri

    URI of the ssh credential list API resource

    Return type
    @@ -3452,11 +3452,11 @@
    -
    -class ngrok.objects.SSHHostCertificate(client, props)[source]
    +
    +class ngrok.datatypes.SSHHostCertificate(client, props)[source]
    -
    -property certificate
    +
    +property certificate

    the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a -cert.pub certificate file on disk that should be referenced in your sshd_config configuration file with a HostCertificate directive

    Return type
    @@ -3465,8 +3465,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the SSH Host Certificate API resource was created, RFC 3339 format

    Return type
    @@ -3475,12 +3475,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of this SSH Host Certificate. optional, max 255 bytes.

    Return type
    @@ -3489,8 +3489,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this SSH Host Certificate

    Return type
    @@ -3499,8 +3499,8 @@
    -
    -property key_type
    +
    +property key_type

    the key type of the public_key, one of rsa, ecdsa or ed25519

    Return type
    @@ -3509,8 +3509,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.

    Return type
    @@ -3519,8 +3519,8 @@
    -
    -property principals
    +
    +property principals

    the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.

    Return type
    @@ -3529,8 +3529,8 @@
    -
    -property public_key
    +
    +property public_key

    a public key in OpenSSH Authorized Keys format that this certificate signs

    Return type
    @@ -3539,8 +3539,8 @@
    -
    -property ssh_certificate_authority_id
    +
    +property ssh_certificate_authority_id

    the ssh certificate authority that is used to sign this ssh host certificate

    Return type
    @@ -3549,12 +3549,12 @@
    -
    -update(description=None, metadata=None)[source]
    +
    +update(description=None, metadata=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the SSH Host Certificate API resource

    Return type
    @@ -3563,8 +3563,8 @@
    -
    -property valid_after
    +
    +property valid_after

    the time when the ssh host certificate becomes valid, in RFC 3339 format.

    Return type
    @@ -3573,8 +3573,8 @@
    -
    -property valid_until
    +
    +property valid_until

    the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this valid_before.

    Return type
    @@ -3584,11 +3584,11 @@
    -
    -class ngrok.objects.SSHHostCertificateList(client, props)[source]
    +
    +class ngrok.datatypes.SSHHostCertificateList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -3597,18 +3597,18 @@
    -
    -property ssh_host_certificates
    +
    +property ssh_host_certificates

    the list of all ssh host certificates on this account

    Return type
    -

    Sequence[SSHHostCertificate]

    +

    Sequence[SSHHostCertificate]

    -
    -property uri
    +
    +property uri

    URI of the ssh host certificates list API resource

    Return type
    @@ -3618,11 +3618,11 @@
    -
    -class ngrok.objects.SSHUserCertificate(client, props)[source]
    +
    +class ngrok.datatypes.SSHUserCertificate(client, props)[source]
    -
    -property certificate
    +
    +property certificate

    the signed SSH certificate in OpenSSH Authorized Keys Format. this value should be placed in a -cert.pub certificate file on disk that should be referenced in your sshd_config configuration file with a HostCertificate directive

    Return type
    @@ -3631,8 +3631,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the SSH User Certificate API resource was created, RFC 3339 format

    Return type
    @@ -3641,8 +3641,8 @@
    -
    -property critical_options
    +
    +property critical_options

    A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: force-command and source-address. See the OpenSSH certificate protocol spec <https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys>`_ for additional details.

    Return type
    @@ -3651,12 +3651,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of this SSH User Certificate. optional, max 255 bytes.

    Return type
    @@ -3665,8 +3665,8 @@
    -
    -property extensions
    +
    +property extensions

    A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: {"permit-pty": "", "permit-user-rc": ""} OpenSSH understands a number of predefined extensions. See the OpenSSH certificate protocol spec <https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys>`_ for additional details.

    Return type
    @@ -3675,8 +3675,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this SSH User Certificate

    Return type
    @@ -3685,8 +3685,8 @@
    -
    -property key_type
    +
    +property key_type

    the key type of the public_key, one of rsa, ecdsa or ed25519

    Return type
    @@ -3695,8 +3695,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes.

    Return type
    @@ -3705,8 +3705,8 @@
    -
    -property principals
    +
    +property principals

    the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizinig the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user.

    Return type
    @@ -3715,8 +3715,8 @@
    -
    -property public_key
    +
    +property public_key

    a public key in OpenSSH Authorized Keys format that this certificate signs

    Return type
    @@ -3725,8 +3725,8 @@
    -
    -property ssh_certificate_authority_id
    +
    +property ssh_certificate_authority_id

    the ssh certificate authority that is used to sign this ssh user certificate

    Return type
    @@ -3735,12 +3735,12 @@
    -
    -update(description=None, metadata=None)[source]
    +
    +update(description=None, metadata=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the SSH User Certificate API resource

    Return type
    @@ -3749,8 +3749,8 @@
    -
    -property valid_after
    +
    +property valid_after

    the time when the ssh host certificate becomes valid, in RFC 3339 format.

    Return type
    @@ -3759,8 +3759,8 @@
    -
    -property valid_until
    +
    +property valid_until

    the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this valid_before.

    Return type
    @@ -3770,11 +3770,11 @@
    -
    -class ngrok.objects.SSHUserCertificateList(client, props)[source]
    +
    +class ngrok.datatypes.SSHUserCertificateList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -3783,18 +3783,18 @@
    -
    -property ssh_user_certificates
    +
    +property ssh_user_certificates

    the list of all ssh user certificates on this account

    Return type
    -

    Sequence[SSHUserCertificate]

    +

    Sequence[SSHUserCertificate]

    -
    -property uri
    +
    +property uri

    URI of the ssh user certificates list API resource

    Return type
    @@ -3804,11 +3804,11 @@
    -
    -class ngrok.objects.TLSCertificate(client, props)[source]
    +
    +class ngrok.datatypes.TLSCertificate(client, props)[source]
    -
    -property certificate_pem
    +
    +property certificate_pem

    chain of PEM-encoded certificates, leaf first. See Certificate Bundles <https://ngrok.com/docs/api#tls-certificates-pem>`_.

    Return type
    @@ -3817,8 +3817,8 @@
    -
    -property created_at
    +
    +property created_at

    timestamp when the TLS certificate was created, RFC 3339 format

    Return type
    @@ -3827,12 +3827,12 @@
    -
    -delete()[source]
    +
    +delete()[source]
    -
    -property description
    +
    +property description

    human-readable description of this TLS certificate. optional, max 255 bytes.

    Return type
    @@ -3841,8 +3841,8 @@
    -
    -property extended_key_usages
    +
    +property extended_key_usages

    extended set of actions the private key of this TLS certificate can be used for

    Return type
    @@ -3851,8 +3851,8 @@
    -
    -property id
    +
    +property id

    unique identifier for this TLS certificate

    Return type
    @@ -3861,8 +3861,8 @@
    -
    -property issued_at
    +
    +property issued_at

    timestamp (in RFC 3339 format) when this TLS certificate was issued automatically, or null if this certificate was user-uploaded

    Return type
    @@ -3871,8 +3871,8 @@
    -
    -property issuer_common_name
    +
    +property issuer_common_name

    issuer common name from the leaf of this TLS certificate

    Return type
    @@ -3881,8 +3881,8 @@
    -
    -property key_usages
    +
    +property key_usages

    set of actions the private key of this TLS certificate can be used for

    Return type
    @@ -3891,8 +3891,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.

    Return type
    @@ -3901,8 +3901,8 @@
    -
    -property not_after
    +
    +property not_after

    timestamp when this TLS certificate becomes invalid, RFC 3339 format

    Return type
    @@ -3911,8 +3911,8 @@
    -
    -property not_before
    +
    +property not_before

    timestamp when this TLS certificate becomes valid, RFC 3339 format

    Return type
    @@ -3921,8 +3921,8 @@
    -
    -property private_key_type
    +
    +property private_key_type

    type of the private key of this TLS certificate. One of rsa, ecdsa, or ed25519.

    Return type
    @@ -3931,8 +3931,8 @@
    -
    -property serial_number
    +
    +property serial_number

    serial number of the leaf of this TLS certificate

    Return type
    @@ -3941,18 +3941,18 @@
    -
    -property subject_alternative_names
    +
    +property subject_alternative_names

    subject alternative names (SANs) from the leaf of this TLS certificate

    Return type
    -

    TLSCertificateSANs

    +

    TLSCertificateSANs

    -
    -property subject_common_name
    +
    +property subject_common_name

    subject common name from the leaf of this TLS certificate

    Return type
    @@ -3961,8 +3961,8 @@
    -
    -property subject_country
    +
    +property subject_country

    subject country from the leaf of this TLS certificate

    Return type
    @@ -3971,8 +3971,8 @@
    -
    -property subject_locality
    +
    +property subject_locality

    subject locality from the leaf of this TLS certificate

    Return type
    @@ -3981,8 +3981,8 @@
    -
    -property subject_organization
    +
    +property subject_organization

    subject organization from the leaf of this TLS certificate

    Return type
    @@ -3991,8 +3991,8 @@
    -
    -property subject_organizational_unit
    +
    +property subject_organizational_unit

    subject organizational unit from the leaf of this TLS certificate

    Return type
    @@ -4001,8 +4001,8 @@
    -
    -property subject_province
    +
    +property subject_province

    subject province from the leaf of this TLS certificate

    Return type
    @@ -4011,12 +4011,12 @@
    -
    -update(description=None, metadata=None)[source]
    +
    +update(description=None, metadata=None)[source]
    -
    -property uri
    +
    +property uri

    URI of the TLS certificate API resource

    Return type
    @@ -4026,11 +4026,11 @@
    -
    -class ngrok.objects.TLSCertificateList(client, props)[source]
    +
    +class ngrok.datatypes.TLSCertificateList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -4039,18 +4039,18 @@
    -
    -property tls_certificates
    +
    +property tls_certificates

    the list of all TLS certificates on this account

    Return type
    -

    Sequence[TLSCertificate]

    +

    Sequence[TLSCertificate]

    -
    -property uri
    +
    +property uri

    URI of the TLS certificates list API resource

    Return type
    @@ -4060,11 +4060,11 @@
    -
    -class ngrok.objects.TLSCertificateSANs(client, props)[source]
    +
    +class ngrok.datatypes.TLSCertificateSANs(client, props)[source]
    -
    -property dns_names
    +
    +property dns_names

    set of additional domains (including wildcards) this TLS certificate is valid for

    Return type
    @@ -4073,8 +4073,8 @@
    -
    -property ips
    +
    +property ips

    set of IP addresses this TLS certificate is also valid for

    Return type
    @@ -4084,11 +4084,11 @@
    -
    -class ngrok.objects.Tunnel(client, props)[source]
    +
    +class ngrok.datatypes.Tunnel(client, props)[source]
    -
    -property id
    +
    +property id

    unique tunnel resource identifier

    Return type
    @@ -4097,8 +4097,8 @@
    -
    -property metadata
    +
    +property metadata

    user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel metadata configuration option <https://ngrok.com/docs#tunnel-definitions-metadata>`_ In API version 0, this value was instead pulled from the top-level metadata configuration option <https://ngrok.com/docs#config_metadata>`_.

    Return type
    @@ -4107,8 +4107,8 @@
    -
    -property proto
    +
    +property proto

    tunnel protocol. one of http, https, tcp or tls

    Return type
    @@ -4117,8 +4117,8 @@
    -
    -property public_url
    +
    +property public_url

    URL of the tunnel’s public endpoint

    Return type
    @@ -4127,8 +4127,8 @@
    -
    -property region
    +
    +property region

    identifier of tune region where the tunnel is running

    Return type
    @@ -4137,8 +4137,8 @@
    -
    -property started_at
    +
    +property started_at

    timestamp when the tunnel was initiated in RFC 3339 format

    Return type
    @@ -4147,22 +4147,22 @@
    -
    -property tunnel_session
    +
    +property tunnel_session

    reference object pointing to the tunnel session on which this tunnel was started

    Return type
    -

    Ref

    +

    Ref

    -
    -class ngrok.objects.TunnelList(client, props)[source]
    +
    +class ngrok.datatypes.TunnelList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -4171,18 +4171,18 @@
    -
    -property tunnels
    +
    +property tunnels

    the list of all online tunnels on this account

    Return type
    -

    Sequence[Tunnel]

    +

    Sequence[Tunnel]

    -
    -property uri
    +
    +property uri

    URI of the tunnels list API resource

    Return type
    @@ -4192,11 +4192,11 @@
    -
    -class ngrok.objects.TunnelSession(client, props)[source]
    +
    +class ngrok.datatypes.TunnelSession(client, props)[source]
    -
    -property agent_version
    +
    +property agent_version

    version of the ngrok agent that started this ngrok tunnel session

    Return type
    @@ -4205,18 +4205,18 @@
    -
    -property credential
    +
    +property credential

    reference to the tunnel credential or ssh credential used by the ngrok agent to start this tunnel session

    Return type
    -

    Ref

    +

    Ref

    -
    -property id
    +
    +property id

    unique tunnel session resource identifier

    Return type
    @@ -4225,8 +4225,8 @@
    -
    -property ip
    +
    +property ip

    source ip address of the tunnel session

    Return type
    @@ -4235,8 +4235,8 @@
    -
    -property metadata
    +
    +property metadata

    arbitrary user-defined data specified in the metadata property in the ngrok configuration file. See the metadata configuration option

    Return type
    @@ -4245,8 +4245,8 @@
    -
    -property os
    +
    +property os

    operating system of the host the ngrok agent is running on

    Return type
    @@ -4255,8 +4255,8 @@
    -
    -property region
    +
    +property region

    the ngrok region identifier in which this tunnel session was started

    Return type
    @@ -4265,8 +4265,8 @@
    -
    -property started_at
    +
    +property started_at

    time when the tunnel session first connected to the ngrok servers

    Return type
    @@ -4275,8 +4275,8 @@
    -
    -property transport
    +
    +property transport

    the transport protocol used to start the tunnel session. Either ngrok/v2 or ssh

    Return type
    @@ -4285,8 +4285,8 @@
    -
    -property uri
    +
    +property uri

    URI to the API resource of the tunnel session

    Return type
    @@ -4296,11 +4296,11 @@
    -
    -class ngrok.objects.TunnelSessionList(client, props)[source]
    +
    +class ngrok.datatypes.TunnelSessionList(client, props)[source]
    -
    -property next_page_uri
    +
    +property next_page_uri

    URI of the next page, or null if there is no next page

    Return type
    @@ -4309,18 +4309,18 @@
    -
    -property tunnel_sessions
    +
    +property tunnel_sessions

    list of all tunnel sessions on this account

    Return type
    -

    Sequence[TunnelSession]

    +

    Sequence[TunnelSession]

    -
    -property uri
    +
    +property uri

    URI to the API resource of the tunnel session list

    Return type
    @@ -4365,7 +4365,7 @@ @pradyunsg's Furo theme. | - Show Source diff --git a/docs/endpoint_circuit_breaker_module.html b/docs/endpoint_circuit_breaker_module.html index 825f98b..3164f32 100644 --- a/docs/endpoint_circuit_breaker_module.html +++ b/docs/endpoint_circuit_breaker_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointCircuitBreaker

    +
    +

    https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-get

    +
    +
    Return type
    +

    EndpointCircuitBreaker

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointCircuitBreaker

    +
    +

    https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-replace

    +
    +
    Return type
    +

    EndpointCircuitBreaker

    diff --git a/docs/endpoint_compression_module.html b/docs/endpoint_compression_module.html index 3480360..232b44a 100644 --- a/docs/endpoint_compression_module.html +++ b/docs/endpoint_compression_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-compression-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointCompression

    +
    +

    https://ngrok.com/docs/api#api-endpoint-compression-module-get

    +
    +
    Return type
    +

    EndpointCompression

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointCompression

    + +

    https://ngrok.com/docs/api#api-endpoint-compression-module-replace

    +
    +
    Return type
    +

    EndpointCompression

    diff --git a/docs/endpoint_configurations.html b/docs/endpoint_configurations.html index e356ea4..e42cef5 100644 --- a/docs/endpoint_configurations.html +++ b/docs/endpoint_configurations.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -180,22 +180,25 @@ a ngrok network endpoint instance.*Endpoints are your gateway to ngrok features!
  • type (str) – they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp

  • description (str) – human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes

  • metadata (str) – arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.

  • -
  • circuit_breaker (Optional[EndpointCircuitBreaker]) – circuit breaker module configuration or null

  • -
  • compression (Optional[EndpointCompression]) – compression module configuration or null

  • -
  • request_headers (Optional[EndpointRequestHeaders]) – request headers module configuration or null

  • -
  • response_headers (Optional[EndpointResponseHeaders]) – response headers module configuration or null

  • -
  • ip_policy (Optional[EndpointIPPolicyMutate]) – ip policy module configuration or null

  • -
  • mutual_tls (Optional[EndpointMutualTLSMutate]) – mutual TLS module configuration or null

  • -
  • tls_termination (Optional[EndpointTLSTermination]) – TLS termination module configuration or null

  • -
  • webhook_validation (Optional[EndpointWebhookValidation]) – webhook validation module configuration or null

  • -
  • oauth (Optional[EndpointOAuth]) – oauth module configuration or null

  • -
  • logging (Optional[EndpointLoggingMutate]) – logging module configuration or null

  • -
  • saml (Optional[EndpointSAMLMutate]) – saml module configuration or null

  • -
  • oidc (Optional[EndpointOIDC]) – oidc module configuration or null

  • +
  • circuit_breaker (Optional[EndpointCircuitBreaker]) – circuit breaker module configuration or null

  • +
  • compression (Optional[EndpointCompression]) – compression module configuration or null

  • +
  • request_headers (Optional[EndpointRequestHeaders]) – request headers module configuration or null

  • +
  • response_headers (Optional[EndpointResponseHeaders]) – response headers module configuration or null

  • +
  • ip_policy (Optional[EndpointIPPolicyMutate]) – ip policy module configuration or null

  • +
  • mutual_tls (Optional[EndpointMutualTLSMutate]) – mutual TLS module configuration or null

  • +
  • tls_termination (Optional[EndpointTLSTermination]) – TLS termination module configuration or null

  • +
  • webhook_validation (Optional[EndpointWebhookValidation]) – webhook validation module configuration or null

  • +
  • oauth (Optional[EndpointOAuth]) – oauth module configuration or null

  • +
  • logging (Optional[EndpointLoggingMutate]) – logging module configuration or null

  • +
  • saml (Optional[EndpointSAMLMutate]) – saml module configuration or null

  • +
  • oidc (Optional[EndpointOIDC]) – oidc module configuration or null

  • -
    Return type
    -

    EndpointConfiguration

    + +

    https://ngrok.com/docs/api#api-endpoint-configurations-create

    +
    +
    Return type
    +

    EndpointConfiguration

    @@ -208,6 +211,7 @@ a ngrok network endpoint instance.*Endpoints are your gateway to ngrok features!

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-configurations-delete

    @@ -217,8 +221,11 @@ a ngrok network endpoint instance.*Endpoints are your gateway to ngrok features!
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointConfiguration

    +
    +

    https://ngrok.com/docs/api#api-endpoint-configurations-get

    +
    +
    Return type
    +

    EndpointConfiguration

    @@ -233,8 +240,11 @@ a ngrok network endpoint instance.*Endpoints are your gateway to ngrok features!
  • limit (Optional[str]) –

  • -
    Return type
    -

    EndpointConfigurationList

    + +

    https://ngrok.com/docs/api#api-endpoint-configurations-list

    +
    +
    Return type
    +

    EndpointConfigurationList

    @@ -248,22 +258,25 @@ a ngrok network endpoint instance.*Endpoints are your gateway to ngrok features!
  • id (str) – unique identifier of this endpoint configuration

  • description (Optional[str]) – human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes

  • metadata (Optional[str]) – arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.

  • -
  • circuit_breaker (Optional[EndpointCircuitBreaker]) – circuit breaker module configuration or null

  • -
  • compression (Optional[EndpointCompression]) – compression module configuration or null

  • -
  • request_headers (Optional[EndpointRequestHeaders]) – request headers module configuration or null

  • -
  • response_headers (Optional[EndpointResponseHeaders]) – response headers module configuration or null

  • -
  • ip_policy (Optional[EndpointIPPolicyMutate]) – ip policy module configuration or null

  • -
  • mutual_tls (Optional[EndpointMutualTLSMutate]) – mutual TLS module configuration or null

  • -
  • tls_termination (Optional[EndpointTLSTermination]) – TLS termination module configuration or null

  • -
  • webhook_validation (Optional[EndpointWebhookValidation]) – webhook validation module configuration or null

  • -
  • oauth (Optional[EndpointOAuth]) – oauth module configuration or null

  • -
  • logging (Optional[EndpointLoggingMutate]) – logging module configuration or null

  • -
  • saml (Optional[EndpointSAMLMutate]) – saml module configuration or null

  • -
  • oidc (Optional[EndpointOIDC]) – oidc module configuration or null

  • +
  • circuit_breaker (Optional[EndpointCircuitBreaker]) – circuit breaker module configuration or null

  • +
  • compression (Optional[EndpointCompression]) – compression module configuration or null

  • +
  • request_headers (Optional[EndpointRequestHeaders]) – request headers module configuration or null

  • +
  • response_headers (Optional[EndpointResponseHeaders]) – response headers module configuration or null

  • +
  • ip_policy (Optional[EndpointIPPolicyMutate]) – ip policy module configuration or null

  • +
  • mutual_tls (Optional[EndpointMutualTLSMutate]) – mutual TLS module configuration or null

  • +
  • tls_termination (Optional[EndpointTLSTermination]) – TLS termination module configuration or null

  • +
  • webhook_validation (Optional[EndpointWebhookValidation]) – webhook validation module configuration or null

  • +
  • oauth (Optional[EndpointOAuth]) – oauth module configuration or null

  • +
  • logging (Optional[EndpointLoggingMutate]) – logging module configuration or null

  • +
  • saml (Optional[EndpointSAMLMutate]) – saml module configuration or null

  • +
  • oidc (Optional[EndpointOIDC]) – oidc module configuration or null

  • -
    Return type
    -

    EndpointConfiguration

    + +

    https://ngrok.com/docs/api#api-endpoint-configurations-update

    +
    +
    Return type
    +

    EndpointConfiguration

    diff --git a/docs/endpoint_ip_policy_module.html b/docs/endpoint_ip_policy_module.html index eac0af1..047f1a3 100644 --- a/docs/endpoint_ip_policy_module.html +++ b/docs/endpoint_ip_policy_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-ip-policy-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointIPPolicy

    +
    +

    https://ngrok.com/docs/api#api-endpoint-ip-policy-module-get

    +
    +
    Return type
    +

    EndpointIPPolicy

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointIPPolicy

    + +

    https://ngrok.com/docs/api#api-endpoint-ip-policy-module-replace

    +
    +
    Return type
    +

    EndpointIPPolicy

    diff --git a/docs/endpoint_logging_module.html b/docs/endpoint_logging_module.html index afecb9a..ac5ed34 100644 --- a/docs/endpoint_logging_module.html +++ b/docs/endpoint_logging_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-logging-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointLogging

    +
    +

    https://ngrok.com/docs/api#api-endpoint-logging-module-get

    +
    +
    Return type
    +

    EndpointLogging

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointLogging

    + +

    https://ngrok.com/docs/api#api-endpoint-logging-module-replace

    +
    +
    Return type
    +

    EndpointLogging

    diff --git a/docs/endpoint_mutual_tls_module.html b/docs/endpoint_mutual_tls_module.html index fd48294..d628d99 100644 --- a/docs/endpoint_mutual_tls_module.html +++ b/docs/endpoint_mutual_tls_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointMutualTLS

    +
    +

    https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-get

    +
    +
    Return type
    +

    EndpointMutualTLS

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointMutualTLS

    + +

    https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-replace

    +
    +
    Return type
    +

    EndpointMutualTLS

    diff --git a/docs/endpoint_o_auth_module.html b/docs/endpoint_o_auth_module.html index 650f749..0d834e7 100644 --- a/docs/endpoint_o_auth_module.html +++ b/docs/endpoint_o_auth_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-o-auth-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointOAuth

    +
    +

    https://ngrok.com/docs/api#api-endpoint-o-auth-module-get

    +
    +
    Return type
    +

    EndpointOAuth

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointOAuth

    + +

    https://ngrok.com/docs/api#api-endpoint-o-auth-module-replace

    +
    +
    Return type
    +

    EndpointOAuth

    diff --git a/docs/endpoint_oidc_module.html b/docs/endpoint_oidc_module.html index a37baf8..828c1e2 100644 --- a/docs/endpoint_oidc_module.html +++ b/docs/endpoint_oidc_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-oidc-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointOIDC

    +
    +

    https://ngrok.com/docs/api#api-endpoint-oidc-module-get

    +
    +
    Return type
    +

    EndpointOIDC

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointOIDC

    + +

    https://ngrok.com/docs/api#api-endpoint-oidc-module-replace

    +
    +
    Return type
    +

    EndpointOIDC

    diff --git a/docs/endpoint_request_headers_module.html b/docs/endpoint_request_headers_module.html index bea19e3..673dc27 100644 --- a/docs/endpoint_request_headers_module.html +++ b/docs/endpoint_request_headers_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-request-headers-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointRequestHeaders

    +
    +

    https://ngrok.com/docs/api#api-endpoint-request-headers-module-get

    +
    +
    Return type
    +

    EndpointRequestHeaders

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointRequestHeaders

    + +

    https://ngrok.com/docs/api#api-endpoint-request-headers-module-replace

    +
    +
    Return type
    +

    EndpointRequestHeaders

    diff --git a/docs/endpoint_response_headers_module.html b/docs/endpoint_response_headers_module.html index 7d248b3..0fda041 100644 --- a/docs/endpoint_response_headers_module.html +++ b/docs/endpoint_response_headers_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-response-headers-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointResponseHeaders

    +
    +

    https://ngrok.com/docs/api#api-endpoint-response-headers-module-get

    +
    +
    Return type
    +

    EndpointResponseHeaders

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointResponseHeaders

    + +

    https://ngrok.com/docs/api#api-endpoint-response-headers-module-replace

    +
    +
    Return type
    +

    EndpointResponseHeaders

    diff --git a/docs/endpoint_saml_module.html b/docs/endpoint_saml_module.html index f39fd61..a01fc34 100644 --- a/docs/endpoint_saml_module.html +++ b/docs/endpoint_saml_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-saml-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointSAML

    +
    +

    https://ngrok.com/docs/api#api-endpoint-saml-module-get

    +
    +
    Return type
    +

    EndpointSAML

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointSAML

    + +

    https://ngrok.com/docs/api#api-endpoint-saml-module-replace

    +
    +
    Return type
    +

    EndpointSAML

    diff --git a/docs/endpoint_tls_termination_module.html b/docs/endpoint_tls_termination_module.html index c86d844..99e0a57 100644 --- a/docs/endpoint_tls_termination_module.html +++ b/docs/endpoint_tls_termination_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-tls-termination-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointTLSTermination

    +
    +

    https://ngrok.com/docs/api#api-endpoint-tls-termination-module-get

    +
    +
    Return type
    +

    EndpointTLSTermination

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointTLSTermination

    + +

    https://ngrok.com/docs/api#api-endpoint-tls-termination-module-replace

    +
    +
    Return type
    +

    EndpointTLSTermination

    diff --git a/docs/endpoint_webhook_validation_module.html b/docs/endpoint_webhook_validation_module.html index fa9c564..acef6ae 100644 --- a/docs/endpoint_webhook_validation_module.html +++ b/docs/endpoint_webhook_validation_module.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,6 +176,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-delete

    @@ -184,8 +185,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EndpointWebhookValidation

    +
    +

    https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-get

    +
    +
    Return type
    +

    EndpointWebhookValidation

    @@ -196,11 +200,14 @@
    Parameters
    -
    Return type
    -

    EndpointWebhookValidation

    + +

    https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-replace

    +
    +
    Return type
    +

    EndpointWebhookValidation

    diff --git a/docs/errors.html b/docs/errors.html index 7fb28ac..3af71b7 100644 --- a/docs/errors.html +++ b/docs/errors.html @@ -2,7 +2,7 @@ - + Errors - ngrok-api documentation @@ -110,7 +110,7 @@

    API

    Services

    @@ -186,7 +186,7 @@ documentation for the - +
    Previous
    -
    Objects
    +
    Datatypes
    diff --git a/docs/event_destinations.html b/docs/event_destinations.html index 214d01b..18e8106 100644 --- a/docs/event_destinations.html +++ b/docs/event_destinations.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -178,11 +178,14 @@
  • metadata (str) – Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes.

  • description (str) – Human-readable description of the Event Destination. Optional, max 255 bytes.

  • format (str) – The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON.

  • -
  • target (Optional[EventTarget]) – 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.

  • +
  • target (Optional[EventTarget]) – 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.

  • -
    Return type
    -

    EventDestination

    + +

    https://ngrok.com/docs/api#api-event-destinations-create

    +
    +
    Return type
    +

    EventDestination

    @@ -195,6 +198,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-event-destinations-delete

    @@ -204,8 +208,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EventDestination

    +
    +

    https://ngrok.com/docs/api#api-event-destinations-get

    +
    +
    Return type
    +

    EventDestination

    @@ -220,8 +227,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    EventDestinationList

    + +

    https://ngrok.com/docs/api#api-event-destinations-list

    +
    +
    Return type
    +

    EventDestinationList

    @@ -236,11 +246,14 @@
  • metadata (Optional[str]) – Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes.

  • description (Optional[str]) – Human-readable description of the Event Destination. Optional, max 255 bytes.

  • format (Optional[str]) – The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON.

  • -
  • target (Optional[EventTarget]) – 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.

  • +
  • target (Optional[EventTarget]) – 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.

  • -
    Return type
    -

    EventDestination

    + +

    https://ngrok.com/docs/api#api-event-destinations-update

    +
    +
    Return type
    +

    EventDestination

    diff --git a/docs/event_streams.html b/docs/event_streams.html index e23bb35..4aa1042 100644 --- a/docs/event_streams.html +++ b/docs/event_streams.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -183,8 +183,11 @@
  • sampling_rate (float) – The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.

  • -
    Return type
    -

    EventStream

    + +

    https://ngrok.com/docs/api#api-event-streams-create

    +
    +
    Return type
    +

    EventStream

    @@ -197,6 +200,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-event-streams-delete

    @@ -206,8 +210,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    EventStream

    +
    +

    https://ngrok.com/docs/api#api-event-streams-get

    +
    +
    Return type
    +

    EventStream

    @@ -222,8 +229,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    EventStreamList

    + +

    https://ngrok.com/docs/api#api-event-streams-list

    +
    +
    Return type
    +

    EventStreamList

    @@ -242,8 +252,11 @@
  • sampling_rate (Optional[float]) – The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.

  • -
    Return type
    -

    EventStream

    + +

    https://ngrok.com/docs/api#api-event-streams-update

    +
    +
    Return type
    +

    EventStream

    diff --git a/docs/genindex.html b/docs/genindex.html index e5b6913..c5d4dec 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -109,7 +109,7 @@

    API

    Services

    @@ -171,75 +171,75 @@ @@ -249,82 +249,82 @@

    C

    @@ -431,40 +431,40 @@

    D

    @@ -589,197 +589,197 @@

    E

    @@ -789,21 +789,21 @@

    F

    @@ -879,9 +879,9 @@ @@ -891,15 +891,15 @@

    H

    @@ -909,135 +909,135 @@

    I

    @@ -1047,25 +1047,25 @@

    K

    @@ -1117,9 +1117,9 @@ @@ -1129,65 +1129,65 @@

    M

    @@ -1212,46 +1212,46 @@

    N

    @@ -1264,10 +1264,10 @@
  • - ngrok.objects + ngrok.datatypes
  • @@ -1277,23 +1277,23 @@
  • module, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31]
  • -
  • not_after() (ngrok.objects.CertificateAuthority property) +
  • not_after() (ngrok.datatypes.CertificateAuthority property)
  • -
  • not_before() (ngrok.objects.CertificateAuthority property) +
  • not_before() (ngrok.datatypes.CertificateAuthority property)
  • NotFoundError
  • -
  • ns_targets() (ngrok.objects.ReservedDomainCertJob property) +
  • ns_targets() (ngrok.datatypes.ReservedDomainCertJob property)
  • -
  • num_buckets() (ngrok.objects.EndpointCircuitBreaker property) +
  • num_buckets() (ngrok.datatypes.EndpointCircuitBreaker property)
  • @@ -1303,25 +1303,27 @@

    O

    @@ -1333,41 +1335,41 @@ @@ -1377,25 +1379,25 @@

    R

    -
  • request_headers() (ngrok.objects.EndpointConfiguration property) +
  • request_headers() (ngrok.datatypes.EndpointConfiguration property)
  • @@ -1481,119 +1483,119 @@

    S

    @@ -1603,70 +1605,70 @@

    T

    @@ -1677,32 +1679,32 @@

    U

    @@ -1833,21 +1835,21 @@

    V

    @@ -1857,11 +1859,11 @@

    W

    @@ -1871,7 +1873,7 @@

    Z

    diff --git a/docs/index.html b/docs/index.html index c46900d..ff48a1b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -255,7 +255,7 @@ section on API

    -
    Return type
    -

    IPPolicyList

    + +

    https://ngrok.com/docs/api#api-ip-policies-list

    +
    +
    Return type
    +

    IPPolicyList

    @@ -236,8 +246,11 @@
  • metadata (Optional[str]) – arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes.

  • -
    Return type
    -

    IPPolicy

    + +

    https://ngrok.com/docs/api#api-ip-policies-update

    +
    +
    Return type
    +

    IPPolicy

    diff --git a/docs/ip_policy_rules.html b/docs/ip_policy_rules.html index ea169d0..3f935f3 100644 --- a/docs/ip_policy_rules.html +++ b/docs/ip_policy_rules.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -181,8 +181,11 @@
  • ip_policy_id (str) – ID of the IP policy this IP policy rule will be attached to

  • -
    Return type
    -

    IPPolicyRule

    + +

    https://ngrok.com/docs/api#api-ip-policy-rules-create

    +
    +
    Return type
    +

    IPPolicyRule

    @@ -195,6 +198,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-ip-policy-rules-delete

    @@ -204,8 +208,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    IPPolicyRule

    +
    +

    https://ngrok.com/docs/api#api-ip-policy-rules-get

    +
    +
    Return type
    +

    IPPolicyRule

    @@ -220,8 +227,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    IPPolicyRuleList

    + +

    https://ngrok.com/docs/api#api-ip-policy-rules-list

    +
    +
    Return type
    +

    IPPolicyRuleList

    @@ -238,8 +248,11 @@
  • cidr (Optional[str]) – an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.

  • -
    Return type
    -

    IPPolicyRule

    + +

    https://ngrok.com/docs/api#api-ip-policy-rules-update

    +
    +
    Return type
    +

    IPPolicyRule

    diff --git a/docs/ip_restrictions.html b/docs/ip_restrictions.html index 4e61239..f332d41 100644 --- a/docs/ip_restrictions.html +++ b/docs/ip_restrictions.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -182,8 +182,11 @@
  • ip_policy_ids (Sequence[str]) – the set of IP policy identifiers that are used to enforce the restriction

  • -
    Return type
    -

    IPRestriction

    + +

    https://ngrok.com/docs/api#api-ip-restrictions-create

    +
    +
    Return type
    +

    IPRestriction

    @@ -196,6 +199,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-ip-restrictions-delete

    @@ -205,8 +209,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    IPRestriction

    +
    +

    https://ngrok.com/docs/api#api-ip-restrictions-get

    +
    +
    Return type
    +

    IPRestriction

    @@ -221,8 +228,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    IPRestrictionList

    + +

    https://ngrok.com/docs/api#api-ip-restrictions-list

    +
    +
    Return type
    +

    IPRestrictionList

    @@ -240,8 +250,11 @@
  • ip_policy_ids (Sequence[str]) – the set of IP policy identifiers that are used to enforce the restriction

  • -
    Return type
    -

    IPRestriction

    + +

    https://ngrok.com/docs/api#api-ip-restrictions-update

    +
    +
    Return type
    +

    IPRestriction

    diff --git a/docs/ip_whitelist.html b/docs/ip_whitelist.html index 77227f8..27ecff2 100644 --- a/docs/ip_whitelist.html +++ b/docs/ip_whitelist.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -180,8 +180,11 @@
  • ip_net (str) – an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints

  • -
    Return type
    -

    IPWhitelistEntry

    + +

    https://ngrok.com/docs/api#api-ip-whitelist-create

    +
    +
    Return type
    +

    IPWhitelistEntry

    @@ -194,6 +197,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-ip-whitelist-delete

    @@ -203,8 +207,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    IPWhitelistEntry

    +
    +

    https://ngrok.com/docs/api#api-ip-whitelist-get

    +
    +
    Return type
    +

    IPWhitelistEntry

    @@ -219,8 +226,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    IPWhitelistEntryList

    + +

    https://ngrok.com/docs/api#api-ip-whitelist-list

    +
    +
    Return type
    +

    IPWhitelistEntryList

    @@ -236,8 +246,11 @@
  • metadata (Optional[str]) – arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes.

  • -
    Return type
    -

    IPWhitelistEntry

    + +

    https://ngrok.com/docs/api#api-ip-whitelist-update

    +
    +
    Return type
    +

    IPWhitelistEntry

    diff --git a/docs/objects.inv b/docs/objects.inv index 68e4911d122a71ec2176d33470cff5b435372401..41f0f23b3829bc494df505fa0afaf8210563ee02 100644 GIT binary patch delta 4681 zcmV-P61MI2B$p+Sd4EB7q_`1)@BJ%yFS!mcx$e#J>}H&u+4$L$?2(5-?q*E`L12&f z*GEDEBq7nQs`4c}X;Yu1Dpg5Hh14AT_9f}we>%72ShM7B3G4f|=jmxU*MCtze)?Cngr)7!dY%^;sI>YVfB?@2NJq8@jjOY^6Zv#e)b+Yfvyg?|mFw!A3TRoM%BkB}%> zKUB|Ekq<1(M=Ffz=fsu9upuQ9K_r-J7o# z6qRKCD=V|SEPs0rkSp7BUd1$!^HYZIwG#x=bEV*^<%3y;NO9rWJy3k8IaG3N8dhhV zaUR#7l;AZ2Kg;+hpJP7?*2!)w9yNoa^Jv<3OgVm5l@{MG^jkap(vD3TQBIi;`S9Lp zMa_YF`85!$*T3J~-~Gzo&8Y3jhJ|Ec6ebdmVY}h=fPa$JY+ztvUi6jH4vgT~KV_(4}zv@sM-AANgx*4zI#2fZw$h!Q5+jYKmqozVPt#BM`1A)W9jnQ4X2**Q(Ko}=G7OX?Lu=z1vKM1dm4)uHgF=Mcps~)=9s-zP1(K? zK?e~%I=Skqm)wc4uWdb^*{WYKwmo;fTB3yZqLqN|LgwBCxH<+SEtJ->r`1u=6-x_S zX9Pg-Q0M2tM!gUVJOKKERY}B|H+pDrb$@$23g@SRL5J)BZ5+nD&W4)P@Y-CjArhdf zvY;XL?0+NULv~_$$$Cx&-6ipUc-C90L{RZJ8WL>U7hoYKI~M4T zJ)PS2C40^5s-#mJV3HZ+T(#SdDgZSN4Pz0oyZiek8Uu7Vi({t{3n!F30API^2Y>Ab zh=wT$Rr54$O?IeCa5KNIBOjoBS{mE11rtmaiHD)=W-*9bH^YoJVhs0fniqWk`Uq^| zB2TrfwFM*fwt!HkbSU1|zLOY&rnmeXu*Yl3rm|I8abm?wCVpf6YhI%&BVKvhmx^WL zwdc9|fkRO!ClwQ>VyIrF-G=JS+JAAt@y_{=>O7v&Z|REGPOnQ`4A7j5H}rNqo^Zgf zZ(pkt{{A{qe#r~=)T$IpXwRA%sY*!7s*ix4CzKl;8yD9>aRc#o7O*N3xq85_Eo*LNp$GoZj#Lf3jAX)cF2Y<|zN`cz; zSTj^Vn+R0>%z{z$GX*5=XC{)QpD7?gxA;~SeaqYD0b|ewLS)kokHD-elhU#-mBP3y zlfb_B#-ssi-kFg;8S5o^>`|0))H!d<)gL5G8OTgMxIOi9|B* zmn7`8Uor@1{S%J!5izHh2!FEo1_`5lZIC=%40%us@?X}Kb3muIA*qPGG}Xa&Cx_Ov zbNkBRFty8oRh31->B>f-m1W~_+IqbC_7$iiDVpYW-M)zk*=1Ez4VBzD#Z)B~wUFyU zZ6g=!`FLi1CO?#_3c0pk;<2&gC>lvDo=C|4pc#W&HGe}B{EOt}I2c|A%X zR%4DhCV$RF0aNF;7N}vcJ%5ApT(KHg4`77Q(x~8| z89YCCQwn~c$NKY@moRT`NI<-qW9#DGB&-CnRiLP%?rrzx`@N43JU@@PcX#6lY}(` zxde+s$I=A=8~;}E_y|AC0!BVl6qC1YaZn?kMMB6wjM3>brf6DJWsfPFz>_8n&YLs> z?NJj4?o~=0`qh|4!TRR}!TG2{;JPNlS7-6v^A;gI5`Vv4XduSJdJJT=b_`jR^O+o| z_t^}D`$!@`l&&6AHX{017+B)5b!IbF6qGcbc~<+>6ssCKn>TyfYb1LCSLv+M+b$OCxTv2 z5o9Fqw@1)sW*C%ChiJ<`_MEPI>7Q*w&`m&_K_N_Q#<#@-Se?Qp^_o zxPJ_gs1_@X%Da_J;Qm#9VO&(99MM-tL7pFeIR2kB?sn&La;{ z5EGve5jFz~)4)@q5Hfyd5F$a{J;Z}fIYPW{d=lXaa<4>)2wThw(#X645I}ZFxJa@G zzV;?7WHG>6Lyz3HWFe<++W=fl!k)eDGJjC<2Xg|qEsu!}D+L!3u;+0*3}hz-`aI!r z+FRV-C37GktXA^=lUsXzC{9Zb0JGTSqhTD}g@L_%3&Oa%O9T143qedUTofXHxG3?q z(-c()>)#s~CL+18(C`ZROxS}5N4*V*!mHEi09x1uFG1QULQjpS!D6!qf)3C==6~fI zJ>hIvE&n6l6j1@&0U!hRhK32)TbP*d7I~fNZ$}A`;4xqe!i)hfZMwRO6SWZ(!CVMp zKygus0mVh329ym9GoZLI;sM3Qg9nrih$8AB2NXXII-oc-*nr}Jpa&Em^YR_fa5kWp z-@iV>2NPR3MINQ$(!c|W1A;~T4Sxh2?Hv-qC4~+#KEAjBdAJyXrqv;3m}~kRAeoAw zBanju-;(Iz!0tzMK-k?R2Pa}mC1zXAcz!~+alW)MuZ6zk$H%WM1KqwG;L`Q7l{n66 zw*<7h6%$v$&S3y&9@hH-NMZG{sRknQw29ahSi`{PJT3$~C<5jaTL5k@;eX-D>v%9z z2oDlnvB#U=I7(9zkd_Un2ow{mia(g@``9!rc3VRUK}KRF2p*r5xbU~3h03azAi!y5 z8URaM(!%gW7Y!Ju|709?$DM*eJbV#EdiKguE#U|Pxco=Zt%{axDiqKR&@-=WRAKEd z!Z}cPT;w~PJkG0UO3QKb7=Qnq8CW-+IYXZ}ylZ`g3CH33BRo_U0=QTf) z;O2%$if=w9ij?=vb}tj2M$R6X^eCSV6(dtzoPk+8j#XL<6WXOQH zzGjp1JzbQP@2Z*Vo_@0a@p^!_Lx4a&%Y#506N4yQTY@k?qg?^= zUlaaq8e_JWTR-`*@5j#6poA#JXO#~u%{AQz7A2xb`Cx$o36f7j-;eF>_MS<4f69Jbh_FYtR?9Ya(!Q))in^m`goRSk485(U-SlGWxHkb?V1Q! z+~(eziw1jB5`Wq2B0^HuuGv1S%%Jf;s=!?n0t$7mG4ZX+Y;IqPrFqw4@Km3@@zjk) z@yP9J3!dp)V~M1yTPK1R*SBLtFv4~Qu!7bFu>3X!fC82Tkb?HR#L~+?-pxhh*hwW5~-m zOHjE10j42Pz<2S`%U-L8Q^ZMp}7<>?}kG<6`^UN_Mv zp2d-NyMGFdxYu1U#4PlEJURWsiMll9`A%s4pknw(mJ{?i7%uE}Fy5Z$T_XCA>+-&# z>>LsX#rs_IBZ~3(>qivh_LGk&W7By)q7YAyf)=xvDCrza6~zg59Vjo*gSvcx1@L6zG7pDbPN{Q-5&1eSiWS=nhe6=ZJ_vr`Q}u5swUY z3JP?fQ&6CNoq~ev?GzN?K&QAKZGR!_=@9N$#c?EGKR^;a=0_4;t0Qq6V+#sv9LDD{{a)ovv< z{rg~^wQ4@;Ot2FD{l76oJ1k#Lnu7M{l*#A${~j)UXkjw0`6eUL-+3hZLytu5Umte9 z9Pk(6|G*$IzE<#{&Fu03c9Vdf%vwp1N^8$A= z@)Dipm*|W!Pch!aus}KCB(h{qO$(M}Bu9DaZt_$jbFVfOfBudaxRdHLbpa!PXn#{o zFvrAO(tbutqH|r6HQ8k;Pu|31d+_v&cG&6P=0kP4ML2REq^7TKRTkxbk6 ziJ5$Hu=eP;40H2di|cLw!;v*rQ?eg+ZRcNgtdRdatdD87@x(N0eiFmg!Mvr{eAd~Y zUgD1&cij7=J#yxDs1duS&D4W?hkvatzu9|}^5)Ln!QAd~gzar0DY_xt?F4tsYm7$sj?e@n!xTyWCjp8xK0-FeBxGA1SdlR}9dihsRe zV#$REvvP{KJ(|)X`d>CDqI_$$iJL>J44C(=W(t=!!Z{YhBzPv#^Ym?=f*pRCG{kbd4JEBq_z>q@BLTsUUFTYbMyPKYo?4dukg;Lt2cDnCbNe^-4%ZerGK#T)Yn&Km!^1PuK-2G zhOv2Us&ZsSISIwkj17YT23CvzZ^{-RVqJadn{F(szI$wr(@>60-$4M+;(v>p@v-S} zT0Rb}JOgCSrMUEMQ-Q3rh+d09)CZVw5KlKW74YeV@a5EutZn#syK44E^>{3FZN6D3 zZjueptS-vB9)CDOSNG?#fjl7Rr-EE-X9%X|O5v&Jqj?KJxrpomDIZ&oRZd;U+JZCA zVf9G~ZxQ?~^PjwqeXrO>R$FnYnH0B6f9uCz`l+h{lK$aOR_R>0WL*7QB;_uDegEa- zuk6)Ky_PN}keN-`Sk!Dgj&2jztYsrZ33)X%$`){SQ-32w;_|XC#}XkO`zMCE&*>rx z#F%Fq8o26{&V?ZVOHuAMrngHw_I)fa<&hQWdj>!4ANTJ?HiSH?Qp~M5M--J0eanEl zJ3H^*ey4^oFJE|3R+UI+vcppV>%Gt7OqgIakU-v7ZHL>RMk;3W73Ba6A=x+lI(H2r zC2lHgW`8pXvI*?UGvinQ&|!uWm8}dtAIot<-#0WOEoqA__JcMz&fklA^&0Um5GK6a zIxX*Ye+|+ihva!x78iD=-UTukf+%>SAHkry06~^$gv861cs!XUCoY;JvfqHQ8$=|$ z8%#b3g1TPh|HqLHNk|Xuu^;Glflu>a#f$R!+<$ikG~)BtXf=g*wnZI5DC!~OH!stvf&7-2xpy7HlAHT_odc|fEXPXptp zzJIMnuV<*l^9oBPfOpfmc$lguHu3~C@jlZw-LZISy1IW!031aIxX58bJw}`W`P{eD znQit&A^Y=XP-AJBnzE@$)x;b;N8N^@&nso6;$aH_(hcR6Z6hKK)f9zU@K!0tK{Zfe zSW_opEVB)CRNEhqB9Q4IOj8;mP2*Iy#edjxI;$`BI2jSs)D@jFu>VbrkHv|VH5+&e zAiwk-XX%K%Jhya;oW2n6S7$wEmjL*BNf5{IE?0zu?08s^7xr-K`={c$Y@0fbnShlSs#u>=@JdL_~BOgWqQaq9-ZL{J{jemNy zPh0B*d?u}=Jj{xSt|Nef(EhRX37%*H8PA1v(C4|W{`Tn}@mQ-i#juVKCD>_&pk3w= zf=~ELHafjV{0^K)v~;ZuUFvEjLF(KjJpBl@R?72;LmvH6b2P>qp`PD?d5 z&(c3*b7uWC;#ueNdvg{q-jugmMStq&*AFflPR_*}Z9g4Pc-Up=pPL%@?l%*DDJ%BS zt95ahnzQJ0wZf!mYVxftC^f-L$FXzSwDW2w@oJ09MIm5l859b~tNuc`t$#J+hv@<9 zKc!CKJsU*yorb0IoQ0$MO~d-(Sa!`{`2MsBOHu{$5!dSjVk^1itfFME7mHR33DRR3~mcq94B)4LQb*i#~re z8g$Z~J#;M!)X9~gRT0g20BQ)W$A1XEY)S(&D<$sikJ_SkA6wIg; zxmi74ncqI$f3v5xfpy;oP-=uj68|WkMTY=s zDu=er-81AeoIlju_J4n^scoRCJO;&DK8!L1?$Z#jXmaxHr|r9Dh=m*}cFmNFK`fW@ z5xA97E=MG}Gx2GFJtbF;N{lXKEQcelT7Z`}IC|)kkbwN!H~1JNeho;7hGE>#)80_i zC>15(GyxfFs~R6>8)C5`cpBQksJa1Oo@Edo8`k2>M?|?+qJINi>v?&;%uAq$67NXF ziZoM=uJ@REVjK`H4;Ubf{M(wHA!bmjylVTYeksT5B;TbtvT#xR2X^W?!|I=! zj`0Rt{N4HxpY$`pEnzcq@Os-QNtji=!$H5BHjuv<=7m4nqNY65$`Bd95k2(RWx*Bx zp?=+b4u2*srhh!rg1|ipV$tQgP_nF`P2MWSHQB2i-d-D0RAarZ4y{o#O#8Nq;qB5U zg=OMJ2W*i{8Fu}w#Xz@276qyOI)Ro@n6kWT>H%9OF)C&RJ~FhN6df}I7a>ZD`I5#W zP~vO`;A2h6@l_5PbBlC$(=#ZG9DgebtpB?0zXq~~p?^aMlF7hClC4LEk_lnmJiuJz z2@OSy&EzHo7m+3b`aWx`DHRYLl8$zFKS3~z5R@(o4EST&-0v{m)+a{Asb_Q&j$jo6O;90|wqcVoY2!G9q#zEa~NHJN%0u1a(xphMQ z17-?Wiq8@rX=f*1C<=KiKh4XZ5!O&b^J6%C@zy7G=du%~JN{dp08dE75P50tc}l&Z{4zApvK5k>XhMf1eCYk!fT5pKA=KI_xztQf ze}DhkKcu)XQT03aLaX`6KH4Ux_tFg3?#Tym9Pozj?>`Xt;*AiH9gr9e-V=$FP+gK3 z4%S-7D45WVu`peL80#`Uh!g|e|2#&659CBiNoqMT5$sU#8DS54>(M5JA`o|r*?!j2 zL3g0F#rV8J*@xEEqjLy$H(FbZjq#0ukAG~+-n5RMQ27wCn`nDkAGLRS5Eur(8@Uhv zojq1^yHy-9cF-k6!Un1fLPe_&!G^3$0>`ZjKsNR+2AKm~jCgzKs^$W(w;l+aQCv{0 z*@J%87(k;kmIt9mXg+V|2tQmPN}5FaXlW#PJ`Dg!Nj1c~e!Lov3%|Snh&L^Cl7Dr? zge2>cuu0YjiGF2OwuSx%j)+6$Y#)Nn*)C~5_Jk*RE^r2N0m$U`;gYQaLnOj&Q|t!+#*6Rn?|L*yEWTSQ3+9S_%h&IteSlfS-ZoKqxaE z4oc(&@y1Ka_lC1^6Vy2s2GB+Gx|VM3P8qd(lw@&R#`O=0=x^ zal*S(*Nh3M^F&rxQJetpd$<5fqXlf=eKEdm53qJmt%l=BH+290H;%T96o2P+$Eg87 za~jwtG~ecPxFNSb3!p8e5~115&|#7K!Uqk7by2W!vN|7{mbiw?I`b%59D8qLH!xP z2zmp{@~nCjD6rb0VSz`CtgS$CLyw)5AE=^9`L3yx!oBL9lpd)3V1NELeIKYN+aGTS z1SN)Go8QVU^?8( zr%CC7G>hf0r#4=T;D2qyj~gpvh`j66G$lmcng+icvfv_?Lm96bU!T-W!0uW;0X}N> z1nga#1NqzeiPvnt9YsxI?;1W;8Byz}Dqzp>>U11FJ;&8>3>U$dLw;NyDmZ(XC0h# zgS*uA3Cp?Su=M5axGa5PSDc0`a6ZD}nyYwuZn3~!pOC;&S)6y`#8rpAC`IwSN|Kbd>$bNlGwQszDsb0@h(eu13qqqZ z-Wdx}T5v3ePJa#gn@;sSN=N#mEp%pRj0H$ld(=lguJ_OfFyekju%g~Yu);n?fFhnm zkfQ#(#?r$+!O2BqkJ6jf9d^^$n0xaZR`{ObY$F~~==39+IlcQASkPyhn{*sOsaw&)xb>)r1 zn7IwP^;K5J$NI;*ud;Wc&$Y7oBd<(<<#kxTQL{wmcWc@EFCR1co!cR{5w4-!>&|B8 z9)CVY2l-Gb^OzX*+)6e7`(WWhnVOM4 z?0gFlE+YKNKxTY@5I~#j#Uog6NqM$Rrf2p7^+R+mbdVfeFr9t;lId;v-J7)+`v#GL z^}v~4RP5org{whgczJ847RqKKX?t92nSW-G=`ZBW=B1!MYFm{U205!1Gr8!|ql6dE z1%W$j>@vM>FVkzl0>uQEdPT~KFAK|-#b(ixjO9*2y1N`IldGvbN_a(15V*5=XRZRq ziXg9;=&F%mN&9O|GQD~w+m^4a<;l}g>Wcb{QS$7{Ks$Uhue*K{@eZr|+rf9D0Xmo` zjGEUvGtO)Nku8aP&TT+vPH-BzYn~oGxMydm>hgE@iYi0z3Tsaz+74x+{c zOm}&GxBNlpFjWne5%p#OW+~?W0Dsx<>OT$!API

    Services

    @@ -182,7 +182,7 @@     - ngrok.objects + ngrok.datatypes diff --git a/docs/reserved_addrs.html b/docs/reserved_addrs.html index 4bf7077..ecc9fef 100644 --- a/docs/reserved_addrs.html +++ b/docs/reserved_addrs.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -181,8 +181,11 @@
  • endpoint_configuration_id (str) – ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address

  • -
    Return type
    -

    ReservedAddr

    + +

    https://ngrok.com/docs/api#api-reserved-addrs-create

    +
    +
    Return type
    +

    ReservedAddr

    @@ -195,6 +198,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-reserved-addrs-delete

    @@ -205,6 +209,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-reserved-addrs-delete-endpoint-config

    @@ -214,8 +219,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    ReservedAddr

    +
    +

    https://ngrok.com/docs/api#api-reserved-addrs-get

    +
    +
    Return type
    +

    ReservedAddr

    @@ -230,8 +238,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    ReservedAddrList

    + +

    https://ngrok.com/docs/api#api-reserved-addrs-list

    +
    +
    Return type
    +

    ReservedAddrList

    @@ -248,8 +259,11 @@
  • endpoint_configuration_id (Optional[str]) – ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address

  • -
    Return type
    -

    ReservedAddr

    + +

    https://ngrok.com/docs/api#api-reserved-addrs-update

    +
    +
    Return type
    +

    ReservedAddr

    diff --git a/docs/reserved_domains.html b/docs/reserved_domains.html index f15542a..68195a6 100644 --- a/docs/reserved_domains.html +++ b/docs/reserved_domains.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -182,11 +182,14 @@
  • http_endpoint_configuration_id (str) – ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain

  • https_endpoint_configuration_id (str) – ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain

  • certificate_id (Optional[str]) – ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy.

  • -
  • certificate_management_policy (Optional[ReservedDomainCertPolicy]) – configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.

  • +
  • certificate_management_policy (Optional[ReservedDomainCertPolicy]) – configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.

  • -
    Return type
    -

    ReservedDomain

    + +

    https://ngrok.com/docs/api#api-reserved-domains-create

    +
    +
    Return type
    +

    ReservedDomain

    @@ -199,6 +202,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-reserved-domains-delete

    @@ -209,6 +213,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-reserved-domains-delete-certificate

    @@ -219,6 +224,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-reserved-domains-delete-certificate-management-policy

    @@ -229,6 +235,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-reserved-domains-delete-http-endpoint-config

    @@ -239,6 +246,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-reserved-domains-delete-https-endpoint-config

    @@ -248,8 +256,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    ReservedDomain

    +
    +

    https://ngrok.com/docs/api#api-reserved-domains-get

    +
    +
    Return type
    +

    ReservedDomain

    @@ -264,8 +275,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    ReservedDomainList

    + +

    https://ngrok.com/docs/api#api-reserved-domains-list

    +
    +
    Return type
    +

    ReservedDomainList

    @@ -282,11 +296,14 @@
  • http_endpoint_configuration_id (Optional[str]) – ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain

  • https_endpoint_configuration_id (Optional[str]) – ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain

  • certificate_id (Optional[str]) – ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy.

  • -
  • certificate_management_policy (Optional[ReservedDomainCertPolicy]) – configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.

  • +
  • certificate_management_policy (Optional[ReservedDomainCertPolicy]) – configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.

  • -
    Return type
    -

    ReservedDomain

    + +

    https://ngrok.com/docs/api#api-reserved-domains-update

    +
    +
    Return type
    +

    ReservedDomain

    diff --git a/docs/search.html b/docs/search.html index 7f6f65e..0f01d64 100644 --- a/docs/search.html +++ b/docs/search.html @@ -108,7 +108,7 @@

    API

    Services

    diff --git a/docs/searchindex.js b/docs/searchindex.js index ec76170..6956a41 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["abuse_reports","api_keys","certificate_authorities","client","credentials","endpoint_circuit_breaker_module","endpoint_compression_module","endpoint_configurations","endpoint_ip_policy_module","endpoint_logging_module","endpoint_mutual_tls_module","endpoint_o_auth_module","endpoint_oidc_module","endpoint_request_headers_module","endpoint_response_headers_module","endpoint_saml_module","endpoint_tls_termination_module","endpoint_webhook_validation_module","errors","event_destinations","event_streams","index","ip_policies","ip_policy_rules","ip_restrictions","ip_whitelist","objects","reserved_addrs","reserved_domains","ssh_certificate_authorities","ssh_credentials","ssh_host_certificates","ssh_user_certificates","tls_certificates","tunnel_sessions","tunnels"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["abuse_reports.rst","api_keys.rst","certificate_authorities.rst","client.rst","credentials.rst","endpoint_circuit_breaker_module.rst","endpoint_compression_module.rst","endpoint_configurations.rst","endpoint_ip_policy_module.rst","endpoint_logging_module.rst","endpoint_mutual_tls_module.rst","endpoint_o_auth_module.rst","endpoint_oidc_module.rst","endpoint_request_headers_module.rst","endpoint_response_headers_module.rst","endpoint_saml_module.rst","endpoint_tls_termination_module.rst","endpoint_webhook_validation_module.rst","errors.rst","event_destinations.rst","event_streams.rst","index.rst","ip_policies.rst","ip_policy_rules.rst","ip_restrictions.rst","ip_whitelist.rst","objects.rst","reserved_addrs.rst","reserved_domains.rst","ssh_certificate_authorities.rst","ssh_credentials.rst","ssh_host_certificates.rst","ssh_user_certificates.rst","tls_certificates.rst","tunnel_sessions.rst","tunnels.rst"],objects:{"":{ngrok:[18,0,0,"-"]},"ngrok.Client":{abuse_reports:[3,2,1,""],api_keys:[3,2,1,""],certificate_authorities:[3,2,1,""],credentials:[3,2,1,""],endpoint_configurations:[3,2,1,""],event_destinations:[3,2,1,""],event_streams:[3,2,1,""],ip_policies:[3,2,1,""],ip_policy_rules:[3,2,1,""],ip_restrictions:[3,2,1,""],ip_whitelist:[3,2,1,""],pointcfg_module:[3,2,1,""],reserved_addrs:[3,2,1,""],reserved_domains:[3,2,1,""],ssh_certificate_authorities:[3,2,1,""],ssh_credentials:[3,2,1,""],ssh_host_certificates:[3,2,1,""],ssh_user_certificates:[3,2,1,""],tls_certificates:[3,2,1,""],tunnel_sessions:[3,2,1,""],tunnels:[3,2,1,""]},"ngrok.objects":{APIKey:[26,1,1,""],APIKeyList:[26,1,1,""],AWSAuth:[26,1,1,""],AWSCredentials:[26,1,1,""],AWSRole:[26,1,1,""],AbuseReport:[26,1,1,""],AbuseReportHostname:[26,1,1,""],CertificateAuthority:[26,1,1,""],CertificateAuthorityList:[26,1,1,""],Credential:[26,1,1,""],CredentialList:[26,1,1,""],EndpointCircuitBreaker:[26,1,1,""],EndpointCompression:[26,1,1,""],EndpointConfiguration:[26,1,1,""],EndpointConfigurationList:[26,1,1,""],EndpointIPPolicy:[26,1,1,""],EndpointIPPolicyMutate:[26,1,1,""],EndpointLogging:[26,1,1,""],EndpointLoggingMutate:[26,1,1,""],EndpointMutualTLS:[26,1,1,""],EndpointMutualTLSMutate:[26,1,1,""],EndpointOAuth:[26,1,1,""],EndpointOAuthFacebook:[26,1,1,""],EndpointOAuthGitHub:[26,1,1,""],EndpointOAuthGoogle:[26,1,1,""],EndpointOAuthMicrosoft:[26,1,1,""],EndpointOAuthProvider:[26,1,1,""],EndpointOIDC:[26,1,1,""],EndpointRequestHeaders:[26,1,1,""],EndpointResponseHeaders:[26,1,1,""],EndpointSAML:[26,1,1,""],EndpointSAMLMutate:[26,1,1,""],EndpointTLSTermination:[26,1,1,""],EndpointWebhookValidation:[26,1,1,""],EventDestination:[26,1,1,""],EventDestinationList:[26,1,1,""],EventStream:[26,1,1,""],EventStreamList:[26,1,1,""],EventTarget:[26,1,1,""],EventTargetCloudwatchLogs:[26,1,1,""],EventTargetFirehose:[26,1,1,""],EventTargetKinesis:[26,1,1,""],IPPolicy:[26,1,1,""],IPPolicyList:[26,1,1,""],IPPolicyRule:[26,1,1,""],IPPolicyRuleList:[26,1,1,""],IPRestriction:[26,1,1,""],IPRestrictionList:[26,1,1,""],IPWhitelistEntry:[26,1,1,""],IPWhitelistEntryList:[26,1,1,""],Ref:[26,1,1,""],ReservedAddr:[26,1,1,""],ReservedAddrList:[26,1,1,""],ReservedDomain:[26,1,1,""],ReservedDomainCertJob:[26,1,1,""],ReservedDomainCertNSTarget:[26,1,1,""],ReservedDomainCertPolicy:[26,1,1,""],ReservedDomainCertStatus:[26,1,1,""],ReservedDomainList:[26,1,1,""],SSHCertificateAuthority:[26,1,1,""],SSHCertificateAuthorityList:[26,1,1,""],SSHCredential:[26,1,1,""],SSHCredentialList:[26,1,1,""],SSHHostCertificate:[26,1,1,""],SSHHostCertificateList:[26,1,1,""],SSHUserCertificate:[26,1,1,""],SSHUserCertificateList:[26,1,1,""],TLSCertificate:[26,1,1,""],TLSCertificateList:[26,1,1,""],TLSCertificateSANs:[26,1,1,""],Tunnel:[26,1,1,""],TunnelList:[26,1,1,""],TunnelSession:[26,1,1,""],TunnelSessionList:[26,1,1,""]},"ngrok.objects.APIKey":{"delete":[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],token:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.APIKeyList":{keys:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.AWSAuth":{creds:[26,2,1,""],role:[26,2,1,""]},"ngrok.objects.AWSCredentials":{aws_access_key_id:[26,2,1,""],aws_secret_access_key:[26,2,1,""]},"ngrok.objects.AWSRole":{role_arn:[26,2,1,""]},"ngrok.objects.AbuseReport":{created_at:[26,2,1,""],hostnames:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],status:[26,2,1,""],uri:[26,2,1,""],urls:[26,2,1,""]},"ngrok.objects.AbuseReportHostname":{hostname:[26,2,1,""],status:[26,2,1,""]},"ngrok.objects.CertificateAuthority":{"delete":[26,2,1,""],ca_pem:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],extended_key_usages:[26,2,1,""],id:[26,2,1,""],key_usages:[26,2,1,""],metadata:[26,2,1,""],not_after:[26,2,1,""],not_before:[26,2,1,""],subject_common_name:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.CertificateAuthorityList":{certificate_authorities:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.Credential":{"delete":[26,2,1,""],acl:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],token:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.CredentialList":{credentials:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.EndpointCircuitBreaker":{enabled:[26,2,1,""],error_threshold_percentage:[26,2,1,""],num_buckets:[26,2,1,""],rolling_window:[26,2,1,""],tripped_duration:[26,2,1,""],volume_threshold:[26,2,1,""]},"ngrok.objects.EndpointCompression":{enabled:[26,2,1,""]},"ngrok.objects.EndpointConfiguration":{"delete":[26,2,1,""],circuit_breaker:[26,2,1,""],compression:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],ip_policy:[26,2,1,""],logging:[26,2,1,""],metadata:[26,2,1,""],mutual_tls:[26,2,1,""],oauth:[26,2,1,""],oidc:[26,2,1,""],request_headers:[26,2,1,""],response_headers:[26,2,1,""],saml:[26,2,1,""],tls_termination:[26,2,1,""],type:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""],webhook_validation:[26,2,1,""]},"ngrok.objects.EndpointConfigurationList":{endpoint_configurations:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.EndpointIPPolicy":{enabled:[26,2,1,""],ip_policies:[26,2,1,""]},"ngrok.objects.EndpointIPPolicyMutate":{enabled:[26,2,1,""],ip_policy_ids:[26,2,1,""]},"ngrok.objects.EndpointLogging":{enabled:[26,2,1,""],event_streams:[26,2,1,""]},"ngrok.objects.EndpointLoggingMutate":{enabled:[26,2,1,""],event_stream_ids:[26,2,1,""]},"ngrok.objects.EndpointMutualTLS":{certificate_authorities:[26,2,1,""],enabled:[26,2,1,""]},"ngrok.objects.EndpointMutualTLSMutate":{certificate_authority_ids:[26,2,1,""],enabled:[26,2,1,""]},"ngrok.objects.EndpointOAuth":{auth_check_interval:[26,2,1,""],cookie_prefix:[26,2,1,""],enabled:[26,2,1,""],inactivity_timeout:[26,2,1,""],maximum_duration:[26,2,1,""],options_passthrough:[26,2,1,""],provider:[26,2,1,""]},"ngrok.objects.EndpointOAuthFacebook":{client_id:[26,2,1,""],client_secret:[26,2,1,""],email_addresses:[26,2,1,""],email_domains:[26,2,1,""],scopes:[26,2,1,""]},"ngrok.objects.EndpointOAuthGitHub":{client_id:[26,2,1,""],client_secret:[26,2,1,""],email_addresses:[26,2,1,""],email_domains:[26,2,1,""],organizations:[26,2,1,""],scopes:[26,2,1,""],teams:[26,2,1,""]},"ngrok.objects.EndpointOAuthGoogle":{client_id:[26,2,1,""],client_secret:[26,2,1,""],email_addresses:[26,2,1,""],email_domains:[26,2,1,""],scopes:[26,2,1,""]},"ngrok.objects.EndpointOAuthMicrosoft":{client_id:[26,2,1,""],client_secret:[26,2,1,""],email_addresses:[26,2,1,""],email_domains:[26,2,1,""],scopes:[26,2,1,""]},"ngrok.objects.EndpointOAuthProvider":{facebook:[26,2,1,""],github:[26,2,1,""],google:[26,2,1,""],microsoft:[26,2,1,""]},"ngrok.objects.EndpointOIDC":{client_id:[26,2,1,""],client_secret:[26,2,1,""],cookie_prefix:[26,2,1,""],enabled:[26,2,1,""],inactivity_timeout:[26,2,1,""],issuer:[26,2,1,""],maximum_duration:[26,2,1,""],options_passthrough:[26,2,1,""],scopes:[26,2,1,""]},"ngrok.objects.EndpointRequestHeaders":{add:[26,2,1,""],enabled:[26,2,1,""],remove:[26,2,1,""]},"ngrok.objects.EndpointResponseHeaders":{add:[26,2,1,""],enabled:[26,2,1,""],remove:[26,2,1,""]},"ngrok.objects.EndpointSAML":{allow_idp_initiated:[26,2,1,""],assertion_consumer_service_url:[26,2,1,""],authorized_groups:[26,2,1,""],cookie_prefix:[26,2,1,""],enabled:[26,2,1,""],entity_id:[26,2,1,""],force_authn:[26,2,1,""],idp_metadata:[26,2,1,""],inactivity_timeout:[26,2,1,""],maximum_duration:[26,2,1,""],metadata_url:[26,2,1,""],options_passthrough:[26,2,1,""],request_signing_certificate_pem:[26,2,1,""],single_logout_url:[26,2,1,""]},"ngrok.objects.EndpointSAMLMutate":{allow_idp_initiated:[26,2,1,""],authorized_groups:[26,2,1,""],cookie_prefix:[26,2,1,""],enabled:[26,2,1,""],force_authn:[26,2,1,""],idp_metadata:[26,2,1,""],inactivity_timeout:[26,2,1,""],maximum_duration:[26,2,1,""],options_passthrough:[26,2,1,""]},"ngrok.objects.EndpointTLSTermination":{enabled:[26,2,1,""],min_version:[26,2,1,""],terminate_at:[26,2,1,""]},"ngrok.objects.EndpointWebhookValidation":{enabled:[26,2,1,""],provider:[26,2,1,""],secret:[26,2,1,""]},"ngrok.objects.EventDestination":{"delete":[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],format:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],target:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.EventDestinationList":{event_destinations:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.EventStream":{"delete":[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],destination_ids:[26,2,1,""],event_type:[26,2,1,""],fields:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],sampling_rate:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.EventStreamList":{event_streams:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.EventTarget":{cloudwatch_logs:[26,2,1,""],firehose:[26,2,1,""],kinesis:[26,2,1,""]},"ngrok.objects.EventTargetCloudwatchLogs":{auth:[26,2,1,""],log_group_arn:[26,2,1,""]},"ngrok.objects.EventTargetFirehose":{auth:[26,2,1,""],delivery_stream_arn:[26,2,1,""]},"ngrok.objects.EventTargetKinesis":{auth:[26,2,1,""],stream_arn:[26,2,1,""]},"ngrok.objects.IPPolicy":{"delete":[26,2,1,""],action:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.IPPolicyList":{ip_policies:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.IPPolicyRule":{"delete":[26,2,1,""],cidr:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],ip_policy:[26,2,1,""],metadata:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.IPPolicyRuleList":{ip_policy_rules:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.IPRestriction":{"delete":[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],enforced:[26,2,1,""],id:[26,2,1,""],ip_policies:[26,2,1,""],metadata:[26,2,1,""],type:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.IPRestrictionList":{ip_restrictions:[26,2,1,""],next_page_uri:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.IPWhitelistEntry":{"delete":[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],ip_net:[26,2,1,""],metadata:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.IPWhitelistEntryList":{next_page_uri:[26,2,1,""],uri:[26,2,1,""],whitelist:[26,2,1,""]},"ngrok.objects.Ref":{id:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.ReservedAddr":{"delete":[26,2,1,""],addr:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],endpoint_configuration:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],region:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.ReservedAddrList":{next_page_uri:[26,2,1,""],reserved_addrs:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.ReservedDomain":{"delete":[26,2,1,""],certificate:[26,2,1,""],certificate_management_policy:[26,2,1,""],certificate_management_status:[26,2,1,""],cname_target:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],domain:[26,2,1,""],http_endpoint_configuration:[26,2,1,""],https_endpoint_configuration:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],region:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.ReservedDomainCertJob":{error_code:[26,2,1,""],msg:[26,2,1,""],ns_targets:[26,2,1,""],retries_at:[26,2,1,""],started_at:[26,2,1,""]},"ngrok.objects.ReservedDomainCertNSTarget":{nameservers:[26,2,1,""],zone:[26,2,1,""]},"ngrok.objects.ReservedDomainCertPolicy":{authority:[26,2,1,""],private_key_type:[26,2,1,""]},"ngrok.objects.ReservedDomainCertStatus":{provisioning_job:[26,2,1,""],renews_at:[26,2,1,""]},"ngrok.objects.ReservedDomainList":{next_page_uri:[26,2,1,""],reserved_domains:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.SSHCertificateAuthority":{"delete":[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],key_type:[26,2,1,""],metadata:[26,2,1,""],public_key:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.SSHCertificateAuthorityList":{next_page_uri:[26,2,1,""],ssh_certificate_authorities:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.SSHCredential":{"delete":[26,2,1,""],acl:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],metadata:[26,2,1,""],public_key:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.SSHCredentialList":{next_page_uri:[26,2,1,""],ssh_credentials:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.SSHHostCertificate":{"delete":[26,2,1,""],certificate:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],id:[26,2,1,""],key_type:[26,2,1,""],metadata:[26,2,1,""],principals:[26,2,1,""],public_key:[26,2,1,""],ssh_certificate_authority_id:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""],valid_after:[26,2,1,""],valid_until:[26,2,1,""]},"ngrok.objects.SSHHostCertificateList":{next_page_uri:[26,2,1,""],ssh_host_certificates:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.SSHUserCertificate":{"delete":[26,2,1,""],certificate:[26,2,1,""],created_at:[26,2,1,""],critical_options:[26,2,1,""],description:[26,2,1,""],extensions:[26,2,1,""],id:[26,2,1,""],key_type:[26,2,1,""],metadata:[26,2,1,""],principals:[26,2,1,""],public_key:[26,2,1,""],ssh_certificate_authority_id:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""],valid_after:[26,2,1,""],valid_until:[26,2,1,""]},"ngrok.objects.SSHUserCertificateList":{next_page_uri:[26,2,1,""],ssh_user_certificates:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.TLSCertificate":{"delete":[26,2,1,""],certificate_pem:[26,2,1,""],created_at:[26,2,1,""],description:[26,2,1,""],extended_key_usages:[26,2,1,""],id:[26,2,1,""],issued_at:[26,2,1,""],issuer_common_name:[26,2,1,""],key_usages:[26,2,1,""],metadata:[26,2,1,""],not_after:[26,2,1,""],not_before:[26,2,1,""],private_key_type:[26,2,1,""],serial_number:[26,2,1,""],subject_alternative_names:[26,2,1,""],subject_common_name:[26,2,1,""],subject_country:[26,2,1,""],subject_locality:[26,2,1,""],subject_organization:[26,2,1,""],subject_organizational_unit:[26,2,1,""],subject_province:[26,2,1,""],update:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.TLSCertificateList":{next_page_uri:[26,2,1,""],tls_certificates:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.TLSCertificateSANs":{dns_names:[26,2,1,""],ips:[26,2,1,""]},"ngrok.objects.Tunnel":{id:[26,2,1,""],metadata:[26,2,1,""],proto:[26,2,1,""],public_url:[26,2,1,""],region:[26,2,1,""],started_at:[26,2,1,""],tunnel_session:[26,2,1,""]},"ngrok.objects.TunnelList":{next_page_uri:[26,2,1,""],tunnels:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.TunnelSession":{agent_version:[26,2,1,""],credential:[26,2,1,""],id:[26,2,1,""],ip:[26,2,1,""],metadata:[26,2,1,""],os:[26,2,1,""],region:[26,2,1,""],started_at:[26,2,1,""],transport:[26,2,1,""],uri:[26,2,1,""]},"ngrok.objects.TunnelSessionList":{next_page_uri:[26,2,1,""],tunnel_sessions:[26,2,1,""],uri:[26,2,1,""]},"ngrok.services":{APIKeysClient:[1,1,1,""],AbuseReportsClient:[0,1,1,""],CertificateAuthoritiesClient:[2,1,1,""],CredentialsClient:[4,1,1,""],EndpointCircuitBreakerModuleClient:[5,1,1,""],EndpointCompressionModuleClient:[6,1,1,""],EndpointConfigurationsClient:[7,1,1,""],EndpointIPPolicyModuleClient:[8,1,1,""],EndpointLoggingModuleClient:[9,1,1,""],EndpointMutualTLSModuleClient:[10,1,1,""],EndpointOAuthModuleClient:[11,1,1,""],EndpointOIDCModuleClient:[12,1,1,""],EndpointRequestHeadersModuleClient:[13,1,1,""],EndpointResponseHeadersModuleClient:[14,1,1,""],EndpointSAMLModuleClient:[15,1,1,""],EndpointTLSTerminationModuleClient:[16,1,1,""],EndpointWebhookValidationModuleClient:[17,1,1,""],EventDestinationsClient:[19,1,1,""],EventStreamsClient:[20,1,1,""],IPPoliciesClient:[22,1,1,""],IPPolicyRulesClient:[23,1,1,""],IPRestrictionsClient:[24,1,1,""],IPWhitelistClient:[25,1,1,""],ReservedAddrsClient:[27,1,1,""],ReservedDomainsClient:[28,1,1,""],SSHCertificateAuthoritiesClient:[29,1,1,""],SSHCredentialsClient:[30,1,1,""],SSHHostCertificatesClient:[31,1,1,""],SSHUserCertificatesClient:[32,1,1,""],TLSCertificatesClient:[33,1,1,""],TunnelSessionsClient:[34,1,1,""],TunnelsClient:[35,1,1,""]},"ngrok.services.APIKeysClient":{"delete":[1,2,1,""],create:[1,2,1,""],get:[1,2,1,""],list:[1,2,1,""],update:[1,2,1,""]},"ngrok.services.AbuseReportsClient":{create:[0,2,1,""],get:[0,2,1,""]},"ngrok.services.CertificateAuthoritiesClient":{"delete":[2,2,1,""],create:[2,2,1,""],get:[2,2,1,""],list:[2,2,1,""],update:[2,2,1,""]},"ngrok.services.CredentialsClient":{"delete":[4,2,1,""],create:[4,2,1,""],get:[4,2,1,""],list:[4,2,1,""],update:[4,2,1,""]},"ngrok.services.EndpointCircuitBreakerModuleClient":{"delete":[5,2,1,""],get:[5,2,1,""],replace:[5,2,1,""]},"ngrok.services.EndpointCompressionModuleClient":{"delete":[6,2,1,""],get:[6,2,1,""],replace:[6,2,1,""]},"ngrok.services.EndpointConfigurationsClient":{"delete":[7,2,1,""],create:[7,2,1,""],get:[7,2,1,""],list:[7,2,1,""],update:[7,2,1,""]},"ngrok.services.EndpointIPPolicyModuleClient":{"delete":[8,2,1,""],get:[8,2,1,""],replace:[8,2,1,""]},"ngrok.services.EndpointLoggingModuleClient":{"delete":[9,2,1,""],get:[9,2,1,""],replace:[9,2,1,""]},"ngrok.services.EndpointMutualTLSModuleClient":{"delete":[10,2,1,""],get:[10,2,1,""],replace:[10,2,1,""]},"ngrok.services.EndpointOAuthModuleClient":{"delete":[11,2,1,""],get:[11,2,1,""],replace:[11,2,1,""]},"ngrok.services.EndpointOIDCModuleClient":{"delete":[12,2,1,""],get:[12,2,1,""],replace:[12,2,1,""]},"ngrok.services.EndpointRequestHeadersModuleClient":{"delete":[13,2,1,""],get:[13,2,1,""],replace:[13,2,1,""]},"ngrok.services.EndpointResponseHeadersModuleClient":{"delete":[14,2,1,""],get:[14,2,1,""],replace:[14,2,1,""]},"ngrok.services.EndpointSAMLModuleClient":{"delete":[15,2,1,""],get:[15,2,1,""],replace:[15,2,1,""]},"ngrok.services.EndpointTLSTerminationModuleClient":{"delete":[16,2,1,""],get:[16,2,1,""],replace:[16,2,1,""]},"ngrok.services.EndpointWebhookValidationModuleClient":{"delete":[17,2,1,""],get:[17,2,1,""],replace:[17,2,1,""]},"ngrok.services.EventDestinationsClient":{"delete":[19,2,1,""],create:[19,2,1,""],get:[19,2,1,""],list:[19,2,1,""],update:[19,2,1,""]},"ngrok.services.EventStreamsClient":{"delete":[20,2,1,""],create:[20,2,1,""],get:[20,2,1,""],list:[20,2,1,""],update:[20,2,1,""]},"ngrok.services.IPPoliciesClient":{"delete":[22,2,1,""],create:[22,2,1,""],get:[22,2,1,""],list:[22,2,1,""],update:[22,2,1,""]},"ngrok.services.IPPolicyRulesClient":{"delete":[23,2,1,""],create:[23,2,1,""],get:[23,2,1,""],list:[23,2,1,""],update:[23,2,1,""]},"ngrok.services.IPRestrictionsClient":{"delete":[24,2,1,""],create:[24,2,1,""],get:[24,2,1,""],list:[24,2,1,""],update:[24,2,1,""]},"ngrok.services.IPWhitelistClient":{"delete":[25,2,1,""],create:[25,2,1,""],get:[25,2,1,""],list:[25,2,1,""],update:[25,2,1,""]},"ngrok.services.ReservedAddrsClient":{"delete":[27,2,1,""],create:[27,2,1,""],delete_endpoint_config:[27,2,1,""],get:[27,2,1,""],list:[27,2,1,""],update:[27,2,1,""]},"ngrok.services.ReservedDomainsClient":{"delete":[28,2,1,""],create:[28,2,1,""],delete_certificate:[28,2,1,""],delete_certificate_management_policy:[28,2,1,""],delete_http_endpoint_config:[28,2,1,""],delete_https_endpoint_config:[28,2,1,""],get:[28,2,1,""],list:[28,2,1,""],update:[28,2,1,""]},"ngrok.services.SSHCertificateAuthoritiesClient":{"delete":[29,2,1,""],create:[29,2,1,""],get:[29,2,1,""],list:[29,2,1,""],update:[29,2,1,""]},"ngrok.services.SSHCredentialsClient":{"delete":[30,2,1,""],create:[30,2,1,""],get:[30,2,1,""],list:[30,2,1,""],update:[30,2,1,""]},"ngrok.services.SSHHostCertificatesClient":{"delete":[31,2,1,""],create:[31,2,1,""],get:[31,2,1,""],list:[31,2,1,""],update:[31,2,1,""]},"ngrok.services.SSHUserCertificatesClient":{"delete":[32,2,1,""],create:[32,2,1,""],get:[32,2,1,""],list:[32,2,1,""],update:[32,2,1,""]},"ngrok.services.TLSCertificatesClient":{"delete":[33,2,1,""],create:[33,2,1,""],get:[33,2,1,""],list:[33,2,1,""],update:[33,2,1,""]},"ngrok.services.TunnelSessionsClient":{get:[34,2,1,""],list:[34,2,1,""],restart:[34,2,1,""],stop:[34,2,1,""],update:[34,2,1,""]},"ngrok.services.TunnelsClient":{list:[35,2,1,""]},ngrok:{Client:[3,1,1,""],Error:[18,3,1,""],NotFoundError:[18,3,1,""],objects:[26,0,0,"-"],services:[35,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:exception"},terms:{"100":[20,26],"128":26,"1410":18,"2048":29,"255":[1,2,4,7,19,20,22,23,24,25,26,29,30,31,32,33],"3339":[26,31,32],"404":18,"4096":[0,1,2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33],"509":26,"abstract":21,"break":34,"byte":[0,1,2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33],"catch":18,"class":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"default":[26,27,28,31,32],"export":26,"float":[20,26],"import":[3,21],"int":[18,26,29],"long":26,"new":[0,1,2,4,7,19,20,22,23,24,25,27,28,29,30,31,32,33,34],"null":[7,19,26,28],"public":[26,30,31,32],"return":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"throw":19,"true":[24,26],"try":[18,21],AWS:26,CAs:26,DNS:26,For:[4,26,30],IDs:[20,26],IPs:[22,23,25,26],One:26,SNS:26,TLS:[7,21,26,28],That:21,The:[1,4,18,19,20,21,26,30,31,32,34],Then:3,There:7,These:[26,32],__iter__:21,abil:[26,32],abl:26,about:[0,2,4,7,18,19,20,22,23,24,25,26,29,30,31,32,33],abus:[21,26],abuse_report:[0,3],abusereport:[0,26],abusereporthostnam:26,abusereportscli:[0,3],accept:[19,26],access:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],account:[0,1,2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],acl:[4,26,30],action:[4,18,21,22,26,30],add:26,addit:[18,21,26,32],addr:26,address:[4,7,21,25,26,30,31,32],advertis:26,after:[21,26,34],against:[18,26],agent:[3,24,26,34],agent_vers:26,all:[1,2,3,4,7,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],allow:[4,18,21,22,26,30,34],allow_idp_initi:26,alreadi:[26,34],also:26,altern:26,alwai:26,amazon:26,amount:[26,34],ani:[7,18,21,22,26,32,34],anoth:22,anyth:[19,20],api:[0,3,4,7,18,24,26,33],api_kei:[1,3],apikei:[1,26],apikeylist:[1,26],apikeyscli:[1,3],app:[26,28],appli:[7,19,20,22,26],applic:[21,26],arbitrari:[0,1,2,4,7,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33],arn:26,arrai:26,ask:26,assert:26,assertion_consumer_service_url:26,assign:26,associ:[19,20,22],assum:26,attach:[23,24,26,27,28],attribut:[1,2,4,19,20,22,23,24,25,27,28,30,33],audienc:26,auth:26,auth_check_interv:26,authent:[1,4,26,30],author:[0,21,26,31,32],authorized_group:26,authorizinig:[26,32],authtoken:[3,4,26],automat:[21,26,28],avail:[0,4,20,26,34],awai:21,awar:34,aws_access_key_id:26,aws_secret_access_kei:26,awsauth:26,awscredenti:26,awsrol:26,ban:26,base:26,base_url:3,bearer:26,becaus:[18,26],becom:[26,31,32],been:[26,34],befor:[26,34],before_id:[1,2,4,7,19,20,22,23,24,25,27,28,29,30,31,32,33,34,35],behalf:26,being:26,belong:26,best:18,between:26,bind:[4,26,30],blob:[26,32],block:18,bool:[24,26],both:[23,26],breaker:[7,21,26],bucket:26,bundl:[26,33],ca_pem:[2,26],cach:26,call:[4,21,26,31,32,34],caller:[4,18,26,30,34],can:[1,3,4,7,21,26,30,32],captur:[20,26],caus:34,caveat:26,cert:26,certfic:[2,29,31,32],certif:[21,26,28],certificate_author:[2,3,26],certificate_authority_id:26,certificate_id:28,certificate_management_polici:[26,28],certificate_management_statu:26,certificate_pem:[26,33],certificateauthor:[2,26],certificateauthoritiescli:[2,3],certificateauthoritylist:[2,26],certifici:26,certkei:[26,32],chain:[26,33],check:[18,26,34],choos:26,chosen:26,cidr:[21,23,25,26],circuit:[7,21,26],circuit_break:[7,26],circumst:34,client:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],client_id:26,client_secret:26,cloudwatch:26,cloudwatch_log:[19,26],cname:26,cname_target:26,code:[18,21,26,34],collect:[20,26],com:[0,3,4,7,26,28,30,32,33],command:[26,32,34],common:[4,18,26,30],commun:[25,26],compat:34,complet:[7,26,34],compress:[7,21,26],concaten:26,condit:[18,26],config:[19,20],config_metadata:26,configur:[3,21,22,26,27,28,34],connect:[26,28],consid:[26,31],construct:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35],consult:[18,21],consum:26,contact:0,contain:[0,19,26,28],content:[0,26],cooki:26,cookie_prefix:26,cor:26,correct:26,could:[18,34],countri:26,cr_1kyyuneyn6xhhlqymblrj5nxkoz:21,creat:[0,1,2,3,4,7,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],created_at:26,creation:26,cred:[3,21,26],credenti:[3,21,26],credentiallist:[4,26],credentialscli:[3,4],critic:[26,32],critical_opt:[26,32],current:[19,24,26,31,32,34,35],curv:29,custom:26,danger:[26,31,32],dashboard:[21,24,26],data:[0,1,2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33],datacent:[26,27,28],defin:[0,1,2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33],definit:26,delet:[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],delete_certif:28,delete_certificate_management_polici:28,delete_endpoint_config:27,delete_http_endpoint_config:28,delete_https_endpoint_config:28,deliv:26,deliveri:26,delivery_stream_arn:26,deni:[18,22,26,32],deposit:26,describ:[3,7,26],descript:[1,2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33],destin:[20,21,26],destination_id:[20,26],detach:[27,28],detail:[0,1,2,4,7,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],determin:[20,26],direct:26,directli:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],disabl:[26,28,34],disallow:26,discoveri:26,disk:26,distinguish:18,dns:26,dns_error:26,dns_name:26,doc:[3,7,26,33],document:18,doe:[26,28],domain:[4,7,21,26,30],done:34,download:26,dump:21,durat:26,dure:26,dynam:26,each:[7,20,26],easier:18,ecdsa:[26,29],ed25519:[26,29],edg:26,either:26,ellipt:29,elliptic_curv:29,els:18,email:26,email_address:26,email_domain:26,enabl:26,encapsul:[18,19,26],encod:[26,30,33],endpoint:[3,19,20,21,22,24,25,26,27,28,34],endpoint_circuit_breaker_modul:5,endpoint_compression_modul:6,endpoint_configur:[3,7,26],endpoint_configuration_id:27,endpoint_ip_policy_modul:8,endpoint_logging_modul:9,endpoint_mutual_tls_modul:10,endpoint_o_auth_modul:11,endpoint_oidc_modul:12,endpoint_request_headers_modul:13,endpoint_response_headers_modul:14,endpoint_saml_modul:15,endpoint_tls_termination_modul:16,endpoint_webhook_validation_modul:17,endpointcircuitbreak:[5,7,26],endpointcircuitbreakermodulecli:5,endpointcompress:[6,7,26],endpointcompressionmodulecli:6,endpointconfigur:[7,26],endpointconfigurationlist:[7,26],endpointconfigurationscli:[3,7],endpointippolici:[8,26],endpointippolicymodulecli:8,endpointippolicymut:[7,8,26],endpointlog:[9,26],endpointloggingmodulecli:9,endpointloggingmut:[7,9,26],endpointmutualtl:[10,26],endpointmutualtlsmodulecli:10,endpointmutualtlsmut:[7,10,26],endpointoauth:[7,11,26],endpointoauthfacebook:26,endpointoauthgithub:26,endpointoauthgoogl:26,endpointoauthmicrosoft:26,endpointoauthmodulecli:11,endpointoauthprovid:26,endpointoidc:[7,12,26],endpointoidcmodulecli:12,endpointrequesthead:[7,13,26],endpointrequestheadersmodulecli:13,endpointresponsehead:[7,14,26],endpointresponseheadersmodulecli:14,endpointsaml:[15,26],endpointsamlmodulecli:15,endpointsamlmut:[7,15,26],endpointtlstermin:[7,16,26],endpointtlsterminationmodulecli:16,endpointwebhookvalid:[7,17,26],endpointwebhookvalidationmodulecli:17,enforc:[24,26],ensur:18,entiti:26,entity_id:26,entitydescriptor:26,entri:[25,26],equival:[4,26,30],error:[19,26],error_cod:[18,21,26],error_threshold_percentag:26,etc:[4,26,30],evalu:26,even:26,event:[21,26],event_destin:[3,19,26],event_stream:[3,20,26],event_stream_id:26,event_typ:[20,26],eventdestin:[19,26],eventdestinationlist:[19,26],eventdestinationscli:[3,19],eventstream:[20,26],eventstreamlist:[20,26],eventstreamscli:[3,20],eventtarget:[19,26],eventtargetcloudwatchlog:26,eventtargetfirehos:26,eventtargetkinesi:26,exactli:[19,26],exampl:[4,26,28,30],exceed:26,except:[21,26],exclus:28,exec:34,exist:7,exit:34,explain:18,explicitli:[4,26,30],extend:26,extended_key_usag:26,extens:[26,32],facebook:26,fail:[7,18,21,26,34],fals:[24,26],featur:[3,7],fetch:21,field:[18,20,26],file:26,firehos:[19,26],first:[18,21,26,33],flow:26,follow:[19,26,32,34],forc:[26,32],force_authn:26,form:26,format:[19,26,31,32],forward:[26,32],four:[24,26],from:[20,21,26,30],full:[26,28],futur:[4,31],gatewai:[3,7,30],gener:[1,4,29],geograph:[26,27,28],get:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,27,28,29,30,31,32,33,34],giraff:21,github:[26,32],gitlab:26,given:26,googl:26,group:26,guarante:[18,26],handl:[27,28],handshak:26,happen:18,has:[19,22,26,34],have:[4,20,26,30],header:[7,21,26],health:26,help:26,helper:21,highli:26,holder:[26,32],host:[21,26,32],hostcertif:26,hostnam:[26,31],hour:32,how:[19,26],howev:7,http:[3,7,18,21,26,28,32,33],http_endpoint_configur:26,http_endpoint_configuration_id:28,http_request_complet:[20,26],http_status_cod:[18,21],https_endpoint_configur:26,https_endpoint_configuration_id:28,human:[1,2,4,7,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33],ident:26,identifi:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34],idp:26,idp_metadata:26,ignor:26,implement:[21,26],inact:26,inactivity_timeout:26,inbound:[27,28],includ:[4,18,26,30,31,32],indic:[18,26],industri:26,inform:[2,4,7,19,20,21,22,23,24,25,29,30,31,32,33],initi:26,initiati:26,inject:26,instanc:[3,7],instead:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],instruct:34,integ:26,integr:34,intercom:26,internal_error:26,interpret:[26,32],introspect:18,invalid:[18,26,31,32],invok:[18,21],ip_net:[25,26],ip_polici:[3,7,18,21,22,26],ip_policy_id:[21,23,24,26],ip_policy_rul:[3,21,23,26],ip_restrict:[3,24,26],ip_whitelist:[3,25],ippolici:[22,26],ippoliciescli:[3,22],ippolicylist:[22,26],ippolicyrul:[23,26],ippolicyrulelist:[23,26],ippolicyrulescli:[3,23],iprestrict:[24,26],iprestrictionlist:[24,26],iprestrictionscli:[3,24],ips:26,ipv4:[23,26],ipv6:[23,26],ipwhitelistcli:[3,25],ipwhitelistentri:[25,26],ipwhitelistentrylist:[25,26],isn:26,issu:[24,26,31,32,34],issued_at:26,issuer:26,issuer_common_nam:26,its:26,itself:[21,34],job:26,json:[19,21,26],kei:[3,21,26,29,30,31,32,33],key_siz:29,key_typ:26,key_usag:26,keypair:[26,30],kind:18,kinesi:[19,26],latest:34,lead:[4,26,30],leaf:[26,33],least:[20,26,34],leav:[19,26],letsencrypt:26,level:26,librari:[3,21],like:[19,20,21,26,28],limit:[1,2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],link:[3,7,33],list:[0,1,2,3,4,7,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],local:26,locat:26,log:[7,21,26,32],log_group_arn:26,login:26,logout:26,longer:26,low:26,machin:[2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33],mai:[4,18,26,28,30,32],major:34,make:[18,26,34],manag:[26,28],managementan:[3,7],mani:26,manual:34,map:[26,32],master:[26,32],match:[4,26,30],max:[0,1,2,4,7,19,20,22,23,24,25,26,27,28,29,30,31,32,33],maximum:26,maximum_dur:26,member:26,messag:[18,21,26],metadata:[0,1,2,4,7,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],metadata_url:26,method:18,metric:26,microsoft:26,min_vers:26,minimum:26,modifi:7,modul:[7,21,26],more:[20,26,32],most:26,msg:26,multipl:[4,26,30],must:[4,19,26,34],mutual:[7,21,26,28],mutual_tl:[7,26],nake:18,name:[26,28],nameserv:26,necessari:[21,26],need:[4,21,26],network:[3,7,18,25,26],never:34,next:26,next_page_uri:26,ngrok:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],none:[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],not_aft:26,not_befor:26,notabl:34,notat:[23,25,26],notfounderror:18,ns_target:26,num_bucket:26,number:[26,32],oauth:[7,21,26],object:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35],offici:21,oidc:[7,21,26],one:[7,19,20,21,26,29,31],onli:[0,4,19,24,26,30,32],onlin:[21,26,34,35],open:[4,26,30,32],openid:26,openssh:[26,31,32],oper:[7,18,26,34],option:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],options_passthrough:26,org:26,organ:26,organiz:26,other:[18,26],otherwis:26,our:[0,18],out:26,output:[19,26],own:[1,26],packag:21,page:26,pair:26,paramet:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],pars:26,partially_process:26,pass:26,pem:[2,26,30,33],pend:26,percentag:[20,26],period:26,perman:26,permiss:[26,32],permit:[4,26,30,32],pip:21,place:26,platform:34,pleas:34,point:[18,26],pointcfg_modul:3,polici:[3,7,21,24,26,28],port:[26,32],portabl:[26,32],portion:26,predefin:[26,32],prefer:26,prefix:26,present:26,preserv:20,presnt:26,princip:[26,31,32],print:[3,21],privat:[26,29,33],private_key_pem:33,private_key_typ:[26,29],process:[26,34],prompt:26,prop:26,properti:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],proto:26,protocol:[20,26,32],provid:26,provinc:26,provis:26,provisioning_job:26,pty:[26,32],pub:26,public_kei:[26,30,31,32],public_url:26,pull:26,purpos:[22,26,32],python:21,qualifi:26,rais:18,rang:[20,23,25,26],raw:[2,26],readabl:[1,2,4,7,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33],reauthent:26,recent:26,recheck:26,recommend:26,reconnect:34,record:26,redirect:26,ref:26,refer:[19,26],referenc:[7,19,22,26],refresh:26,region:[26,27,28],relat:26,relayst:26,reli:26,remain:22,remov:[19,26],renew:26,renews_at:26,replac:[5,6,7,8,9,10,11,12,13,14,15,16,17],report:[21,26],repres:[20,26],request:[0,7,21,26,34],request_head:[7,26],request_signing_certificate_pem:26,requir:[20,26],reserv:[7,21,26],reserved_addr:[3,26,27],reserved_domain:[3,26,28],reservedaddr:[26,27],reservedaddrlist:[26,27],reservedaddrscli:[3,27],reserveddomain:[26,28],reserveddomaincertjob:26,reserveddomaincertnstarget:26,reserveddomaincertpolici:[26,28],reserveddomaincertstatu:26,reserveddomainlist:[26,28],reserveddomainscli:[3,28],resourc:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],respons:[0,4,7,18,21,26],response_head:[7,26],resrtrict:26,rest:[19,26],restart:34,restrict:[4,21,22,25,26,30],retain:26,retri:[18,26],retries_at:26,retriev:26,review:0,revok:26,rfc:[26,31,32],robustli:18,role:26,role_arn:26,roll:26,rolling_window:26,root:3,rsa:[26,29],rule:[4,21,22,26,30],run:[26,34,35],runtimeerror:18,safe:26,same:26,saml:[7,21,26],sampling_r:[20,26],san:26,save:4,scope:26,second:[26,34],secret:26,section:21,secur:4,see:[26,32,33],send:[19,26],sent:26,separ:18,sequenc:[0,4,20,24,26,30,31,32],serial:[19,26],serial_numb:26,serv:[26,31],server:[18,26,32],server_nam:21,servic:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],session:[4,21,26],set:[24,26],shopifi:26,should:[20,26,34],sign:[26,31,32],simpl:18,singl:[21,26],single_logout_url:26,size:29,slack:26,slug:26,some:[18,21,34],someth:18,sourc:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],spec:[26,32],specif:[18,20,21,26],specifi:[4,7,23,26,30,31,32],ssh:[21,26],ssh_certificate_author:[3,26,29],ssh_certificate_authority_id:[26,31,32],ssh_credenti:[3,26,30],ssh_host_certif:[3,26,31],ssh_user_certif:[3,26,32],sshcertificateauthor:[26,29],sshcertificateauthoritiescli:[3,29],sshcertificateauthoritylist:[26,29],sshcredenti:[26,30],sshcredentiallist:[26,30],sshcredentialscli:[3,30],sshd_config:26,sshhostcertif:[26,31],sshhostcertificatelist:[26,31],sshhostcertificatescli:[3,31],sshusercertif:[26,32],sshusercertificatelist:[26,32],sshusercertificatescli:[3,32],start:[4,26,30,34],started_at:26,state:26,statist:26,statu:[0,18,21,26,34],status:26,still:[7,19,26,34],stop:34,str:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],stream:[19,21,26],stream_arn:26,string:[18,26],stripe:26,subclass:18,subdomain:[26,28],subject:26,subject_alternative_nam:26,subject_common_nam:26,subject_countri:26,subject_loc:26,subject_organ:26,subject_organizational_unit:26,subject_provinc:26,subnet:21,successfulli:34,suffix:[4,26,30],suppli:26,support:[20,22,23,24,26,34],suspect:[0,26],system:[0,18,26],take:[18,26],taken:26,target:[19,26,28],tcp:[7,26,27],tcp_connection_clos:[20,26],team:[0,26],temporari:26,term:26,termin:[7,21,26,32],terminate_at:26,thei:[7,26],them:26,thi:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],threshold:26,through:26,thrown:18,time:[4,26,30,31,32,34],timestamp:26,tls:[26,33],tls_certif:[3,26,33],tls_termin:[7,26],tlscertif:[26,33],tlscertificatelist:[26,33],tlscertificatesan:26,tlscertificatescli:[3,33],togeth:26,token:[4,26,30],top:26,traffic:[7,21,22,24,25,26,27,28,31],transport:26,treat:22,trip:26,tripped_dur:26,tunabl:26,tune:26,tunnel:[3,21,25,26,30],tunnel_sess:[3,26,34],tunnellist:[26,35],tunnelscli:[3,35],tunnelsess:[26,34],tunnelsessionlist:[26,34],tunnelsessionscli:[3,34],twilio:26,two:[26,32],type:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35],unban:26,undefin:18,underli:26,understand:[26,32],unexpect:18,uniqu:[7,18,19,20,26],unit:26,unspecifi:[4,26,30,31,32],until:[19,20,22],updat:[1,2,4,7,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],upload:[2,26,28,30,33],upstream:26,uri:26,url:[0,26],use:[4,7,18,26,28,29,30],used:[1,4,20,24,26,27,28,30,31,32],user:[0,1,2,4,7,19,20,21,22,23,24,25,26,27,28,29,30,31,33],usernam:[26,32],uses:[1,26],using:[26,34],valid:[7,18,20,21,26,31,32],valid_aft:[26,31,32],valid_befor:[26,31,32],valid_until:[26,31,32],valu:[7,19,20,22,24,26,31,32],verif:26,version:[26,34],via:[7,22,30],visit:26,volum:26,volume_threshold:26,wai:7,wait:[26,34],want:[20,26],warn:[24,26],webhook:[7,21,26],webhook_valid:[7,26],well:[21,26],what:[1,4,7,24,26,27,28,30],when:[7,18,19,21,26,29,31,32,34],whenev:26,where:[19,26],whether:26,which:[0,4,20,21,26,30,34],whitelist:[21,26],who:[4,26,30],why:[18,26],wildcard:[4,26,30],window:[26,34],wish:34,without:21,work:21,would:[4,19,20,26,30],x11:[26,32],xml:26,year:31,yet:34,you:[3,4,18,19,20,21,22,26,30,34],your:[3,4,7,19,21,25,26,30,34],yourself:4,zero:22,zone:26},titles:["Abuse Reports","API Keys","Certificate Authorities","Client","Tunnel Credentials","Circuit Breaker Module","Compression Module","Endpoint Configurations","IP Policy Module","Logging Module","Mutual TLS Module","OAuth Module","OIDC Module","Request Headers Module","Response Headers Module","SAML Module","TLS Termination Module","Webhook Validation Module","Errors","Event Destinations","Event Streams","ngrok-api","IP Policies","IP Policy Rules","IP Restrictions","IP Whitelist","Objects","Reserved Addresses","Reserved Domains","SSH Certificate Authorities","SSH Credentials","SSH Host Certificates","SSH User Certificates","TLS Certificates","Tunnel Sessions","Tunnels"],titleterms:{"class":18,TLS:[10,16,33],abus:0,address:27,api:[1,21],author:[2,29],breaker:5,certif:[2,29,31,32,33],circuit:5,client:3,compress:6,configur:7,credenti:[4,30],destin:19,domain:28,endpoint:7,error:[18,21],event:[19,20],exampl:21,except:18,get:21,handl:[18,21],header:[13,14],host:31,instal:21,instanc:21,kei:1,log:9,method:21,modul:[5,6,8,9,10,11,12,13,14,15,16,17],mutual:10,ngrok:21,oauth:11,object:26,oidc:12,page:21,polici:[8,22,23],quickstart:21,refer:21,report:0,request:13,reserv:[27,28],respons:14,restrict:24,rule:23,saml:15,servic:21,session:34,ssh:[29,30,31,32],start:21,stream:20,termin:16,transpar:21,tunnel:[4,34,35],user:32,valid:17,webhook:17,whitelist:25}}) \ No newline at end of file +Search.setIndex({docnames:["abuse_reports","api_keys","certificate_authorities","client","credentials","datatypes","endpoint_circuit_breaker_module","endpoint_compression_module","endpoint_configurations","endpoint_ip_policy_module","endpoint_logging_module","endpoint_mutual_tls_module","endpoint_o_auth_module","endpoint_oidc_module","endpoint_request_headers_module","endpoint_response_headers_module","endpoint_saml_module","endpoint_tls_termination_module","endpoint_webhook_validation_module","errors","event_destinations","event_streams","index","ip_policies","ip_policy_rules","ip_restrictions","ip_whitelist","reserved_addrs","reserved_domains","ssh_certificate_authorities","ssh_credentials","ssh_host_certificates","ssh_user_certificates","tls_certificates","tunnel_sessions","tunnels"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["abuse_reports.rst","api_keys.rst","certificate_authorities.rst","client.rst","credentials.rst","datatypes.rst","endpoint_circuit_breaker_module.rst","endpoint_compression_module.rst","endpoint_configurations.rst","endpoint_ip_policy_module.rst","endpoint_logging_module.rst","endpoint_mutual_tls_module.rst","endpoint_o_auth_module.rst","endpoint_oidc_module.rst","endpoint_request_headers_module.rst","endpoint_response_headers_module.rst","endpoint_saml_module.rst","endpoint_tls_termination_module.rst","endpoint_webhook_validation_module.rst","errors.rst","event_destinations.rst","event_streams.rst","index.rst","ip_policies.rst","ip_policy_rules.rst","ip_restrictions.rst","ip_whitelist.rst","reserved_addrs.rst","reserved_domains.rst","ssh_certificate_authorities.rst","ssh_credentials.rst","ssh_host_certificates.rst","ssh_user_certificates.rst","tls_certificates.rst","tunnel_sessions.rst","tunnels.rst"],objects:{"":{ngrok:[19,0,0,"-"]},"ngrok.Client":{abuse_reports:[3,2,1,""],api_keys:[3,2,1,""],certificate_authorities:[3,2,1,""],credentials:[3,2,1,""],endpoint_configurations:[3,2,1,""],event_destinations:[3,2,1,""],event_streams:[3,2,1,""],ip_policies:[3,2,1,""],ip_policy_rules:[3,2,1,""],ip_restrictions:[3,2,1,""],ip_whitelist:[3,2,1,""],pointcfg_module:[3,2,1,""],reserved_addrs:[3,2,1,""],reserved_domains:[3,2,1,""],ssh_certificate_authorities:[3,2,1,""],ssh_credentials:[3,2,1,""],ssh_host_certificates:[3,2,1,""],ssh_user_certificates:[3,2,1,""],tls_certificates:[3,2,1,""],tunnel_sessions:[3,2,1,""],tunnels:[3,2,1,""]},"ngrok.Error":{operation_id:[19,2,1,""]},"ngrok.datatypes":{APIKey:[5,1,1,""],APIKeyList:[5,1,1,""],AWSAuth:[5,1,1,""],AWSCredentials:[5,1,1,""],AWSRole:[5,1,1,""],AbuseReport:[5,1,1,""],AbuseReportHostname:[5,1,1,""],CertificateAuthority:[5,1,1,""],CertificateAuthorityList:[5,1,1,""],Credential:[5,1,1,""],CredentialList:[5,1,1,""],EndpointCircuitBreaker:[5,1,1,""],EndpointCompression:[5,1,1,""],EndpointConfiguration:[5,1,1,""],EndpointConfigurationList:[5,1,1,""],EndpointIPPolicy:[5,1,1,""],EndpointIPPolicyMutate:[5,1,1,""],EndpointLogging:[5,1,1,""],EndpointLoggingMutate:[5,1,1,""],EndpointMutualTLS:[5,1,1,""],EndpointMutualTLSMutate:[5,1,1,""],EndpointOAuth:[5,1,1,""],EndpointOAuthFacebook:[5,1,1,""],EndpointOAuthGitHub:[5,1,1,""],EndpointOAuthGoogle:[5,1,1,""],EndpointOAuthMicrosoft:[5,1,1,""],EndpointOAuthProvider:[5,1,1,""],EndpointOIDC:[5,1,1,""],EndpointRequestHeaders:[5,1,1,""],EndpointResponseHeaders:[5,1,1,""],EndpointSAML:[5,1,1,""],EndpointSAMLMutate:[5,1,1,""],EndpointTLSTermination:[5,1,1,""],EndpointWebhookValidation:[5,1,1,""],EventDestination:[5,1,1,""],EventDestinationList:[5,1,1,""],EventStream:[5,1,1,""],EventStreamList:[5,1,1,""],EventTarget:[5,1,1,""],EventTargetCloudwatchLogs:[5,1,1,""],EventTargetFirehose:[5,1,1,""],EventTargetKinesis:[5,1,1,""],IPPolicy:[5,1,1,""],IPPolicyList:[5,1,1,""],IPPolicyRule:[5,1,1,""],IPPolicyRuleList:[5,1,1,""],IPRestriction:[5,1,1,""],IPRestrictionList:[5,1,1,""],IPWhitelistEntry:[5,1,1,""],IPWhitelistEntryList:[5,1,1,""],Ref:[5,1,1,""],ReservedAddr:[5,1,1,""],ReservedAddrList:[5,1,1,""],ReservedDomain:[5,1,1,""],ReservedDomainCertJob:[5,1,1,""],ReservedDomainCertNSTarget:[5,1,1,""],ReservedDomainCertPolicy:[5,1,1,""],ReservedDomainCertStatus:[5,1,1,""],ReservedDomainList:[5,1,1,""],SSHCertificateAuthority:[5,1,1,""],SSHCertificateAuthorityList:[5,1,1,""],SSHCredential:[5,1,1,""],SSHCredentialList:[5,1,1,""],SSHHostCertificate:[5,1,1,""],SSHHostCertificateList:[5,1,1,""],SSHUserCertificate:[5,1,1,""],SSHUserCertificateList:[5,1,1,""],TLSCertificate:[5,1,1,""],TLSCertificateList:[5,1,1,""],TLSCertificateSANs:[5,1,1,""],Tunnel:[5,1,1,""],TunnelList:[5,1,1,""],TunnelSession:[5,1,1,""],TunnelSessionList:[5,1,1,""]},"ngrok.datatypes.APIKey":{"delete":[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],token:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.APIKeyList":{keys:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.AWSAuth":{creds:[5,2,1,""],role:[5,2,1,""]},"ngrok.datatypes.AWSCredentials":{aws_access_key_id:[5,2,1,""],aws_secret_access_key:[5,2,1,""]},"ngrok.datatypes.AWSRole":{role_arn:[5,2,1,""]},"ngrok.datatypes.AbuseReport":{created_at:[5,2,1,""],hostnames:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],status:[5,2,1,""],uri:[5,2,1,""],urls:[5,2,1,""]},"ngrok.datatypes.AbuseReportHostname":{hostname:[5,2,1,""],status:[5,2,1,""]},"ngrok.datatypes.CertificateAuthority":{"delete":[5,2,1,""],ca_pem:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],extended_key_usages:[5,2,1,""],id:[5,2,1,""],key_usages:[5,2,1,""],metadata:[5,2,1,""],not_after:[5,2,1,""],not_before:[5,2,1,""],subject_common_name:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.CertificateAuthorityList":{certificate_authorities:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.Credential":{"delete":[5,2,1,""],acl:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],token:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.CredentialList":{credentials:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.EndpointCircuitBreaker":{enabled:[5,2,1,""],error_threshold_percentage:[5,2,1,""],num_buckets:[5,2,1,""],rolling_window:[5,2,1,""],tripped_duration:[5,2,1,""],volume_threshold:[5,2,1,""]},"ngrok.datatypes.EndpointCompression":{enabled:[5,2,1,""]},"ngrok.datatypes.EndpointConfiguration":{"delete":[5,2,1,""],circuit_breaker:[5,2,1,""],compression:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],ip_policy:[5,2,1,""],logging:[5,2,1,""],metadata:[5,2,1,""],mutual_tls:[5,2,1,""],oauth:[5,2,1,""],oidc:[5,2,1,""],request_headers:[5,2,1,""],response_headers:[5,2,1,""],saml:[5,2,1,""],tls_termination:[5,2,1,""],type:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""],webhook_validation:[5,2,1,""]},"ngrok.datatypes.EndpointConfigurationList":{endpoint_configurations:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.EndpointIPPolicy":{enabled:[5,2,1,""],ip_policies:[5,2,1,""]},"ngrok.datatypes.EndpointIPPolicyMutate":{enabled:[5,2,1,""],ip_policy_ids:[5,2,1,""]},"ngrok.datatypes.EndpointLogging":{enabled:[5,2,1,""],event_streams:[5,2,1,""]},"ngrok.datatypes.EndpointLoggingMutate":{enabled:[5,2,1,""],event_stream_ids:[5,2,1,""]},"ngrok.datatypes.EndpointMutualTLS":{certificate_authorities:[5,2,1,""],enabled:[5,2,1,""]},"ngrok.datatypes.EndpointMutualTLSMutate":{certificate_authority_ids:[5,2,1,""],enabled:[5,2,1,""]},"ngrok.datatypes.EndpointOAuth":{auth_check_interval:[5,2,1,""],cookie_prefix:[5,2,1,""],enabled:[5,2,1,""],inactivity_timeout:[5,2,1,""],maximum_duration:[5,2,1,""],options_passthrough:[5,2,1,""],provider:[5,2,1,""]},"ngrok.datatypes.EndpointOAuthFacebook":{client_id:[5,2,1,""],client_secret:[5,2,1,""],email_addresses:[5,2,1,""],email_domains:[5,2,1,""],scopes:[5,2,1,""]},"ngrok.datatypes.EndpointOAuthGitHub":{client_id:[5,2,1,""],client_secret:[5,2,1,""],email_addresses:[5,2,1,""],email_domains:[5,2,1,""],organizations:[5,2,1,""],scopes:[5,2,1,""],teams:[5,2,1,""]},"ngrok.datatypes.EndpointOAuthGoogle":{client_id:[5,2,1,""],client_secret:[5,2,1,""],email_addresses:[5,2,1,""],email_domains:[5,2,1,""],scopes:[5,2,1,""]},"ngrok.datatypes.EndpointOAuthMicrosoft":{client_id:[5,2,1,""],client_secret:[5,2,1,""],email_addresses:[5,2,1,""],email_domains:[5,2,1,""],scopes:[5,2,1,""]},"ngrok.datatypes.EndpointOAuthProvider":{facebook:[5,2,1,""],github:[5,2,1,""],google:[5,2,1,""],microsoft:[5,2,1,""]},"ngrok.datatypes.EndpointOIDC":{client_id:[5,2,1,""],client_secret:[5,2,1,""],cookie_prefix:[5,2,1,""],enabled:[5,2,1,""],inactivity_timeout:[5,2,1,""],issuer:[5,2,1,""],maximum_duration:[5,2,1,""],options_passthrough:[5,2,1,""],scopes:[5,2,1,""]},"ngrok.datatypes.EndpointRequestHeaders":{add:[5,2,1,""],enabled:[5,2,1,""],remove:[5,2,1,""]},"ngrok.datatypes.EndpointResponseHeaders":{add:[5,2,1,""],enabled:[5,2,1,""],remove:[5,2,1,""]},"ngrok.datatypes.EndpointSAML":{allow_idp_initiated:[5,2,1,""],assertion_consumer_service_url:[5,2,1,""],authorized_groups:[5,2,1,""],cookie_prefix:[5,2,1,""],enabled:[5,2,1,""],entity_id:[5,2,1,""],force_authn:[5,2,1,""],idp_metadata:[5,2,1,""],inactivity_timeout:[5,2,1,""],maximum_duration:[5,2,1,""],metadata_url:[5,2,1,""],options_passthrough:[5,2,1,""],request_signing_certificate_pem:[5,2,1,""],single_logout_url:[5,2,1,""]},"ngrok.datatypes.EndpointSAMLMutate":{allow_idp_initiated:[5,2,1,""],authorized_groups:[5,2,1,""],cookie_prefix:[5,2,1,""],enabled:[5,2,1,""],force_authn:[5,2,1,""],idp_metadata:[5,2,1,""],inactivity_timeout:[5,2,1,""],maximum_duration:[5,2,1,""],options_passthrough:[5,2,1,""]},"ngrok.datatypes.EndpointTLSTermination":{enabled:[5,2,1,""],min_version:[5,2,1,""],terminate_at:[5,2,1,""]},"ngrok.datatypes.EndpointWebhookValidation":{enabled:[5,2,1,""],provider:[5,2,1,""],secret:[5,2,1,""]},"ngrok.datatypes.EventDestination":{"delete":[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],format:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],target:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.EventDestinationList":{event_destinations:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.EventStream":{"delete":[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],destination_ids:[5,2,1,""],event_type:[5,2,1,""],fields:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],sampling_rate:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.EventStreamList":{event_streams:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.EventTarget":{cloudwatch_logs:[5,2,1,""],firehose:[5,2,1,""],kinesis:[5,2,1,""]},"ngrok.datatypes.EventTargetCloudwatchLogs":{auth:[5,2,1,""],log_group_arn:[5,2,1,""]},"ngrok.datatypes.EventTargetFirehose":{auth:[5,2,1,""],delivery_stream_arn:[5,2,1,""]},"ngrok.datatypes.EventTargetKinesis":{auth:[5,2,1,""],stream_arn:[5,2,1,""]},"ngrok.datatypes.IPPolicy":{"delete":[5,2,1,""],action:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.IPPolicyList":{ip_policies:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.IPPolicyRule":{"delete":[5,2,1,""],cidr:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],ip_policy:[5,2,1,""],metadata:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.IPPolicyRuleList":{ip_policy_rules:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.IPRestriction":{"delete":[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],enforced:[5,2,1,""],id:[5,2,1,""],ip_policies:[5,2,1,""],metadata:[5,2,1,""],type:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.IPRestrictionList":{ip_restrictions:[5,2,1,""],next_page_uri:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.IPWhitelistEntry":{"delete":[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],ip_net:[5,2,1,""],metadata:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.IPWhitelistEntryList":{next_page_uri:[5,2,1,""],uri:[5,2,1,""],whitelist:[5,2,1,""]},"ngrok.datatypes.Ref":{id:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.ReservedAddr":{"delete":[5,2,1,""],addr:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],endpoint_configuration:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],region:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.ReservedAddrList":{next_page_uri:[5,2,1,""],reserved_addrs:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.ReservedDomain":{"delete":[5,2,1,""],certificate:[5,2,1,""],certificate_management_policy:[5,2,1,""],certificate_management_status:[5,2,1,""],cname_target:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],domain:[5,2,1,""],http_endpoint_configuration:[5,2,1,""],https_endpoint_configuration:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],region:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.ReservedDomainCertJob":{error_code:[5,2,1,""],msg:[5,2,1,""],ns_targets:[5,2,1,""],retries_at:[5,2,1,""],started_at:[5,2,1,""]},"ngrok.datatypes.ReservedDomainCertNSTarget":{nameservers:[5,2,1,""],zone:[5,2,1,""]},"ngrok.datatypes.ReservedDomainCertPolicy":{authority:[5,2,1,""],private_key_type:[5,2,1,""]},"ngrok.datatypes.ReservedDomainCertStatus":{provisioning_job:[5,2,1,""],renews_at:[5,2,1,""]},"ngrok.datatypes.ReservedDomainList":{next_page_uri:[5,2,1,""],reserved_domains:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.SSHCertificateAuthority":{"delete":[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],key_type:[5,2,1,""],metadata:[5,2,1,""],public_key:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.SSHCertificateAuthorityList":{next_page_uri:[5,2,1,""],ssh_certificate_authorities:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.SSHCredential":{"delete":[5,2,1,""],acl:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],metadata:[5,2,1,""],public_key:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.SSHCredentialList":{next_page_uri:[5,2,1,""],ssh_credentials:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.SSHHostCertificate":{"delete":[5,2,1,""],certificate:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],id:[5,2,1,""],key_type:[5,2,1,""],metadata:[5,2,1,""],principals:[5,2,1,""],public_key:[5,2,1,""],ssh_certificate_authority_id:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""],valid_after:[5,2,1,""],valid_until:[5,2,1,""]},"ngrok.datatypes.SSHHostCertificateList":{next_page_uri:[5,2,1,""],ssh_host_certificates:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.SSHUserCertificate":{"delete":[5,2,1,""],certificate:[5,2,1,""],created_at:[5,2,1,""],critical_options:[5,2,1,""],description:[5,2,1,""],extensions:[5,2,1,""],id:[5,2,1,""],key_type:[5,2,1,""],metadata:[5,2,1,""],principals:[5,2,1,""],public_key:[5,2,1,""],ssh_certificate_authority_id:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""],valid_after:[5,2,1,""],valid_until:[5,2,1,""]},"ngrok.datatypes.SSHUserCertificateList":{next_page_uri:[5,2,1,""],ssh_user_certificates:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.TLSCertificate":{"delete":[5,2,1,""],certificate_pem:[5,2,1,""],created_at:[5,2,1,""],description:[5,2,1,""],extended_key_usages:[5,2,1,""],id:[5,2,1,""],issued_at:[5,2,1,""],issuer_common_name:[5,2,1,""],key_usages:[5,2,1,""],metadata:[5,2,1,""],not_after:[5,2,1,""],not_before:[5,2,1,""],private_key_type:[5,2,1,""],serial_number:[5,2,1,""],subject_alternative_names:[5,2,1,""],subject_common_name:[5,2,1,""],subject_country:[5,2,1,""],subject_locality:[5,2,1,""],subject_organization:[5,2,1,""],subject_organizational_unit:[5,2,1,""],subject_province:[5,2,1,""],update:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.TLSCertificateList":{next_page_uri:[5,2,1,""],tls_certificates:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.TLSCertificateSANs":{dns_names:[5,2,1,""],ips:[5,2,1,""]},"ngrok.datatypes.Tunnel":{id:[5,2,1,""],metadata:[5,2,1,""],proto:[5,2,1,""],public_url:[5,2,1,""],region:[5,2,1,""],started_at:[5,2,1,""],tunnel_session:[5,2,1,""]},"ngrok.datatypes.TunnelList":{next_page_uri:[5,2,1,""],tunnels:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.TunnelSession":{agent_version:[5,2,1,""],credential:[5,2,1,""],id:[5,2,1,""],ip:[5,2,1,""],metadata:[5,2,1,""],os:[5,2,1,""],region:[5,2,1,""],started_at:[5,2,1,""],transport:[5,2,1,""],uri:[5,2,1,""]},"ngrok.datatypes.TunnelSessionList":{next_page_uri:[5,2,1,""],tunnel_sessions:[5,2,1,""],uri:[5,2,1,""]},"ngrok.services":{APIKeysClient:[1,1,1,""],AbuseReportsClient:[0,1,1,""],CertificateAuthoritiesClient:[2,1,1,""],CredentialsClient:[4,1,1,""],EndpointCircuitBreakerModuleClient:[6,1,1,""],EndpointCompressionModuleClient:[7,1,1,""],EndpointConfigurationsClient:[8,1,1,""],EndpointIPPolicyModuleClient:[9,1,1,""],EndpointLoggingModuleClient:[10,1,1,""],EndpointMutualTLSModuleClient:[11,1,1,""],EndpointOAuthModuleClient:[12,1,1,""],EndpointOIDCModuleClient:[13,1,1,""],EndpointRequestHeadersModuleClient:[14,1,1,""],EndpointResponseHeadersModuleClient:[15,1,1,""],EndpointSAMLModuleClient:[16,1,1,""],EndpointTLSTerminationModuleClient:[17,1,1,""],EndpointWebhookValidationModuleClient:[18,1,1,""],EventDestinationsClient:[20,1,1,""],EventStreamsClient:[21,1,1,""],IPPoliciesClient:[23,1,1,""],IPPolicyRulesClient:[24,1,1,""],IPRestrictionsClient:[25,1,1,""],IPWhitelistClient:[26,1,1,""],ReservedAddrsClient:[27,1,1,""],ReservedDomainsClient:[28,1,1,""],SSHCertificateAuthoritiesClient:[29,1,1,""],SSHCredentialsClient:[30,1,1,""],SSHHostCertificatesClient:[31,1,1,""],SSHUserCertificatesClient:[32,1,1,""],TLSCertificatesClient:[33,1,1,""],TunnelSessionsClient:[34,1,1,""],TunnelsClient:[35,1,1,""]},"ngrok.services.APIKeysClient":{"delete":[1,2,1,""],create:[1,2,1,""],get:[1,2,1,""],list:[1,2,1,""],update:[1,2,1,""]},"ngrok.services.AbuseReportsClient":{create:[0,2,1,""],get:[0,2,1,""]},"ngrok.services.CertificateAuthoritiesClient":{"delete":[2,2,1,""],create:[2,2,1,""],get:[2,2,1,""],list:[2,2,1,""],update:[2,2,1,""]},"ngrok.services.CredentialsClient":{"delete":[4,2,1,""],create:[4,2,1,""],get:[4,2,1,""],list:[4,2,1,""],update:[4,2,1,""]},"ngrok.services.EndpointCircuitBreakerModuleClient":{"delete":[6,2,1,""],get:[6,2,1,""],replace:[6,2,1,""]},"ngrok.services.EndpointCompressionModuleClient":{"delete":[7,2,1,""],get:[7,2,1,""],replace:[7,2,1,""]},"ngrok.services.EndpointConfigurationsClient":{"delete":[8,2,1,""],create:[8,2,1,""],get:[8,2,1,""],list:[8,2,1,""],update:[8,2,1,""]},"ngrok.services.EndpointIPPolicyModuleClient":{"delete":[9,2,1,""],get:[9,2,1,""],replace:[9,2,1,""]},"ngrok.services.EndpointLoggingModuleClient":{"delete":[10,2,1,""],get:[10,2,1,""],replace:[10,2,1,""]},"ngrok.services.EndpointMutualTLSModuleClient":{"delete":[11,2,1,""],get:[11,2,1,""],replace:[11,2,1,""]},"ngrok.services.EndpointOAuthModuleClient":{"delete":[12,2,1,""],get:[12,2,1,""],replace:[12,2,1,""]},"ngrok.services.EndpointOIDCModuleClient":{"delete":[13,2,1,""],get:[13,2,1,""],replace:[13,2,1,""]},"ngrok.services.EndpointRequestHeadersModuleClient":{"delete":[14,2,1,""],get:[14,2,1,""],replace:[14,2,1,""]},"ngrok.services.EndpointResponseHeadersModuleClient":{"delete":[15,2,1,""],get:[15,2,1,""],replace:[15,2,1,""]},"ngrok.services.EndpointSAMLModuleClient":{"delete":[16,2,1,""],get:[16,2,1,""],replace:[16,2,1,""]},"ngrok.services.EndpointTLSTerminationModuleClient":{"delete":[17,2,1,""],get:[17,2,1,""],replace:[17,2,1,""]},"ngrok.services.EndpointWebhookValidationModuleClient":{"delete":[18,2,1,""],get:[18,2,1,""],replace:[18,2,1,""]},"ngrok.services.EventDestinationsClient":{"delete":[20,2,1,""],create:[20,2,1,""],get:[20,2,1,""],list:[20,2,1,""],update:[20,2,1,""]},"ngrok.services.EventStreamsClient":{"delete":[21,2,1,""],create:[21,2,1,""],get:[21,2,1,""],list:[21,2,1,""],update:[21,2,1,""]},"ngrok.services.IPPoliciesClient":{"delete":[23,2,1,""],create:[23,2,1,""],get:[23,2,1,""],list:[23,2,1,""],update:[23,2,1,""]},"ngrok.services.IPPolicyRulesClient":{"delete":[24,2,1,""],create:[24,2,1,""],get:[24,2,1,""],list:[24,2,1,""],update:[24,2,1,""]},"ngrok.services.IPRestrictionsClient":{"delete":[25,2,1,""],create:[25,2,1,""],get:[25,2,1,""],list:[25,2,1,""],update:[25,2,1,""]},"ngrok.services.IPWhitelistClient":{"delete":[26,2,1,""],create:[26,2,1,""],get:[26,2,1,""],list:[26,2,1,""],update:[26,2,1,""]},"ngrok.services.ReservedAddrsClient":{"delete":[27,2,1,""],create:[27,2,1,""],delete_endpoint_config:[27,2,1,""],get:[27,2,1,""],list:[27,2,1,""],update:[27,2,1,""]},"ngrok.services.ReservedDomainsClient":{"delete":[28,2,1,""],create:[28,2,1,""],delete_certificate:[28,2,1,""],delete_certificate_management_policy:[28,2,1,""],delete_http_endpoint_config:[28,2,1,""],delete_https_endpoint_config:[28,2,1,""],get:[28,2,1,""],list:[28,2,1,""],update:[28,2,1,""]},"ngrok.services.SSHCertificateAuthoritiesClient":{"delete":[29,2,1,""],create:[29,2,1,""],get:[29,2,1,""],list:[29,2,1,""],update:[29,2,1,""]},"ngrok.services.SSHCredentialsClient":{"delete":[30,2,1,""],create:[30,2,1,""],get:[30,2,1,""],list:[30,2,1,""],update:[30,2,1,""]},"ngrok.services.SSHHostCertificatesClient":{"delete":[31,2,1,""],create:[31,2,1,""],get:[31,2,1,""],list:[31,2,1,""],update:[31,2,1,""]},"ngrok.services.SSHUserCertificatesClient":{"delete":[32,2,1,""],create:[32,2,1,""],get:[32,2,1,""],list:[32,2,1,""],update:[32,2,1,""]},"ngrok.services.TLSCertificatesClient":{"delete":[33,2,1,""],create:[33,2,1,""],get:[33,2,1,""],list:[33,2,1,""],update:[33,2,1,""]},"ngrok.services.TunnelSessionsClient":{get:[34,2,1,""],list:[34,2,1,""],restart:[34,2,1,""],stop:[34,2,1,""],update:[34,2,1,""]},"ngrok.services.TunnelsClient":{list:[35,2,1,""]},ngrok:{Client:[3,1,1,""],Error:[19,3,1,""],NotFoundError:[19,3,1,""],datatypes:[5,0,0,"-"],services:[35,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:exception"},terms:{"100":[5,21],"128":5,"2048":29,"255":[1,2,4,5,8,20,21,23,24,25,26,29,30,31,32,33],"3339":[5,31,32],"404":19,"4096":[0,1,2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33],"509":5,"abstract":22,"break":34,"byte":[0,1,2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33],"catch":19,"class":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"default":[5,27,28,31,32],"export":5,"float":[5,21],"import":[3,22],"int":[5,19,29],"long":5,"new":[0,1,2,4,8,20,21,23,24,25,26,27,28,29,30,31,32,33,34],"null":[5,8,20,28],"public":[5,30,31,32],"return":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"throw":20,"true":[5,25],"try":[19,22],AWS:5,CAs:5,DNS:5,For:[4,5,30],IDs:[5,21],IPs:[5,23,24,26],One:5,SNS:5,TLS:[5,8,22,28],That:22,The:[1,4,5,19,20,21,22,30,31,32,34],Then:3,There:8,These:[5,32],__iter__:22,abil:[5,32],abl:5,about:[0,2,4,5,8,19,20,21,23,24,25,26,29,30,31,32,33],abus:[5,22],abuse_report:[0,3],abusereport:[0,5],abusereporthostnam:5,abusereportscli:[0,3],accept:[5,20],access:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],account:[0,1,2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],acl:[4,5,30],action:[4,5,19,22,23,30],add:5,addit:[5,19,22,32],addr:[5,27],address:[4,5,8,22,26,30,31,32],advertis:5,after:[5,22,34],against:[5,19],agent:[3,5,25,34],agent_vers:5,all:[1,2,3,4,5,8,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],allow:[4,5,19,22,23,30,34],allow_idp_initi:5,alreadi:[5,34],also:5,altern:5,alwai:5,amazon:5,amount:[5,34],ani:[5,8,19,22,23,32,34],anoth:23,anyth:[20,21],api:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],api_kei:[1,3],apikei:[1,5],apikeylist:[1,5],apikeyscli:[1,3],app:[5,28],appli:[5,8,20,21,23],applic:[5,22],arbitrari:[0,1,2,4,5,8,19,20,21,23,24,25,26,27,28,29,30,31,32,33],arn:5,arrai:5,ask:5,assert:5,assertion_consumer_service_url:5,assign:[5,19],associ:[20,21,23],assum:5,attach:[5,24,25,27,28],attribut:[1,2,4,20,21,23,24,25,26,27,28,30,33],audienc:5,auth:[5,12],auth_check_interv:5,authent:[1,4,5,30],author:[0,5,22,31,32],authorized_group:5,authorizinig:[5,32],authtoken:[3,4,5],automat:[5,22,28],avail:[0,4,5,21,34],awai:22,awar:34,aws_access_key_id:5,aws_secret_access_kei:5,awsauth:5,awscredenti:5,awsrol:5,ban:5,base:5,base_url:3,bearer:5,becaus:[5,19],becom:[5,31,32],been:[5,34],befor:[5,34],before_id:[1,2,4,8,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],behalf:5,being:5,belong:5,best:19,between:5,bind:[4,5,30],blob:[5,32],block:19,bool:[5,25],both:[5,24],breaker:[5,8,22],bucket:5,bundl:[5,33],ca_pem:[2,5],cach:5,call:[4,5,22,31,32,34],caller:[4,5,19,30,34],can:[1,3,4,5,8,22,30,32],captur:[5,21],caus:34,caveat:5,cert:5,certfic:[2,29,31,32],certif:[5,22,28],certificate_author:[2,3,5],certificate_authority_id:5,certificate_id:28,certificate_management_polici:[5,28],certificate_management_statu:5,certificate_pem:[5,33],certificateauthor:[2,5],certificateauthoritiescli:[2,3],certificateauthoritylist:[2,5],certifici:5,certkei:[5,32],chain:[5,33],check:[5,19,34],choos:5,chosen:5,cidr:[5,22,24,26],circuit:[5,8,22],circuit_break:[5,8],circumst:34,client:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],client_id:5,client_secret:5,cloudwatch:5,cloudwatch_log:[5,20],cname:5,cname_target:5,code:[5,19,22,34],collect:[5,21],com:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],command:[5,32,34],common:[4,5,19,30],commun:[5,26],compat:34,complet:[5,8,34],compress:[5,8,22],concaten:5,condit:[5,19],config:[20,21,27,28],config_metadata:5,configur:[3,5,22,23,27,28,34],connect:[5,28],consid:[5,31],construct:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],consult:[19,22],consum:5,contact:0,contain:[0,5,20,28],content:[0,5],cooki:5,cookie_prefix:5,cor:5,correct:5,could:[19,34],countri:5,cr_1kyyuneyn6xhhlqymblrj5nxkoz:22,creat:[0,1,2,3,4,5,8,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],created_at:5,creation:5,cred:[3,5,22],credenti:[3,5,22],credentiallist:[4,5],credentialscli:[3,4],critic:[5,32],critical_opt:[5,32],current:[5,20,25,31,32,34,35],curv:29,custom:5,danger:[5,31,32],dashboard:[5,22,25],data:[0,1,2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33],datacent:[5,27,28],datatyp:22,defin:[0,1,2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33],definit:5,delet:[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33],delete_certif:28,delete_certificate_management_polici:28,delete_endpoint_config:27,delete_http_endpoint_config:28,delete_https_endpoint_config:28,deliv:5,deliveri:5,delivery_stream_arn:5,deni:[5,19,23,32],deposit:5,describ:[3,5,8],descript:[1,2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33],destin:[5,21,22],destination_id:[5,21],detach:[27,28],detail:[0,1,2,4,5,8,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],determin:[5,21],direct:5,directli:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],disabl:[5,28,34],disallow:5,discoveri:5,disk:5,distinguish:19,dns:5,dns_error:5,dns_name:5,doc:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],document:19,doe:[5,28],domain:[4,5,8,22,30],done:34,download:5,dump:22,durat:5,dure:5,dynam:5,each:[5,8,21],easier:19,ecdsa:[5,29],ed25519:[5,29],edg:5,either:5,ellipt:29,elliptic_curv:29,els:19,email:5,email_address:5,email_domain:5,enabl:5,encapsul:[5,19,20],encod:[5,30,33],endpoint:[3,5,6,7,9,10,11,12,13,14,15,16,17,18,20,21,22,23,25,26,27,28,34],endpoint_circuit_breaker_modul:6,endpoint_compression_modul:7,endpoint_configur:[3,5,8],endpoint_configuration_id:27,endpoint_ip_policy_modul:9,endpoint_logging_modul:10,endpoint_mutual_tls_modul:11,endpoint_o_auth_modul:12,endpoint_oidc_modul:13,endpoint_request_headers_modul:14,endpoint_response_headers_modul:15,endpoint_saml_modul:16,endpoint_tls_termination_modul:17,endpoint_webhook_validation_modul:18,endpointcircuitbreak:[5,6,8],endpointcircuitbreakermodulecli:6,endpointcompress:[5,7,8],endpointcompressionmodulecli:7,endpointconfigur:[5,8],endpointconfigurationlist:[5,8],endpointconfigurationscli:[3,8],endpointippolici:[5,9],endpointippolicymodulecli:9,endpointippolicymut:[5,8,9],endpointlog:[5,10],endpointloggingmodulecli:10,endpointloggingmut:[5,8,10],endpointmutualtl:[5,11],endpointmutualtlsmodulecli:11,endpointmutualtlsmut:[5,8,11],endpointoauth:[5,8,12],endpointoauthfacebook:5,endpointoauthgithub:5,endpointoauthgoogl:5,endpointoauthmicrosoft:5,endpointoauthmodulecli:12,endpointoauthprovid:5,endpointoidc:[5,8,13],endpointoidcmodulecli:13,endpointrequesthead:[5,8,14],endpointrequestheadersmodulecli:14,endpointresponsehead:[5,8,15],endpointresponseheadersmodulecli:15,endpointsaml:[5,16],endpointsamlmodulecli:16,endpointsamlmut:[5,8,16],endpointtlstermin:[5,8,17],endpointtlsterminationmodulecli:17,endpointwebhookvalid:[5,8,18],endpointwebhookvalidationmodulecli:18,enforc:[5,25],ensur:19,entiti:5,entity_id:5,entitydescriptor:5,entri:[5,26],equival:[4,5,30],err_ngrok_1410:19,error:[5,20],error_cod:[5,19,22],error_threshold_percentag:5,etc:[4,5,30],evalu:5,even:5,event:[5,22],event_destin:[3,5,20],event_stream:[3,5,21],event_stream_id:5,event_typ:[5,21],eventdestin:[5,20],eventdestinationlist:[5,20],eventdestinationscli:[3,20],eventstream:[5,21],eventstreamlist:[5,21],eventstreamscli:[3,21],eventtarget:[5,20],eventtargetcloudwatchlog:5,eventtargetfirehos:5,eventtargetkinesi:5,exactli:[5,20],exampl:[4,5,28,30],exceed:5,except:[5,22],exclus:28,exec:34,exist:8,exit:34,explain:19,explicitli:[4,5,30],extend:5,extended_key_usag:5,extens:[5,32],facebook:5,fail:[5,8,19,22,34],fals:[5,25],featur:[3,8],fetch:22,field:[5,19,21],file:5,firehos:[5,20],first:[5,19,22,33],flow:5,follow:[5,20,32,34],forc:[5,32],force_authn:5,form:5,format:[5,20,31,32],forward:[5,32],four:[5,25],from:[5,21,22,30],full:[5,28],futur:[4,31],gatewai:[3,8,30],gener:[1,4,29],geograph:[5,27,28],get:[0,1,2,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34],giraff:22,github:[5,32],gitlab:5,given:5,googl:5,group:5,guarante:[5,19],handl:[27,28],handshak:5,happen:19,has:[5,20,23,34],have:[4,5,21,30],header:[5,8,22],health:5,help:5,helper:22,highli:5,holder:[5,32],host:[5,22,32],hostcertif:5,hostnam:[5,31],hour:32,how:[5,20],howev:8,http:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],http_endpoint_configur:5,http_endpoint_configuration_id:28,http_request_complet:[5,21],http_status_cod:[19,22],https_endpoint_configur:5,https_endpoint_configuration_id:28,human:[1,2,4,5,8,19,20,21,23,24,25,26,27,28,29,30,31,32,33],ident:5,identifi:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,34],idp:5,idp_metadata:5,ignor:5,implement:[5,22],inact:5,inactivity_timeout:5,inbound:[27,28],includ:[4,5,19,30,31,32],indic:[5,19],industri:5,inform:[2,4,8,20,21,22,23,24,25,26,29,30,31,32,33],initi:5,initiati:5,inject:5,instanc:[3,8],instead:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],instruct:34,integ:5,integr:34,intercom:5,internal_error:5,interpret:[5,32],introspect:19,invalid:[5,19,31,32],invok:[19,22],ip_net:[5,26],ip_polici:[3,5,8,19,22,23],ip_policy_id:[5,22,24,25],ip_policy_rul:[3,5,22,24],ip_restrict:[3,5,25],ip_whitelist:[3,26],ippolici:[5,23],ippoliciescli:[3,23],ippolicylist:[5,23],ippolicyrul:[5,24],ippolicyrulelist:[5,24],ippolicyrulescli:[3,24],iprestrict:[5,25],iprestrictionlist:[5,25],iprestrictionscli:[3,25],ips:5,ipv4:[5,24],ipv6:[5,24],ipwhitelistcli:[3,26],ipwhitelistentri:[5,26],ipwhitelistentrylist:[5,26],isn:5,issu:[5,25,31,32,34],issued_at:5,issuer:5,issuer_common_nam:5,its:5,itself:[22,34],job:5,json:[5,20,22],kei:[3,5,22,29,30,31,32,33],key_siz:29,key_typ:5,key_usag:5,keypair:[5,30],kind:19,kinesi:[5,20],latest:34,lead:[4,5,30],leaf:[5,33],least:[5,21,34],leav:[5,20],letsencrypt:5,level:5,librari:[3,22],like:[5,20,21,22,28],limit:[1,2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],link:[3,8,33],list:[0,1,2,3,4,5,8,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],local:5,locat:5,log:[5,8,22,32],log_group_arn:5,login:5,logout:5,longer:5,low:5,machin:[2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33],mai:[4,5,19,28,30,32],major:34,make:[5,19,34],manag:[5,28],managementan:[3,8],mani:5,manual:34,map:[5,32],master:[5,32],match:[4,5,30],max:[0,1,2,4,5,8,20,21,23,24,25,26,27,28,29,30,31,32,33],maximum:5,maximum_dur:5,member:5,messag:[5,19,22],metadata:[0,1,2,4,5,8,20,21,22,23,24,25,26,27,28,29,30,31,32,33],metadata_url:5,method:19,metric:5,microsoft:5,min_vers:5,minimum:5,modifi:8,modul:[5,8,22],more:[5,21,32],most:5,msg:5,multipl:[4,5,30],must:[4,5,20,34],mutual:[5,8,22,28],mutual_tl:[5,8],nake:19,name:[5,28],nameserv:5,necessari:[5,22],need:[4,5,22],network:[3,5,8,19,26],never:34,next:5,next_page_uri:5,ngrok:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],none:[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],not_aft:5,not_befor:5,notabl:34,notat:[5,24,26],notfounderror:19,ns_target:5,num_bucket:5,number:[5,32],oauth:[5,8,22],object:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],offici:22,oidc:[5,8,22],one:[5,8,20,21,22,29,31],onli:[0,4,5,20,25,30,32],onlin:[5,22,34,35],open:[4,5,30,32],openid:5,openssh:[5,31,32],oper:[5,8,19,34],operation_id:19,operationid:19,option:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],options_passthrough:5,org:5,organ:5,organiz:5,other:[5,19],otherwis:5,our:[0,19],out:5,output:[5,20],own:[1,5],packag:22,page:5,pair:5,paramet:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],pars:5,partially_process:5,pass:5,pem:[2,5,30,33],pend:5,percentag:[5,21],period:5,perman:5,permiss:[5,32],permit:[4,5,30,32],pip:22,place:5,platform:34,pleas:34,point:[5,19],pointcfg_modul:3,polici:[3,5,8,22,25,28],port:[5,32],portabl:[5,32],portion:5,predefin:[5,32],prefer:5,prefix:5,present:5,preserv:21,presnt:5,princip:[5,31,32],print:[3,22],privat:[5,29,33],private_key_pem:33,private_key_typ:[5,29],process:[5,34],prompt:5,prop:5,properti:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],proto:5,protocol:[5,21,32],provid:5,provinc:5,provis:5,provisioning_job:5,pty:[5,32],pub:5,public_kei:[5,30,31,32],public_url:5,pull:5,purpos:[5,23,32],python:22,qualifi:5,rais:19,rang:[5,21,24,26],raw:[2,5],readabl:[1,2,4,5,8,19,20,21,23,24,25,26,27,28,29,30,31,32,33],reauthent:5,recent:5,recheck:5,recommend:5,reconnect:34,record:5,redirect:5,ref:5,refer:[5,20],referenc:[5,8,20,23],refresh:5,region:[5,27,28],relat:5,relayst:5,reli:5,remain:23,remov:[5,20],renew:5,renews_at:5,replac:[6,7,8,9,10,11,12,13,14,15,16,17,18],report:[5,22],repres:[5,21],request:[0,5,8,19,22,34],request_head:[5,8],request_signing_certificate_pem:5,requir:[5,21],reserv:[5,8,22],reserved_addr:[3,5,27],reserved_domain:[3,5,28],reservedaddr:[5,27],reservedaddrlist:[5,27],reservedaddrscli:[3,27],reserveddomain:[5,28],reserveddomaincertjob:5,reserveddomaincertnstarget:5,reserveddomaincertpolici:[5,28],reserveddomaincertstatu:5,reserveddomainlist:[5,28],reserveddomainscli:[3,28],resourc:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],respons:[0,4,5,8,19,22],response_head:[5,8],resrtrict:5,rest:[5,20],restart:34,restrict:[4,5,22,23,26,30],retain:5,retri:[5,19],retries_at:5,retriev:5,review:0,revok:5,rfc:[5,31,32],robustli:19,role:5,role_arn:5,roll:5,rolling_window:5,root:3,rsa:[5,29],rule:[4,5,22,23,30],run:[5,34,35],runtimeerror:19,safe:5,same:5,saml:[5,8,22],sampling_r:[5,21],san:5,save:4,scope:5,second:[5,34],secret:5,section:22,secur:4,see:[5,32,33],send:[5,20],sent:5,separ:19,sequenc:[0,4,5,21,25,30,31,32],serial:[5,20],serial_numb:5,serv:[5,31],server:[5,19,32],server_nam:22,servic:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],session:[4,5,22],set:[5,25],shopifi:5,should:[5,21,34],sign:[5,31,32],simpl:19,singl:[5,22],single_logout_url:5,size:29,slack:5,slug:5,some:[19,22,34],someth:19,sourc:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],spec:[5,32],specif:[5,19,21,22],specifi:[4,5,8,24,30,31,32],ssh:[5,22],ssh_certificate_author:[3,5,29],ssh_certificate_authority_id:[5,31,32],ssh_credenti:[3,5,30],ssh_host_certif:[3,5,31],ssh_user_certif:[3,5,32],sshcertificateauthor:[5,29],sshcertificateauthoritiescli:[3,29],sshcertificateauthoritylist:[5,29],sshcredenti:[5,30],sshcredentiallist:[5,30],sshcredentialscli:[3,30],sshd_config:5,sshhostcertif:[5,31],sshhostcertificatelist:[5,31],sshhostcertificatescli:[3,31],sshusercertif:[5,32],sshusercertificatelist:[5,32],sshusercertificatescli:[3,32],start:[4,5,30,34],started_at:5,state:5,statist:5,statu:[0,5,19,22,34],status:5,still:[5,8,20,34],stop:34,str:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],stream:[5,20,22],stream_arn:5,string:[5,19],stripe:5,subclass:19,subdomain:[5,28],subject:5,subject_alternative_nam:5,subject_common_nam:5,subject_countri:5,subject_loc:5,subject_organ:5,subject_organizational_unit:5,subject_provinc:5,subnet:22,successfulli:34,suffix:[4,5,30],suppli:5,support:[5,21,23,24,25,34],suspect:[0,5],system:[0,5,19],take:[5,19],taken:5,target:[5,20,28],tcp:[5,8,27],tcp_connection_clos:[5,21],team:[0,5],temporari:5,term:5,termin:[5,8,22,32],terminate_at:5,thei:[5,8],them:5,thi:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],threshold:5,through:5,thrown:19,time:[4,5,30,31,32,34],timestamp:5,tls:[5,11,17,33],tls_certif:[3,5,33],tls_termin:[5,8],tlscertif:[5,33],tlscertificatelist:[5,33],tlscertificatesan:5,tlscertificatescli:[3,33],togeth:5,token:[4,5,30],top:5,trace:19,traffic:[5,8,22,23,25,26,27,28,31],transport:5,treat:23,trip:5,tripped_dur:5,tunabl:5,tune:5,tunnel:[3,5,22,26,30],tunnel_sess:[3,5,34],tunnellist:[5,35],tunnelscli:[3,35],tunnelsess:[5,34],tunnelsessionlist:[5,34],tunnelsessionscli:[3,34],twilio:5,two:[5,32],type:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35],unban:5,undefin:19,underli:5,understand:[5,32],unexpect:19,uniqu:[5,8,19,20,21],unit:5,unspecifi:[4,5,30,31,32],until:[20,21,23],updat:[1,2,4,5,8,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],upload:[2,5,28,30,33],upstream:5,uri:5,url:[0,5],use:[4,5,8,19,28,29,30],used:[1,4,5,21,25,27,28,30,31,32],user:[0,1,2,4,5,8,20,21,22,23,24,25,26,27,28,29,30,31,33],usernam:[5,32],uses:[1,5],using:[5,34],valid:[5,8,19,21,22,31,32],valid_aft:[5,31,32],valid_befor:[5,31,32],valid_until:[5,31,32],valu:[5,8,20,21,23,25,31,32],verif:5,version:[5,34],via:[8,23,30],visit:5,volum:5,volume_threshold:5,wai:8,wait:[5,34],want:[5,21],warn:[5,25],webhook:[5,8,22],webhook_valid:[5,8],well:[5,22],what:[1,4,5,8,25,27,28,30],when:[5,8,19,20,22,29,31,32,34],whenev:5,where:[5,20],whether:5,which:[0,4,5,21,22,30,34],whitelist:[5,22],who:[4,5,30],why:[5,19],wildcard:[4,5,30],window:[5,34],wish:34,without:22,work:22,would:[4,5,20,21,30],x11:[5,32],xml:5,year:31,yet:34,you:[3,4,5,19,20,21,22,23,30,34],your:[3,4,5,8,20,22,26,30,34],yourself:4,zero:23,zone:5},titles:["Abuse Reports","API Keys","Certificate Authorities","Client","Tunnel Credentials","Datatypes","Circuit Breaker Module","Compression Module","Endpoint Configurations","IP Policy Module","Logging Module","Mutual TLS Module","OAuth Module","OIDC Module","Request Headers Module","Response Headers Module","SAML Module","TLS Termination Module","Webhook Validation Module","Errors","Event Destinations","Event Streams","ngrok-api","IP Policies","IP Policy Rules","IP Restrictions","IP Whitelist","Reserved Addresses","Reserved Domains","SSH Certificate Authorities","SSH Credentials","SSH Host Certificates","SSH User Certificates","TLS Certificates","Tunnel Sessions","Tunnels"],titleterms:{"class":19,TLS:[11,17,33],abus:0,address:27,api:[1,22],author:[2,29],breaker:6,certif:[2,29,31,32,33],circuit:6,client:3,compress:7,configur:8,credenti:[4,30],datatyp:5,destin:20,domain:28,endpoint:8,error:[19,22],event:[20,21],exampl:22,except:19,get:22,handl:[19,22],header:[14,15],host:31,instal:22,instanc:22,kei:1,log:10,method:22,modul:[6,7,9,10,11,12,13,14,15,16,17,18],mutual:11,ngrok:22,oauth:12,oidc:13,page:22,polici:[9,23,24],quickstart:22,refer:22,report:0,request:14,reserv:[27,28],respons:15,restrict:25,rule:24,saml:16,servic:22,session:34,ssh:[29,30,31,32],start:22,stream:21,termin:17,transpar:22,tunnel:[4,34,35],user:32,valid:18,webhook:18,whitelist:26}}) \ No newline at end of file diff --git a/docs/ssh_certificate_authorities.html b/docs/ssh_certificate_authorities.html index c12eb5f..23d98c3 100644 --- a/docs/ssh_certificate_authorities.html +++ b/docs/ssh_certificate_authorities.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -182,8 +182,11 @@
  • key_size (int) – the key size to use when creating an RSA key. one of 2048 or 4096

  • -
    Return type
    -

    SSHCertificateAuthority

    + +

    https://ngrok.com/docs/api#api-ssh-certificate-authorities-create

    +
    +
    Return type
    +

    SSHCertificateAuthority

    @@ -196,6 +199,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-ssh-certificate-authorities-delete

    @@ -205,8 +209,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    SSHCertificateAuthority

    +
    +

    https://ngrok.com/docs/api#api-ssh-certificate-authorities-get

    +
    +
    Return type
    +

    SSHCertificateAuthority

    @@ -221,8 +228,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    SSHCertificateAuthorityList

    + +

    https://ngrok.com/docs/api#api-ssh-certificate-authorities-list

    +
    +
    Return type
    +

    SSHCertificateAuthorityList

    @@ -238,8 +248,11 @@
  • metadata (Optional[str]) – arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes.

  • -
    Return type
    -

    SSHCertificateAuthority

    + +

    https://ngrok.com/docs/api#api-ssh-certificate-authorities-update

    +
    +
    Return type
    +

    SSHCertificateAuthority

    diff --git a/docs/ssh_credentials.html b/docs/ssh_credentials.html index b1d7567..e455345 100644 --- a/docs/ssh_credentials.html +++ b/docs/ssh_credentials.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -181,8 +181,11 @@
  • public_key (str) – the PEM-encoded public key of the SSH keypair that will be used to authenticate

  • -
    Return type
    -

    SSHCredential

    + +

    https://ngrok.com/docs/api#api-ssh-credentials-create

    +
    +
    Return type
    +

    SSHCredential

    @@ -195,6 +198,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-ssh-credentials-delete

    @@ -204,8 +208,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    SSHCredential

    +
    +

    https://ngrok.com/docs/api#api-ssh-credentials-get

    +
    +
    Return type
    +

    SSHCredential

    @@ -220,8 +227,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    SSHCredentialList

    + +

    https://ngrok.com/docs/api#api-ssh-credentials-list

    +
    +
    Return type
    +

    SSHCredentialList

    @@ -238,8 +248,11 @@
  • acl (Optional[Sequence[str]]) – 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.

  • -
    Return type
    -

    SSHCredential

    + +

    https://ngrok.com/docs/api#api-ssh-credentials-update

    +
    +
    Return type
    +

    SSHCredential

    diff --git a/docs/ssh_host_certificates.html b/docs/ssh_host_certificates.html index 54541e5..1e84fe6 100644 --- a/docs/ssh_host_certificates.html +++ b/docs/ssh_host_certificates.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -184,8 +184,11 @@
  • metadata (str) – arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.

  • -
    Return type
    -

    SSHHostCertificate

    + +

    https://ngrok.com/docs/api#api-ssh-host-certificates-create

    +
    +
    Return type
    +

    SSHHostCertificate

    @@ -198,6 +201,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-ssh-host-certificates-delete

    @@ -207,8 +211,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    SSHHostCertificate

    +
    +

    https://ngrok.com/docs/api#api-ssh-host-certificates-get

    +
    +
    Return type
    +

    SSHHostCertificate

    @@ -223,8 +230,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    SSHHostCertificateList

    + +

    https://ngrok.com/docs/api#api-ssh-host-certificates-list

    +
    +
    Return type
    +

    SSHHostCertificateList

    @@ -240,8 +250,11 @@
  • metadata (Optional[str]) – arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.

  • -
    Return type
    -

    SSHHostCertificate

    + +

    https://ngrok.com/docs/api#api-ssh-host-certificates-update

    +
    +
    Return type
    +

    SSHHostCertificate

    diff --git a/docs/ssh_user_certificates.html b/docs/ssh_user_certificates.html index 1dd7f45..4169e9b 100644 --- a/docs/ssh_user_certificates.html +++ b/docs/ssh_user_certificates.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -186,8 +186,11 @@
  • metadata (str) – arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes.

  • -
    Return type
    -

    SSHUserCertificate

    + +

    https://ngrok.com/docs/api#api-ssh-user-certificates-create

    +
    +
    Return type
    +

    SSHUserCertificate

    @@ -200,6 +203,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-ssh-user-certificates-delete

    @@ -209,8 +213,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    SSHUserCertificate

    +
    +

    https://ngrok.com/docs/api#api-ssh-user-certificates-get

    +
    +
    Return type
    +

    SSHUserCertificate

    @@ -225,8 +232,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    SSHUserCertificateList

    + +

    https://ngrok.com/docs/api#api-ssh-user-certificates-list

    +
    +
    Return type
    +

    SSHUserCertificateList

    @@ -242,8 +252,11 @@
  • metadata (Optional[str]) – arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes.

  • -
    Return type
    -

    SSHUserCertificate

    + +

    https://ngrok.com/docs/api#api-ssh-user-certificates-update

    +
    +
    Return type
    +

    SSHUserCertificate

    diff --git a/docs/tls_certificates.html b/docs/tls_certificates.html index 5491d87..11a1571 100644 --- a/docs/tls_certificates.html +++ b/docs/tls_certificates.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -181,8 +181,11 @@
  • private_key_pem (str) – private key for the TLS certificate, PEM-encoded. See Private Keys <https://ngrok.com/docs/ngrok-link#tls-certificates-key>`_.

  • -
    Return type
    -

    TLSCertificate

    + +

    https://ngrok.com/docs/api#api-tls-certificates-create

    +
    +
    Return type
    +

    TLSCertificate

    @@ -195,6 +198,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-tls-certificates-delete

    @@ -204,8 +208,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    TLSCertificate

    +
    +

    https://ngrok.com/docs/api#api-tls-certificates-get

    +
    +
    Return type
    +

    TLSCertificate

    @@ -220,8 +227,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    TLSCertificateList

    + +

    https://ngrok.com/docs/api#api-tls-certificates-list

    +
    +
    Return type
    +

    TLSCertificateList

    @@ -237,8 +247,11 @@
  • metadata (Optional[str]) – arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.

  • -
    Return type
    -

    TLSCertificate

    + +

    https://ngrok.com/docs/api#api-tls-certificates-update

    +
    +
    Return type
    +

    TLSCertificate

    diff --git a/docs/tunnel_sessions.html b/docs/tunnel_sessions.html index 7091493..c6da0a4 100644 --- a/docs/tunnel_sessions.html +++ b/docs/tunnel_sessions.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -176,8 +176,11 @@
    Parameters

    id (str) – a resource identifier

    -
    Return type
    -

    TunnelSession

    + +

    https://ngrok.com/docs/api#api-tunnel-sessions-get

    +
    +
    Return type
    +

    TunnelSession

    @@ -192,8 +195,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    TunnelSessionList

    + +

    https://ngrok.com/docs/api#api-tunnel-sessions-list

    +
    +
    Return type
    +

    TunnelSessionList

    @@ -206,6 +212,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-tunnel-sessions-restart

    @@ -216,6 +223,7 @@

    id (str) – a resource identifier

    +

    https://ngrok.com/docs/api#api-tunnel-sessions-stop

    @@ -226,6 +234,7 @@

    id (str) –

    +

    https://ngrok.com/docs/api#api-tunnel-sessions-update

    diff --git a/docs/tunnels.html b/docs/tunnels.html index 22ebd99..8252a3b 100644 --- a/docs/tunnels.html +++ b/docs/tunnels.html @@ -110,7 +110,7 @@

    API

    Services

    @@ -179,8 +179,11 @@
  • limit (Optional[str]) –

  • -
    Return type
    -

    TunnelList

    + +

    https://ngrok.com/docs/api#api-tunnels-list

    +
    +
    Return type
    +

    TunnelList

    diff --git a/ngrok/client.py b/ngrok/client.py index 7ade4a1..b80cdea 100644 --- a/ngrok/client.py +++ b/ngrok/client.py @@ -5,9 +5,8 @@ from .services import * class Client(object): - def __init__(self, api_key: str = "", base_url: str = "https://api.ngrok.com"): - self.api_key = api_key or os.getenv("NGROK_API_KEY") - self.api_client = APIClient(api_key, base_url) + def __init__(self, api_key: str, base_url: str = "https://api.ngrok.com"): + self.http_client = HTTPClient(api_key, base_url) @property def abuse_reports(self) -> AbuseReportsClient: diff --git a/ngrok/objects.py b/ngrok/datatypes.py similarity index 86% rename from ngrok/objects.py rename to ngrok/datatypes.py index 6f6fed4..f536025 100644 --- a/ngrok/objects.py +++ b/ngrok/datatypes.py @@ -11,8 +11,11 @@ class Ref(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def id(self) -> str: @@ -36,8 +39,11 @@ class AbuseReport(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def id(self) -> str: @@ -83,8 +89,11 @@ class AbuseReportHostname(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def hostname(self) -> str: @@ -105,8 +114,11 @@ class APIKey(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -166,8 +178,11 @@ class APIKeyList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "keys") @@ -196,8 +211,11 @@ class CertificateAuthority(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -284,8 +302,11 @@ class CertificateAuthorityList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "certificate_authorities") @@ -314,8 +335,11 @@ class Credential(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -384,8 +408,11 @@ class CredentialList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "credentials") @@ -417,8 +444,11 @@ class EventStreamList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "event_streams") @@ -447,8 +477,11 @@ class EventStream(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -529,8 +562,11 @@ class EventDestination(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -586,8 +622,11 @@ class EventDestinationList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "event_destinations") @@ -621,8 +660,11 @@ class EventTarget(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def firehose(self) -> EventTargetFirehose: @@ -649,8 +691,11 @@ class EventTargetFirehose(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def auth(self) -> AWSAuth: @@ -672,8 +717,11 @@ class EventTargetKinesis(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def auth(self) -> AWSAuth: @@ -695,8 +743,13 @@ class EventTargetCloudwatchLogs(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format( + self.id, repr(self._props) + ) + else: + return "".format(repr(self._props)) @property def auth(self) -> AWSAuth: @@ -719,8 +772,11 @@ class AWSAuth(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def role(self) -> AWSRole: @@ -741,8 +797,11 @@ class AWSRole(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def role_arn(self) -> str: @@ -758,8 +817,11 @@ class AWSCredentials(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def aws_access_key_id(self) -> str: @@ -780,8 +842,11 @@ class IPPolicy(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -841,8 +906,11 @@ class IPPolicyList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ip_policies") @@ -872,8 +940,11 @@ class IPPolicyRule(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -942,8 +1013,11 @@ class IPPolicyRuleList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ip_policy_rules") @@ -973,8 +1047,11 @@ class IPRestriction(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -1035,8 +1112,11 @@ class IPRestrictionList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ip_restrictions") @@ -1065,8 +1145,11 @@ class IPWhitelistEntry(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -1128,8 +1211,11 @@ class IPWhitelistEntryList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "whitelist") @@ -1180,8 +1266,11 @@ class EndpointConfiguration(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -1327,8 +1416,13 @@ class EndpointConfigurationList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format( + self.id, repr(self._props) + ) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "endpoint_configurations") @@ -1357,8 +1451,13 @@ class EndpointWebhookValidation(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format( + self.id, repr(self._props) + ) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1384,8 +1483,11 @@ class EndpointCompression(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1404,8 +1506,11 @@ class EndpointMutualTLS(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1426,8 +1531,11 @@ class EndpointMutualTLSMutate(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1448,8 +1556,11 @@ class EndpointTLSTermination(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1476,8 +1587,11 @@ class EndpointLogging(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1498,8 +1612,11 @@ class EndpointLoggingMutate(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1520,8 +1637,11 @@ class EndpointRequestHeaders(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1547,8 +1667,11 @@ class EndpointResponseHeaders(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1575,8 +1698,11 @@ class EndpointIPPolicy(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1596,8 +1722,11 @@ class EndpointIPPolicyMutate(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1618,8 +1747,11 @@ class EndpointCircuitBreaker(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1661,8 +1793,11 @@ class EndpointOAuth(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1712,8 +1847,11 @@ class EndpointOAuthProvider(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def github(self) -> EndpointOAuthGitHub: @@ -1744,8 +1882,11 @@ class EndpointOAuthGitHub(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def client_id(self) -> str: @@ -1791,8 +1932,11 @@ class EndpointOAuthFacebook(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def client_id(self) -> str: @@ -1828,8 +1972,11 @@ class EndpointOAuthMicrosoft(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def client_id(self) -> str: @@ -1865,8 +2012,11 @@ class EndpointOAuthGoogle(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def client_id(self) -> str: @@ -1902,8 +2052,11 @@ class EndpointSAML(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -1984,8 +2137,11 @@ class EndpointSAMLMutate(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -2041,8 +2197,11 @@ class EndpointOIDC(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def enabled(self) -> bool: @@ -2101,8 +2260,11 @@ class ReservedAddr(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -2163,8 +2325,11 @@ class ReservedAddrList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "reserved_addrs") @@ -2206,8 +2371,11 @@ class ReservedDomain(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -2293,8 +2461,11 @@ class ReservedDomainList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "reserved_domains") @@ -2323,8 +2494,11 @@ class ReservedDomainCertPolicy(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def authority(self) -> str: @@ -2348,8 +2522,11 @@ class ReservedDomainCertStatus(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def renews_at(self) -> str: @@ -2370,8 +2547,13 @@ class ReservedDomainCertNSTarget(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format( + self.id, repr(self._props) + ) + else: + return "".format(repr(self._props)) @property def zone(self) -> str: @@ -2395,8 +2577,11 @@ class ReservedDomainCertJob(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def error_code(self) -> str: @@ -2432,8 +2617,11 @@ class SSHCertificateAuthority(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -2501,8 +2689,13 @@ class SSHCertificateAuthorityList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format( + self.id, repr(self._props) + ) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ssh_certificate_authorities") @@ -2531,8 +2724,11 @@ class SSHCredential(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -2601,8 +2797,11 @@ class SSHCredentialList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ssh_credentials") @@ -2631,8 +2830,11 @@ class SSHHostCertificate(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -2724,8 +2926,11 @@ class SSHHostCertificateList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ssh_host_certificates") @@ -2754,8 +2959,11 @@ class SSHUserCertificate(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -2857,8 +3065,11 @@ class SSHUserCertificateList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "ssh_user_certificates") @@ -2890,8 +3101,11 @@ class TLSCertificate(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def delete( self, @@ -3028,8 +3242,11 @@ class TLSCertificateList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "tls_certificates") @@ -3058,8 +3275,11 @@ class TLSCertificateSANs(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def dns_names(self) -> Sequence[str]: @@ -3081,8 +3301,11 @@ class TunnelSession(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def agent_version(self) -> str: @@ -3146,8 +3369,11 @@ class TunnelSessionList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "tunnel_sessions") @@ -3177,8 +3403,11 @@ class Tunnel(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) @property def id(self) -> str: @@ -3225,8 +3454,11 @@ class TunnelList(object): def __eq__(self, other): return self._props == other._props - def __repr__(self): - return "".format(self.id) + def __str__(self): + if "id" in self._props: + return "".format(self.id, repr(self._props)) + else: + return "".format(repr(self._props)) def __iter__(self): return PagedIterator(self._client, self, "tunnels") diff --git a/ngrok/error.py b/ngrok/error.py index df4d7fb..5f83054 100644 --- a/ngrok/error.py +++ b/ngrok/error.py @@ -25,6 +25,14 @@ class Error(Exception): self.http_status_code = http_status_code self.details = details + @property + def operation_id(self): + """ + OperationID returns the unique trace ID assigned by ngrok to this API + request. + """ + return self.details.get("operation_id") + class NotFoundError(Error): """Raised if the http_status_code of an API operation is 404. diff --git a/ngrok/api_client.py b/ngrok/http_client.py similarity index 93% rename from ngrok/api_client.py rename to ngrok/http_client.py index c7a1b42..956f4e7 100644 --- a/ngrok/api_client.py +++ b/ngrok/http_client.py @@ -7,7 +7,12 @@ import requests from .error import Error, NotFoundError -class APIClient(object): +class HTTPClient(object): + """low-level api client for communicating with ngrok's http api. + do not use this object directly, it is intended for internal use only and no + guarantees are made about the stability of its APIs + """ + def __init__(self, api_key: str, base_url: str): self.api_key = api_key self.base_url = base_url diff --git a/ngrok/iterator.py b/ngrok/iterator.py index 3b6954c..e80ecfa 100644 --- a/ngrok/iterator.py +++ b/ngrok/iterator.py @@ -14,7 +14,7 @@ class PagedIterator(object): if self.page.next_page_uri is None: raise StopIteration else: - props = self.client.api_client.request("get", self.page.next_page_uri) + props = self.client.http_client.request("get", self.page.next_page_uri) self.n = 0 self.page = self.page.__class__(self.client, props) return self.__next__() diff --git a/ngrok/services.py b/ngrok/services.py index 8005141..c9ef235 100644 --- a/ngrok/services.py +++ b/ngrok/services.py @@ -2,8 +2,8 @@ from __future__ import annotations from collections.abc import Iterator from typing import Any, Mapping, Sequence -from .api_client import APIClient -from .objects import * +from .http_client import HTTPClient +from .datatypes import * class AbuseReportsClient(object): @@ -19,9 +19,11 @@ class AbuseReportsClient(object): :param urls: a list of URLs containing suspected abusive content :param metadata: arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-abuse-reports-create """ path = "/abuse_reports" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( urls=urls, @@ -37,12 +39,14 @@ class AbuseReportsClient(object): """Get the detailed status of abuse report by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-abuse-reports-get """ path = "/abuse_reports/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return AbuseReport(self._client, result) @@ -59,9 +63,11 @@ class APIKeysClient(object): :param description: human-readable description of what uses the API key to authenticate. optional, max 255 bytes. :param metadata: arbitrary user-defined data of this API key. optional, max 4096 bytes + + https://ngrok.com/docs/api#api-api-keys-create """ path = "/api_keys" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -77,12 +83,14 @@ class APIKeysClient(object): """Delete an API key by ID :param id: a resource identifier + + https://ngrok.com/docs/api#api-api-keys-delete """ path = "/api_keys/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -91,12 +99,14 @@ class APIKeysClient(object): """Get the details of an API key by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-api-keys-get """ path = "/api_keys/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return APIKey(self._client, result) def list( @@ -108,9 +118,11 @@ class APIKeysClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-api-keys-list """ path = "/api_keys" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -130,12 +142,14 @@ class APIKeysClient(object): :param id: :param description: human-readable description of what uses the API key to authenticate. optional, max 255 bytes. :param metadata: arbitrary user-defined data of this API key. optional, max 4096 bytes + + https://ngrok.com/docs/api#api-api-keys-update """ path = "/api_keys/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -160,9 +174,11 @@ class CertificateAuthoritiesClient(object): :param description: human-readable description of this Certificate Authority. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. :param ca_pem: raw PEM of the Certificate Authority + + https://ngrok.com/docs/api#api-certificate-authorities-create """ path = "/certificate_authorities" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -179,12 +195,14 @@ class CertificateAuthoritiesClient(object): """Delete a Certificate Authority :param id: a resource identifier + + https://ngrok.com/docs/api#api-certificate-authorities-delete """ path = "/certificate_authorities/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -193,12 +211,14 @@ class CertificateAuthoritiesClient(object): """Get detailed information about a certficate authority :param id: a resource identifier + + https://ngrok.com/docs/api#api-certificate-authorities-get """ path = "/certificate_authorities/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return CertificateAuthority(self._client, result) def list( @@ -210,9 +230,11 @@ class CertificateAuthoritiesClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-certificate-authorities-list """ path = "/certificate_authorities" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -232,12 +254,14 @@ class CertificateAuthoritiesClient(object): :param id: :param description: human-readable description of this Certificate Authority. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-certificate-authorities-update """ path = "/certificate_authorities/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -262,9 +286,11 @@ class CredentialsClient(object): :param description: human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. :param acl: 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. + + https://ngrok.com/docs/api#api-credentials-create """ path = "/credentials" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -281,12 +307,14 @@ class CredentialsClient(object): """Delete a tunnel authtoken credential by ID :param id: a resource identifier + + https://ngrok.com/docs/api#api-credentials-delete """ path = "/credentials/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -295,12 +323,14 @@ class CredentialsClient(object): """Get detailed information about a tunnel authtoken credential :param id: a resource identifier + + https://ngrok.com/docs/api#api-credentials-get """ path = "/credentials/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return Credential(self._client, result) def list( @@ -312,9 +342,11 @@ class CredentialsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-credentials-list """ path = "/credentials" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -336,12 +368,14 @@ class CredentialsClient(object): :param description: human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. :param acl: 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. + + https://ngrok.com/docs/api#api-credentials-update """ path = "/credentials/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -373,9 +407,11 @@ class EventStreamsClient(object): :param event_type: The protocol that determines which events will be collected. Supported values are ``tcp_connection_closed`` and ``http_request_complete``. :param destination_ids: A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. :param sampling_rate: The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. + + https://ngrok.com/docs/api#api-event-streams-create """ path = "/event_streams" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( metadata=metadata, @@ -395,12 +431,14 @@ class EventStreamsClient(object): """Delete an Event Stream. Associated Event Destinations will be preserved. :param id: a resource identifier + + https://ngrok.com/docs/api#api-event-streams-delete """ path = "/event_streams/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -409,12 +447,14 @@ class EventStreamsClient(object): """Get detailed information about an Event Stream by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-event-streams-get """ path = "/event_streams/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EventStream(self._client, result) def list( @@ -426,9 +466,11 @@ class EventStreamsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-event-streams-list """ path = "/event_streams" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -454,12 +496,14 @@ class EventStreamsClient(object): :param fields: A list of protocol-specific fields you want to collect on each event. :param destination_ids: A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. :param sampling_rate: The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. + + https://ngrok.com/docs/api#api-event-streams-update """ path = "/event_streams/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( metadata=metadata, @@ -489,9 +533,11 @@ class EventDestinationsClient(object): :param description: Human-readable description of the Event Destination. Optional, max 255 bytes. :param format: The output format you would like to serialize events into when sending to their target. Currently the only accepted value is ``JSON``. :param target: 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``. + + https://ngrok.com/docs/api#api-event-destinations-create """ path = "/event_destinations" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( metadata=metadata, @@ -509,12 +555,14 @@ class EventDestinationsClient(object): """Delete an Event Destination. If the Event Destination is still referenced by an Event Stream, this will throw an error until that Event Stream has removed that reference. :param id: a resource identifier + + https://ngrok.com/docs/api#api-event-destinations-delete """ path = "/event_destinations/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -523,12 +571,14 @@ class EventDestinationsClient(object): """Get detailed information about an Event Destination by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-event-destinations-get """ path = "/event_destinations/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EventDestination(self._client, result) def list( @@ -540,9 +590,11 @@ class EventDestinationsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-event-destinations-list """ path = "/event_destinations" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -566,12 +618,14 @@ class EventDestinationsClient(object): :param description: Human-readable description of the Event Destination. Optional, max 255 bytes. :param format: The output format you would like to serialize events into when sending to their target. Currently the only accepted value is ``JSON``. :param target: 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``. + + https://ngrok.com/docs/api#api-event-destinations-update """ path = "/event_destinations/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( metadata=metadata, @@ -598,9 +652,11 @@ class IPPoliciesClient(object): :param description: human-readable description of the source IPs of this IP policy. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. :param action: the IP policy action. Supported values are ``allow`` or ``deny`` + + https://ngrok.com/docs/api#api-ip-policies-create """ path = "/ip_policies" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -617,12 +673,14 @@ class IPPoliciesClient(object): """Delete an IP policy. If the IP policy is referenced by another object for the purposes of traffic restriction it will be treated as if the IP policy remains but has zero rules. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-policies-delete """ path = "/ip_policies/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -631,12 +689,14 @@ class IPPoliciesClient(object): """Get detailed information about an IP policy by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-policies-get """ path = "/ip_policies/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return IPPolicy(self._client, result) def list( @@ -648,9 +708,11 @@ class IPPoliciesClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ip-policies-list """ path = "/ip_policies" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -670,12 +732,14 @@ class IPPoliciesClient(object): :param id: :param description: human-readable description of the source IPs of this IP policy. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ip-policies-update """ path = "/ip_policies/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -702,9 +766,11 @@ class IPPolicyRulesClient(object): :param metadata: arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. :param cidr: an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. :param ip_policy_id: ID of the IP policy this IP policy rule will be attached to + + https://ngrok.com/docs/api#api-ip-policy-rules-create """ path = "/ip_policy_rules" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -722,12 +788,14 @@ class IPPolicyRulesClient(object): """Delete an IP policy rule. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-policy-rules-delete """ path = "/ip_policy_rules/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -736,12 +804,14 @@ class IPPolicyRulesClient(object): """Get detailed information about an IP policy rule by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-policy-rules-get """ path = "/ip_policy_rules/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return IPPolicyRule(self._client, result) def list( @@ -753,9 +823,11 @@ class IPPolicyRulesClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ip-policy-rules-list """ path = "/ip_policy_rules" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -777,12 +849,14 @@ class IPPolicyRulesClient(object): :param description: human-readable description of the source IPs of this IP rule. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. :param cidr: an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. + + https://ngrok.com/docs/api#api-ip-policy-rules-update """ path = "/ip_policy_rules/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -812,9 +886,11 @@ class IPRestrictionsClient(object): :param enforced: true if the IP restriction will be enforce. if false, only warnings will be issued :param type: 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`` :param ip_policy_ids: the set of IP policy identifiers that are used to enforce the restriction + + https://ngrok.com/docs/api#api-ip-restrictions-create """ path = "/ip_restrictions" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -833,12 +909,14 @@ class IPRestrictionsClient(object): """Delete an IP restriction :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-restrictions-delete """ path = "/ip_restrictions/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -847,12 +925,14 @@ class IPRestrictionsClient(object): """Get detailed information about an IP restriction :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-restrictions-get """ path = "/ip_restrictions/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return IPRestriction(self._client, result) def list( @@ -864,9 +944,11 @@ class IPRestrictionsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ip-restrictions-list """ path = "/ip_restrictions" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -890,12 +972,14 @@ class IPRestrictionsClient(object): :param metadata: arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. :param enforced: true if the IP restriction will be enforce. if false, only warnings will be issued :param ip_policy_ids: the set of IP policy identifiers that are used to enforce the restriction + + https://ngrok.com/docs/api#api-ip-restrictions-update """ path = "/ip_restrictions/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -922,9 +1006,11 @@ class IPWhitelistClient(object): :param description: human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. :param ip_net: an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints + + https://ngrok.com/docs/api#api-ip-whitelist-create """ path = "/ip_whitelist" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -941,12 +1027,14 @@ class IPWhitelistClient(object): """Delete an IP whitelist entry. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-whitelist-delete """ path = "/ip_whitelist/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -955,12 +1043,14 @@ class IPWhitelistClient(object): """Get detailed information about an IP whitelist entry by ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-ip-whitelist-get """ path = "/ip_whitelist/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return IPWhitelistEntry(self._client, result) def list( @@ -972,9 +1062,11 @@ class IPWhitelistClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ip-whitelist-list """ path = "/ip_whitelist" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -994,12 +1086,14 @@ class IPWhitelistClient(object): :param id: :param description: human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ip-whitelist-update """ path = "/ip_whitelist/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -1051,9 +1145,11 @@ class EndpointConfigurationsClient(object): :param logging: logging module configuration or ``null`` :param saml: saml module configuration or ``null`` :param oidc: oidc module configuration or ``null`` + + https://ngrok.com/docs/api#api-endpoint-configurations-create """ path = "/endpoint_configurations" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( type=type, @@ -1082,12 +1178,14 @@ class EndpointConfigurationsClient(object): """Delete an endpoint configuration. This operation will fail if the endpoint configuration is still referenced by any reserved domain or reserved address. :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-configurations-delete """ path = "/endpoint_configurations/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -1096,12 +1194,14 @@ class EndpointConfigurationsClient(object): """Returns detailed information about an endpoint configuration :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-configurations-get """ path = "/endpoint_configurations/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointConfiguration(self._client, result) def list( @@ -1113,9 +1213,11 @@ class EndpointConfigurationsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-endpoint-configurations-list """ path = "/endpoint_configurations" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -1159,12 +1261,14 @@ class EndpointConfigurationsClient(object): :param logging: logging module configuration or ``null`` :param saml: saml module configuration or ``null`` :param oidc: oidc module configuration or ``null`` + + https://ngrok.com/docs/api#api-endpoint-configurations-update """ path = "/endpoint_configurations/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -1199,12 +1303,14 @@ class EndpointLoggingModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-logging-module-replace """ path = "/endpoint_configurations/{id}/logging" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1219,12 +1325,14 @@ class EndpointLoggingModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-logging-module-get """ path = "/endpoint_configurations/{id}/logging" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointLogging(self._client, result) def delete( @@ -1234,12 +1342,14 @@ class EndpointLoggingModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-logging-module-delete """ path = "/endpoint_configurations/{id}/logging" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointCircuitBreakerModuleClient(object): @@ -1255,12 +1365,14 @@ class EndpointCircuitBreakerModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-replace """ path = "/endpoint_configurations/{id}/circuit_breaker" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1275,12 +1387,14 @@ class EndpointCircuitBreakerModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-get """ path = "/endpoint_configurations/{id}/circuit_breaker" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointCircuitBreaker(self._client, result) def delete( @@ -1290,12 +1404,14 @@ class EndpointCircuitBreakerModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-circuit-breaker-module-delete """ path = "/endpoint_configurations/{id}/circuit_breaker" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointCompressionModuleClient(object): @@ -1311,12 +1427,14 @@ class EndpointCompressionModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-compression-module-replace """ path = "/endpoint_configurations/{id}/compression" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1331,12 +1449,14 @@ class EndpointCompressionModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-compression-module-get """ path = "/endpoint_configurations/{id}/compression" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointCompression(self._client, result) def delete( @@ -1346,12 +1466,14 @@ class EndpointCompressionModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-compression-module-delete """ path = "/endpoint_configurations/{id}/compression" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointTLSTerminationModuleClient(object): @@ -1367,12 +1489,14 @@ class EndpointTLSTerminationModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-tls-termination-module-replace """ path = "/endpoint_configurations/{id}/tls_termination" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1387,12 +1511,14 @@ class EndpointTLSTerminationModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-tls-termination-module-get """ path = "/endpoint_configurations/{id}/tls_termination" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointTLSTermination(self._client, result) def delete( @@ -1402,12 +1528,14 @@ class EndpointTLSTerminationModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-tls-termination-module-delete """ path = "/endpoint_configurations/{id}/tls_termination" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointIPPolicyModuleClient(object): @@ -1423,12 +1551,14 @@ class EndpointIPPolicyModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-ip-policy-module-replace """ path = "/endpoint_configurations/{id}/ip_policy" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1443,12 +1573,14 @@ class EndpointIPPolicyModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-ip-policy-module-get """ path = "/endpoint_configurations/{id}/ip_policy" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointIPPolicy(self._client, result) def delete( @@ -1458,12 +1590,14 @@ class EndpointIPPolicyModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-ip-policy-module-delete """ path = "/endpoint_configurations/{id}/ip_policy" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointMutualTLSModuleClient(object): @@ -1479,12 +1613,14 @@ class EndpointMutualTLSModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-replace """ path = "/endpoint_configurations/{id}/mutual_tls" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1499,12 +1635,14 @@ class EndpointMutualTLSModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-get """ path = "/endpoint_configurations/{id}/mutual_tls" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointMutualTLS(self._client, result) def delete( @@ -1514,12 +1652,14 @@ class EndpointMutualTLSModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-mutual-tls-module-delete """ path = "/endpoint_configurations/{id}/mutual_tls" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointRequestHeadersModuleClient(object): @@ -1535,12 +1675,14 @@ class EndpointRequestHeadersModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-request-headers-module-replace """ path = "/endpoint_configurations/{id}/request_headers" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1555,12 +1697,14 @@ class EndpointRequestHeadersModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-request-headers-module-get """ path = "/endpoint_configurations/{id}/request_headers" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointRequestHeaders(self._client, result) def delete( @@ -1570,12 +1714,14 @@ class EndpointRequestHeadersModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-request-headers-module-delete """ path = "/endpoint_configurations/{id}/request_headers" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointResponseHeadersModuleClient(object): @@ -1591,12 +1737,14 @@ class EndpointResponseHeadersModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-response-headers-module-replace """ path = "/endpoint_configurations/{id}/response_headers" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1611,12 +1759,14 @@ class EndpointResponseHeadersModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-response-headers-module-get """ path = "/endpoint_configurations/{id}/response_headers" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointResponseHeaders(self._client, result) def delete( @@ -1626,12 +1776,14 @@ class EndpointResponseHeadersModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-response-headers-module-delete """ path = "/endpoint_configurations/{id}/response_headers" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointOAuthModuleClient(object): @@ -1647,12 +1799,14 @@ class EndpointOAuthModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-o-auth-module-replace """ path = "/endpoint_configurations/{id}/oauth" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1667,12 +1821,14 @@ class EndpointOAuthModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-o-auth-module-get """ path = "/endpoint_configurations/{id}/oauth" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointOAuth(self._client, result) def delete( @@ -1682,12 +1838,14 @@ class EndpointOAuthModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-o-auth-module-delete """ path = "/endpoint_configurations/{id}/oauth" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointWebhookValidationModuleClient(object): @@ -1703,12 +1861,14 @@ class EndpointWebhookValidationModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-replace """ path = "/endpoint_configurations/{id}/webhook_validation" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1723,12 +1883,14 @@ class EndpointWebhookValidationModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-get """ path = "/endpoint_configurations/{id}/webhook_validation" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointWebhookValidation(self._client, result) def delete( @@ -1738,12 +1900,14 @@ class EndpointWebhookValidationModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-webhook-validation-module-delete """ path = "/endpoint_configurations/{id}/webhook_validation" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointSAMLModuleClient(object): @@ -1759,12 +1923,14 @@ class EndpointSAMLModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-saml-module-replace """ path = "/endpoint_configurations/{id}/saml" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1779,12 +1945,14 @@ class EndpointSAMLModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-saml-module-get """ path = "/endpoint_configurations/{id}/saml" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointSAML(self._client, result) def delete( @@ -1794,12 +1962,14 @@ class EndpointSAMLModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-saml-module-delete """ path = "/endpoint_configurations/{id}/saml" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class EndpointOIDCModuleClient(object): @@ -1815,12 +1985,14 @@ class EndpointOIDCModuleClient(object): :param id: :param module: + + https://ngrok.com/docs/api#api-endpoint-oidc-module-replace """ path = "/endpoint_configurations/{id}/oidc" path = path.format( id=id, ) - result = self._client.api_client.put( + result = self._client.http_client.put( path, dict( module=module, @@ -1835,12 +2007,14 @@ class EndpointOIDCModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-oidc-module-get """ path = "/endpoint_configurations/{id}/oidc" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return EndpointOIDC(self._client, result) def delete( @@ -1850,12 +2024,14 @@ class EndpointOIDCModuleClient(object): """ :param id: a resource identifier + + https://ngrok.com/docs/api#api-endpoint-oidc-module-delete """ path = "/endpoint_configurations/{id}/oidc" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class ReservedAddrsClient(object): @@ -1875,9 +2051,11 @@ class ReservedAddrsClient(object): :param metadata: arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. :param region: reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) :param endpoint_configuration_id: ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address + + https://ngrok.com/docs/api#api-reserved-addrs-create """ path = "/reserved_addrs" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -1895,12 +2073,14 @@ class ReservedAddrsClient(object): """Delete a reserved address. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-addrs-delete """ path = "/reserved_addrs/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -1909,12 +2089,14 @@ class ReservedAddrsClient(object): """Get the details of a reserved address. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-addrs-get """ path = "/reserved_addrs/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return ReservedAddr(self._client, result) def list( @@ -1926,9 +2108,11 @@ class ReservedAddrsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-reserved-addrs-list """ path = "/reserved_addrs" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -1950,12 +2134,14 @@ class ReservedAddrsClient(object): :param description: human-readable description of what this reserved address will be used for :param metadata: arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. :param endpoint_configuration_id: ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address + + https://ngrok.com/docs/api#api-reserved-addrs-update """ path = "/reserved_addrs/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -1972,12 +2158,14 @@ class ReservedAddrsClient(object): """Detach the endpoint configuration attached to a reserved address. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-addrs-delete-endpoint-config """ path = "/reserved_addrs/{id}/endpoint_configuration" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class ReservedDomainsClient(object): @@ -2005,9 +2193,11 @@ class ReservedDomainsClient(object): :param https_endpoint_configuration_id: ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain :param certificate_id: ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with ``certificate_management_policy``. :param certificate_management_policy: configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with ``certificate_id``. + + https://ngrok.com/docs/api#api-reserved-domains-create """ path = "/reserved_domains" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( name=name, @@ -2029,12 +2219,14 @@ class ReservedDomainsClient(object): """Delete a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete """ path = "/reserved_domains/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -2043,12 +2235,14 @@ class ReservedDomainsClient(object): """Get the details of a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-get """ path = "/reserved_domains/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return ReservedDomain(self._client, result) def list( @@ -2060,9 +2254,11 @@ class ReservedDomainsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-reserved-domains-list """ path = "/reserved_domains" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2090,12 +2286,14 @@ class ReservedDomainsClient(object): :param https_endpoint_configuration_id: ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain :param certificate_id: ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with ``certificate_management_policy``. :param certificate_management_policy: configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with ``certificate_id``. + + https://ngrok.com/docs/api#api-reserved-domains-update """ path = "/reserved_domains/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2115,12 +2313,14 @@ class ReservedDomainsClient(object): """Detach the certificate management policy attached to a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete-certificate-management-policy """ path = "/reserved_domains/{id}/certificate_management_policy" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def delete_certificate( self, @@ -2129,12 +2329,14 @@ class ReservedDomainsClient(object): """Detach the certificate attached to a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete-certificate """ path = "/reserved_domains/{id}/certificate" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def delete_http_endpoint_config( self, @@ -2143,12 +2345,14 @@ class ReservedDomainsClient(object): """Detach the http endpoint configuration attached to a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete-http-endpoint-config """ path = "/reserved_domains/{id}/http_endpoint_configuration" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def delete_https_endpoint_config( self, @@ -2157,12 +2361,14 @@ class ReservedDomainsClient(object): """Detach the https endpoint configuration attached to a reserved domain. :param id: a resource identifier + + https://ngrok.com/docs/api#api-reserved-domains-delete-https-endpoint-config """ path = "/reserved_domains/{id}/https_endpoint_configuration" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) class SSHCertificateAuthoritiesClient(object): @@ -2184,9 +2390,11 @@ class SSHCertificateAuthoritiesClient(object): :param private_key_type: the type of private key to generate. one of ``rsa``, ``ecdsa``, ``ed25519`` :param elliptic_curve: the type of elliptic curve to use when creating an ECDSA key :param key_size: the key size to use when creating an RSA key. one of ``2048`` or ``4096`` + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-create """ path = "/ssh_certificate_authorities" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -2205,12 +2413,14 @@ class SSHCertificateAuthoritiesClient(object): """Delete an SSH Certificate Authority :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-delete """ path = "/ssh_certificate_authorities/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -2219,12 +2429,14 @@ class SSHCertificateAuthoritiesClient(object): """Get detailed information about an SSH Certficate Authority :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-get """ path = "/ssh_certificate_authorities/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return SSHCertificateAuthority(self._client, result) def list( @@ -2236,9 +2448,11 @@ class SSHCertificateAuthoritiesClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-list """ path = "/ssh_certificate_authorities" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2258,12 +2472,14 @@ class SSHCertificateAuthoritiesClient(object): :param id: :param description: human-readable description of this SSH Certificate Authority. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-certificate-authorities-update """ path = "/ssh_certificate_authorities/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2290,9 +2506,11 @@ class SSHCredentialsClient(object): :param metadata: arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. :param acl: 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. :param public_key: the PEM-encoded public key of the SSH keypair that will be used to authenticate + + https://ngrok.com/docs/api#api-ssh-credentials-create """ path = "/ssh_credentials" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -2310,12 +2528,14 @@ class SSHCredentialsClient(object): """Delete an ssh_credential by ID :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-credentials-delete """ path = "/ssh_credentials/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -2324,12 +2544,14 @@ class SSHCredentialsClient(object): """Get detailed information about an ssh_credential :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-credentials-get """ path = "/ssh_credentials/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return SSHCredential(self._client, result) def list( @@ -2341,9 +2563,11 @@ class SSHCredentialsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ssh-credentials-list """ path = "/ssh_credentials" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2365,12 +2589,14 @@ class SSHCredentialsClient(object): :param description: human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. :param acl: 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. + + https://ngrok.com/docs/api#api-ssh-credentials-update """ path = "/ssh_credentials/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2404,9 +2630,11 @@ class SSHHostCertificatesClient(object): :param valid_until: 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``. :param description: human-readable description of this SSH Host Certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-host-certificates-create """ path = "/ssh_host_certificates" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( ssh_certificate_authority_id=ssh_certificate_authority_id, @@ -2427,12 +2655,14 @@ class SSHHostCertificatesClient(object): """Delete an SSH Host Certificate :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-host-certificates-delete """ path = "/ssh_host_certificates/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -2441,12 +2671,14 @@ class SSHHostCertificatesClient(object): """Get detailed information about an SSH Host Certficate :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-host-certificates-get """ path = "/ssh_host_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return SSHHostCertificate(self._client, result) def list( @@ -2458,9 +2690,11 @@ class SSHHostCertificatesClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ssh-host-certificates-list """ path = "/ssh_host_certificates" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2480,12 +2714,14 @@ class SSHHostCertificatesClient(object): :param id: :param description: human-readable description of this SSH Host Certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-host-certificates-update """ path = "/ssh_host_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2522,9 +2758,11 @@ class SSHUserCertificatesClient(object): :param valid_until: The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this ``valid_before``. :param description: human-readable description of this SSH User Certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-user-certificates-create """ path = "/ssh_user_certificates" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( ssh_certificate_authority_id=ssh_certificate_authority_id, @@ -2547,12 +2785,14 @@ class SSHUserCertificatesClient(object): """Delete an SSH User Certificate :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-user-certificates-delete """ path = "/ssh_user_certificates/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -2561,12 +2801,14 @@ class SSHUserCertificatesClient(object): """Get detailed information about an SSH User Certficate :param id: a resource identifier + + https://ngrok.com/docs/api#api-ssh-user-certificates-get """ path = "/ssh_user_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return SSHUserCertificate(self._client, result) def list( @@ -2578,9 +2820,11 @@ class SSHUserCertificatesClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-ssh-user-certificates-list """ path = "/ssh_user_certificates" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2600,12 +2844,14 @@ class SSHUserCertificatesClient(object): :param id: :param description: human-readable description of this SSH User Certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-ssh-user-certificates-update """ path = "/ssh_user_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2632,9 +2878,11 @@ class TLSCertificatesClient(object): :param metadata: arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. :param certificate_pem: chain of PEM-encoded certificates, leaf first. See `Certificate Bundles` `_. :param private_key_pem: private key for the TLS certificate, PEM-encoded. See `Private Keys` `_. + + https://ngrok.com/docs/api#api-tls-certificates-create """ path = "/tls_certificates" - result = self._client.api_client.post( + result = self._client.http_client.post( path, dict( description=description, @@ -2652,12 +2900,14 @@ class TLSCertificatesClient(object): """Delete a TLS certificate :param id: a resource identifier + + https://ngrok.com/docs/api#api-tls-certificates-delete """ path = "/tls_certificates/{id}" path = path.format( id=id, ) - self._client.api_client.delete(path, dict()) + self._client.http_client.delete(path, dict()) def get( self, @@ -2666,12 +2916,14 @@ class TLSCertificatesClient(object): """Get detailed information about a TLS certificate :param id: a resource identifier + + https://ngrok.com/docs/api#api-tls-certificates-get """ path = "/tls_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return TLSCertificate(self._client, result) def list( @@ -2683,9 +2935,11 @@ class TLSCertificatesClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-tls-certificates-list """ path = "/tls_certificates" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2705,12 +2959,14 @@ class TLSCertificatesClient(object): :param id: :param description: human-readable description of this TLS certificate. optional, max 255 bytes. :param metadata: arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. + + https://ngrok.com/docs/api#api-tls-certificates-update """ path = "/tls_certificates/{id}" path = path.format( id=id, ) - result = self._client.api_client.patch( + result = self._client.http_client.patch( path, dict( description=description, @@ -2733,9 +2989,11 @@ class TunnelSessionsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-tunnel-sessions-list """ path = "/tunnel_sessions" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, @@ -2751,12 +3009,14 @@ class TunnelSessionsClient(object): """Get the detailed status of a tunnel session by ID :param id: a resource identifier + + https://ngrok.com/docs/api#api-tunnel-sessions-get """ path = "/tunnel_sessions/{id}" path = path.format( id=id, ) - result = self._client.api_client.get(path, dict()) + result = self._client.http_client.get(path, dict()) return TunnelSession(self._client, result) def restart( @@ -2766,12 +3026,14 @@ class TunnelSessionsClient(object): """Issues a command instructing the ngrok agent to restart. The agent restarts itself by calling exec() on platforms that support it. This operation is notably not supported on Windows. When an agent restarts, it reconnects with a new tunnel session ID. :param id: a resource identifier + + https://ngrok.com/docs/api#api-tunnel-sessions-restart """ path = "/tunnel_sessions/{id}/restart" path = path.format( id=id, ) - self._client.api_client.post(path, dict()) + self._client.http_client.post(path, dict()) def stop( self, @@ -2780,12 +3042,14 @@ class TunnelSessionsClient(object): """Issues a command instructing the ngrok agent that started this tunnel session to exit. :param id: a resource identifier + + https://ngrok.com/docs/api#api-tunnel-sessions-stop """ path = "/tunnel_sessions/{id}/stop" path = path.format( id=id, ) - self._client.api_client.post(path, dict()) + self._client.http_client.post(path, dict()) def update( self, @@ -2794,12 +3058,14 @@ class TunnelSessionsClient(object): """Issues a command instructing the ngrok agent to update itself to the latest version. After this call completes successfully, the ngrok agent will be in the update process. A caller should wait some amount of time to allow the update to complete (at least 10 seconds) before making a call to the Restart endpoint to request that the agent restart itself to start using the new code. This call will never update an ngrok agent to a new major version which could cause breaking compatibility issues. If you wish to update to a new major version, that must be done manually. Still, please be aware that updating your ngrok agent could break your integration. This call will fail in any of the following circumstances: there is no update available the ngrok agent's configuration disabled update checks the agent is currently in process of updating the agent has already successfully updated but has not yet been restarted :param id: + + https://ngrok.com/docs/api#api-tunnel-sessions-update """ path = "/tunnel_sessions/{id}/update" path = path.format( id=id, ) - self._client.api_client.post(path, dict()) + self._client.http_client.post(path, dict()) class TunnelsClient(object): @@ -2815,9 +3081,11 @@ class TunnelsClient(object): :param before_id: :param limit: + + https://ngrok.com/docs/api#api-tunnels-list """ path = "/tunnels" - result = self._client.api_client.get( + result = self._client.http_client.get( path, dict( before_id=before_id, diff --git a/setup.py b/setup.py index fb910bb..a4caec8 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ def read_file(filename): setup( name="ngrok-api", - version="0.1.2", + version="0.1.3", description="ngrok HTTP API client library", long_description=read_file("README.md"), long_description_content_type="text/markdown", @@ -23,7 +23,7 @@ setup( "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ], - python_requires=">=3.8", + python_requires=">=3.7", install_requires=[ "requests==2.25.1", ], diff --git a/tests/test_ngrok.py b/tests/test_ngrok.py index cf87151..47565bd 100644 --- a/tests/test_ngrok.py +++ b/tests/test_ngrok.py @@ -1,17 +1,17 @@ import ngrok -import ngrok.api_client +import ngrok.http_client import json import os from typing import Optional, Mapping, Union, Dict, Any def test_certificate_authorities(): - c = ngrok.Client() + c = ngrok.Client(os.getenv("NGROK_API_KEY")) - mock = MockAPIClient() - if os.getenv('TEST_RECORD', False): - c.api_client = RecordingAPIClient(c.api_client.api_key, c.api_client.base_url) - if os.getenv('TEST_MOCK', False): - c.api_client = mock + mock = MockHTTPClient() + if not os.getenv('TEST_NO_MOCK', False): + c.http_client = mock + elif os.getenv('TEST_DEBUG', False): + c.http_client = RecordingHTTPClient(c.http_client.api_key, c.http_client.base_url) mock.returns(mock_empty_ca_list) c.certificate_authorities.list() @@ -95,14 +95,14 @@ mock_ca_list = """ {"certificate_authorities": ["""+mock_ca_updated+"""], "uri": "https://api.ngrok.com/certificate_authorities", "next_page_uri": null} """ -class RecordingAPIClient(ngrok.api_client.APIClient): +class RecordingHTTPClient(ngrok.http_client.HTTPClient): """ prints all responses received to stdout, useful for creating mocked outputs """ def do(self, method: str, path: str, query_params: Mapping[str, str] = None, payload: Mapping[str, Any] = None) -> Optional[Dict[str, Any]]: - ret = super(RecordingAPIClient, self).do(method, path, query_params, payload) + ret = super(RecordingHTTPClient, self).do(method, path, query_params, payload) print(json.dumps(ret)) return ret -class MockAPIClient(ngrok.api_client.APIClient): +class MockHTTPClient(ngrok.http_client.HTTPClient): def __init__(self): pass diff --git a/tox.ini b/tox.ini index 08fc507..008c09b 100644 --- a/tox.ini +++ b/tox.ini @@ -1,16 +1,15 @@ [tox] envlist = py38 minversion = 3.23.0 -skip_missing_interpreters = true +#skip_missing_interpreters = true [testenv] -# uncomment this along with commenting out TEST_MOCK +# uncomment out to test against the live API +#setenv = TEST_NO_MOCK=true +# uncomment this along with uncommenting TEST_NO_MOCK # to capture live responses from the live API to aid in creating # mocks -#setenv = TEST_RECORD=true - -# comment out to test against the live API -setenv = TEST_MOCK=true +#setenv = TEST_DEBUG=true passenv = NGROK_API_KEY deps = pytest==6.2.3