Files
ngrok-api-python/docs/_modules/ngrok/client.html
T
2023-03-13 23:06:28 +00:00

464 lines
39 KiB
HTML

<!doctype html>
<html class="no-js">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" />
<meta name="generator" content="sphinx-3.5.4, furo 2021.04.11.beta34"/>
<title>ngrok.client - ngrok-api documentation</title>
<link rel="stylesheet" href="../../_static/styles/furo.css?digest=59ab60ac09ea94ccfe6deddff6d715cce948a6fc">
<link rel="stylesheet" href="../../_static/pygments.css">
<link media="(prefers-color-scheme: dark)" rel="stylesheet" href="../../_static/pygments_dark.css">
<style>
:root {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media (prefers-color-scheme: dark) {
:root {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
/* For allowing end-user-specific overrides */
.override-light {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
.override-dark {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
</style><link rel="stylesheet" href="../../_static/styles/furo-extensions.css?digest=d391b54134226e4196576da3bdb6dddb7e05ba2b"></head>
<body dir="">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke-width="1.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<line x1="4" y1="6" x2="20" y2="6" />
<line x1="10" y1="12" x2="20" y2="12" />
<line x1="6" y1="18" x2="20" y2="18" />
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
class="feather feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
class="feather feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation"></label>
<label class="overlay toc-overlay" for="__toc"></label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../../index.html"><div class="brand">ngrok-api documentation</div></a>
</div>
<div class="header-right">
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../../index.html">
<span class="sidebar-brand-text">ngrok-api documentation</span>
</a><form class="sidebar-search-container" method="get" action="../../search.html">
<input class="sidebar-search" placeholder=Search name="q">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption"><span class="caption-text">API</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../client.html">Client</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../datatypes.html">Datatypes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../errors.html">Errors</a></li>
</ul>
<p class="caption"><span class="caption-text">Services</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../abuse_reports.html">Abuse Reports</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../agent_ingresses.html">Agent Ingresses</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../api_keys.html">API Keys</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../application_sessions.html">Application Sessions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../application_users.html">Application Users</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../failover_backends.html">Failover Backends</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../http_response_backends.html">HTTP Response Backends</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tunnel_group_backends.html">Tunnel Group Backends</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../weighted_backends.html">Weighted Backends</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../certificate_authorities.html">Certificate Authorities</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../credentials.html">Tunnel Credentials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edges_https_routes.html">HTTPS Edge Routes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edges_https.html">HTTPS Edges</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../https_edge_mutual_tls_module.html">HTTPS Edge Mutual TLS Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../https_edge_tls_termination_module.html">HTTPS Edge TLS Termination Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_backend_module.html">HTTPS Edge Route Backend Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_ip_restriction_module.html">HTTPS Edge Route IP Restriction Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_request_headers_module.html">HTTPS Edge Route Request Headers Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_response_headers_module.html">HTTPS Edge Route Response Headers Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_compression_module.html">HTTPS Edge Route Compression Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_circuit_breaker_module.html">HTTPS Edge Route Circuit Breaker Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_webhook_verification_module.html">HTTPS Edge Route Webhook Verification Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_o_auth_module.html">HTTPS Edge Route OAuth Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_saml_module.html">HTTPS Edge Route SAML Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_oidc_module.html">HTTPS Edge Route OIDC Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edge_route_websocket_tcp_converter_module.html">HTTPS Edge Route Websocket TCP Converter Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edges_tcp.html">TCP Edges</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tcp_edge_backend_module.html">TCP Edge Backend Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tcp_edge_ip_restriction_module.html">TCP Edge IP Restriction Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../edges_tls.html">TLS Edges</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tls_edge_backend_module.html">TLS Edge Backend Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tls_edge_ip_restriction_module.html">TLS Edge IP Restriction Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tls_edge_mutual_tls_module.html">TLS Edge Mutual TLS Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tls_edge_tls_termination_module.html">TLS Edge TLS Termination Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../endpoints.html">Endpoints</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../event_destinations.html">Event Destinations</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../event_subscriptions.html">Event Subscriptions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../event_sources.html">Event Sources</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../ip_policies.html">IP Policies</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../ip_policy_rules.html">IP Policy Rules</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../ip_restrictions.html">IP Restrictions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../reserved_addrs.html">Reserved Addresses</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../reserved_domains.html">Reserved Domains</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../ssh_certificate_authorities.html">SSH Certificate Authorities</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../ssh_credentials.html">SSH Credentials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../ssh_host_certificates.html">SSH Host Certificates</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../ssh_user_certificates.html">SSH User Certificates</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tls_certificates.html">TLS Certificates</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tunnel_sessions.html">Tunnel Sessions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tunnels.html">Tunnels</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<main class="main">
<div class="content">
<article role="main">
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
<h1>Source code for ngrok.client</h1><div class="highlight"><pre>
<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span>
<span class="kn">import</span> <span class="nn">collections</span>
<span class="kn">import</span> <span class="nn">os</span>
<span class="kn">from</span> <span class="nn">.services</span> <span class="kn">import</span> <span class="o">*</span>
<div class="viewcode-block" id="Client"><a class="viewcode-back" href="../../client.html#ngrok.Client">[docs]</a><span class="k">class</span> <span class="nc">Client</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">api_key</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">base_url</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">"https://api.ngrok.com"</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">http_client</span> <span class="o">=</span> <span class="n">HTTPClient</span><span class="p">(</span><span class="n">api_key</span><span class="p">,</span> <span class="n">base_url</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">abuse_reports</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AbuseReportsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Abuse Reports allow you to submit take-down requests for URLs hosted by</span>
<span class="sd"> ngrok that violate ngrok's terms of service."""</span>
<span class="k">return</span> <span class="n">AbuseReportsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">agent_ingresses</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentIngressesClient</span><span class="p">:</span>
<span class="k">return</span> <span class="n">AgentIngressesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">api_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">APIKeysClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""API Keys are used to authenticate to the `ngrok</span>
<span class="sd"> API &lt;https://ngrok.com/docs/api#authentication&gt;`_. You may use the API itself</span>
<span class="sd"> to provision and manage API Keys but you'll need to provision your first API</span>
<span class="sd"> key from the `API Keys page &lt;https://dashboard.ngrok.com/api/keys&gt;`_ on your</span>
<span class="sd"> ngrok.com dashboard."""</span>
<span class="k">return</span> <span class="n">APIKeysClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">application_sessions</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ApplicationSessionsClient</span><span class="p">:</span>
<span class="k">return</span> <span class="n">ApplicationSessionsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">application_users</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ApplicationUsersClient</span><span class="p">:</span>
<span class="k">return</span> <span class="n">ApplicationUsersClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">certificate_authorities</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">CertificateAuthoritiesClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Certificate Authorities are x509 certificates that are used to sign other</span>
<span class="sd"> x509 certificates. Attach a Certificate Authority to the Mutual TLS module</span>
<span class="sd"> to verify that the TLS certificate presented by a client has been signed by</span>
<span class="sd"> this CA. Certificate Authorities are used only for mTLS validation only and</span>
<span class="sd"> thus a private key is not included in the resource."""</span>
<span class="k">return</span> <span class="n">CertificateAuthoritiesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">CredentialsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok</span>
<span class="sd"> agent to connect the ngrok service as your account. They are installed with</span>
<span class="sd"> the ``ngrok config add-authtoken`` command or by specifying it in the ``ngrok.yml``</span>
<span class="sd"> configuration file with the ``authtoken`` property."""</span>
<span class="k">return</span> <span class="n">CredentialsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">endpoints</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">EndpointsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Endpoints provides an API for querying the endpoint objects</span>
<span class="sd"> which define what tunnel or edge is used to serve a hostport.</span>
<span class="sd"> Only active endpoints associated with a tunnel or backend are returned."""</span>
<span class="k">return</span> <span class="n">EndpointsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">event_destinations</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">EventDestinationsClient</span><span class="p">:</span>
<span class="k">return</span> <span class="n">EventDestinationsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">event_subscriptions</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">EventSubscriptionsClient</span><span class="p">:</span>
<span class="k">return</span> <span class="n">EventSubscriptionsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">event_sources</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">EventSourcesClient</span><span class="p">:</span>
<span class="k">return</span> <span class="n">EventSourcesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">ip_policies</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">IPPoliciesClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""IP Policies are reusable groups of CIDR ranges with an ``allow`` or ``deny``</span>
<span class="sd"> action. They can be attached to endpoints via the Endpoint Configuration IP</span>
<span class="sd"> Policy module. They can also be used with IP Restrictions to control source</span>
<span class="sd"> IP ranges that can start tunnel sessions and connect to the API and dashboard."""</span>
<span class="k">return</span> <span class="n">IPPoliciesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">ip_policy_rules</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">IPPolicyRulesClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""IP Policy Rules are the IPv4 or IPv6 CIDRs entries that</span>
<span class="sd"> make up an IP Policy."""</span>
<span class="k">return</span> <span class="n">IPPolicyRulesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">ip_restrictions</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">IPRestrictionsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""An IP restriction is a restriction placed on the CIDRs that are allowed to</span>
<span class="sd"> initiate traffic to a specific aspect of your ngrok account. An IP</span>
<span class="sd"> restriction has a type which defines the ingress it applies to. IP</span>
<span class="sd"> restrictions can be used to enforce the source IPs that can make API</span>
<span class="sd"> requests, log in to the dashboard, start ngrok agents, and connect to your</span>
<span class="sd"> public-facing endpoints."""</span>
<span class="k">return</span> <span class="n">IPRestrictionsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">reserved_addrs</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ReservedAddrsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Reserved Addresses are TCP addresses that can be used to listen for traffic.</span>
<span class="sd"> TCP address hostnames and ports are assigned by ngrok, they cannot be</span>
<span class="sd"> chosen."""</span>
<span class="k">return</span> <span class="n">ReservedAddrsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">reserved_domains</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ReservedDomainsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Reserved Domains are hostnames that you can listen for traffic on. Domains</span>
<span class="sd"> can be used to listen for http, https or tls traffic. You may use a domain</span>
<span class="sd"> that you own by creating a CNAME record specified in the returned resource.</span>
<span class="sd"> This CNAME record points traffic for that domain to ngrok's edge servers."""</span>
<span class="k">return</span> <span class="n">ReservedDomainsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">ssh_certificate_authorities</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">SSHCertificateAuthoritiesClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""An SSH Certificate Authority is a pair of an SSH Certificate and its private</span>
<span class="sd"> key that can be used to sign other SSH host and user certificates."""</span>
<span class="k">return</span> <span class="n">SSHCertificateAuthoritiesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">ssh_credentials</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">SSHCredentialsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""SSH Credentials are SSH public keys that can be used to start SSH tunnels</span>
<span class="sd"> via the ngrok SSH tunnel gateway."""</span>
<span class="k">return</span> <span class="n">SSHCredentialsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">ssh_host_certificates</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">SSHHostCertificatesClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""SSH Host Certificates along with the corresponding private key allows an SSH</span>
<span class="sd"> server to assert its authenticity to connecting SSH clients who trust the</span>
<span class="sd"> SSH Certificate Authority that was used to sign the certificate."""</span>
<span class="k">return</span> <span class="n">SSHHostCertificatesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">ssh_user_certificates</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">SSHUserCertificatesClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""SSH User Certificates are presented by SSH clients when connecting to an SSH</span>
<span class="sd"> server to authenticate their connection. The SSH server must trust the SSH</span>
<span class="sd"> Certificate Authority used to sign the certificate."""</span>
<span class="k">return</span> <span class="n">SSHUserCertificatesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">tls_certificates</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">TLSCertificatesClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""TLS Certificates are pairs of x509 certificates and their matching private</span>
<span class="sd"> key that can be used to terminate TLS traffic. TLS certificates are unused</span>
<span class="sd"> until they are attached to a Domain. TLS Certificates may also be</span>
<span class="sd"> provisioned by ngrok automatically for domains on which you have enabled</span>
<span class="sd"> automated certificate provisioning."""</span>
<span class="k">return</span> <span class="n">TLSCertificatesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">tunnel_sessions</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">TunnelSessionsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel</span>
<span class="sd"> sessions that are running and connected to the ngrok service. Each tunnel</span>
<span class="sd"> session can include one or more Tunnels."""</span>
<span class="k">return</span> <span class="n">TunnelSessionsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">tunnels</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">TunnelsClient</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Tunnels provide endpoints to access services exposed by a running ngrok</span>
<span class="sd"> agent tunnel session or an SSH reverse tunnel session."""</span>
<span class="k">return</span> <span class="n">TunnelsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">backends</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">ns</span> <span class="o">=</span> <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
<span class="s2">"Namespace"</span><span class="p">,</span>
<span class="p">[</span>
<span class="s2">"failover"</span><span class="p">,</span>
<span class="s2">"http_response"</span><span class="p">,</span>
<span class="s2">"tunnel_group"</span><span class="p">,</span>
<span class="s2">"weighted"</span><span class="p">,</span>
<span class="p">],</span>
<span class="p">)</span>
<span class="k">return</span> <span class="n">ns</span><span class="p">(</span>
<span class="n">failover</span><span class="o">=</span><span class="n">FailoverBackendsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">http_response</span><span class="o">=</span><span class="n">HTTPResponseBackendsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">tunnel_group</span><span class="o">=</span><span class="n">TunnelGroupBackendsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">weighted</span><span class="o">=</span><span class="n">WeightedBackendsClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">edges</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">ns</span> <span class="o">=</span> <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
<span class="s2">"Namespace"</span><span class="p">,</span>
<span class="p">[</span>
<span class="s2">"https_routes"</span><span class="p">,</span>
<span class="s2">"https"</span><span class="p">,</span>
<span class="s2">"tcp"</span><span class="p">,</span>
<span class="s2">"tls"</span><span class="p">,</span>
<span class="p">],</span>
<span class="p">)</span>
<span class="k">return</span> <span class="n">ns</span><span class="p">(</span>
<span class="n">https_routes</span><span class="o">=</span><span class="n">EdgesHTTPSRoutesClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https</span><span class="o">=</span><span class="n">EdgesHTTPSClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">tcp</span><span class="o">=</span><span class="n">EdgesTCPClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">tls</span><span class="o">=</span><span class="n">EdgesTLSClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="p">)</span>
<span class="nd">@property</span>
<span class="k">def</span> <span class="nf">edge_modules</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">ns</span> <span class="o">=</span> <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
<span class="s2">"Namespace"</span><span class="p">,</span>
<span class="p">[</span>
<span class="s2">"https_edge_mutual_tls"</span><span class="p">,</span>
<span class="s2">"https_edge_tls_termination"</span><span class="p">,</span>
<span class="s2">"https_edge_route_backend"</span><span class="p">,</span>
<span class="s2">"https_edge_route_ip_restriction"</span><span class="p">,</span>
<span class="s2">"https_edge_route_request_headers"</span><span class="p">,</span>
<span class="s2">"https_edge_route_response_headers"</span><span class="p">,</span>
<span class="s2">"https_edge_route_compression"</span><span class="p">,</span>
<span class="s2">"https_edge_route_circuit_breaker"</span><span class="p">,</span>
<span class="s2">"https_edge_route_webhook_verification"</span><span class="p">,</span>
<span class="s2">"https_edge_route_oauth"</span><span class="p">,</span>
<span class="s2">"https_edge_route_saml"</span><span class="p">,</span>
<span class="s2">"https_edge_route_oidc"</span><span class="p">,</span>
<span class="s2">"https_edge_route_websocket_tcp_converter"</span><span class="p">,</span>
<span class="s2">"tcp_edge_backend"</span><span class="p">,</span>
<span class="s2">"tcp_edge_ip_restriction"</span><span class="p">,</span>
<span class="s2">"tls_edge_backend"</span><span class="p">,</span>
<span class="s2">"tls_edge_ip_restriction"</span><span class="p">,</span>
<span class="s2">"tls_edge_mutual_tls"</span><span class="p">,</span>
<span class="s2">"tls_edge_tls_termination"</span><span class="p">,</span>
<span class="p">],</span>
<span class="p">)</span>
<span class="k">return</span> <span class="n">ns</span><span class="p">(</span>
<span class="n">https_edge_mutual_tls</span><span class="o">=</span><span class="n">HTTPSEdgeMutualTLSModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_tls_termination</span><span class="o">=</span><span class="n">HTTPSEdgeTLSTerminationModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_backend</span><span class="o">=</span><span class="n">EdgeRouteBackendModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_ip_restriction</span><span class="o">=</span><span class="n">EdgeRouteIPRestrictionModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_request_headers</span><span class="o">=</span><span class="n">EdgeRouteRequestHeadersModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_response_headers</span><span class="o">=</span><span class="n">EdgeRouteResponseHeadersModuleClient</span><span class="p">(</span>
<span class="bp">self</span>
<span class="p">),</span>
<span class="n">https_edge_route_compression</span><span class="o">=</span><span class="n">EdgeRouteCompressionModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_circuit_breaker</span><span class="o">=</span><span class="n">EdgeRouteCircuitBreakerModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_webhook_verification</span><span class="o">=</span><span class="n">EdgeRouteWebhookVerificationModuleClient</span><span class="p">(</span>
<span class="bp">self</span>
<span class="p">),</span>
<span class="n">https_edge_route_oauth</span><span class="o">=</span><span class="n">EdgeRouteOAuthModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_saml</span><span class="o">=</span><span class="n">EdgeRouteSAMLModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_oidc</span><span class="o">=</span><span class="n">EdgeRouteOIDCModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">https_edge_route_websocket_tcp_converter</span><span class="o">=</span><span class="n">EdgeRouteWebsocketTCPConverterModuleClient</span><span class="p">(</span>
<span class="bp">self</span>
<span class="p">),</span>
<span class="n">tcp_edge_backend</span><span class="o">=</span><span class="n">TCPEdgeBackendModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">tcp_edge_ip_restriction</span><span class="o">=</span><span class="n">TCPEdgeIPRestrictionModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">tls_edge_backend</span><span class="o">=</span><span class="n">TLSEdgeBackendModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">tls_edge_ip_restriction</span><span class="o">=</span><span class="n">TLSEdgeIPRestrictionModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">tls_edge_mutual_tls</span><span class="o">=</span><span class="n">TLSEdgeMutualTLSModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="n">tls_edge_tls_termination</span><span class="o">=</span><span class="n">TLSEdgeTLSTerminationModuleClient</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
<span class="p">)</span></div>
</pre></div>
</article>
<footer>
<div class="related-pages">
</div>
<div class="related-information">
Copyright &#169; 1980, ngrok Inc.
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a>
and
<a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo theme</a>.
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</main>
</div>
<script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/scripts/main.js?digest=e931d09b2a40c1bb82b542effe772014573baf67"></script></body>
</html>