-

ngrok Java API client 0.4.0 API

+

ngrok Java API client 0.6.0 API

Packages
diff --git a/docs/member-search-index.js b/docs/member-search-index.js index e1bf02b..15b7ef5 100644 --- a/docs/member-search-index.js +++ b/docs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"com.ngrok.definitions","c":"AbuseReport","l":"AbuseReport(String, URI, OffsetDateTime, List, String, String, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.util.List,java.lang.String,java.lang.String,java.util.List)"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"AbuseReportHostname(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.ngrok","c":"Ngrok","l":"abuseReports()"},{"p":"com.ngrok.services","c":"AbuseReports","l":"AbuseReports(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"acl(List)","u":"acl(java.util.List)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"acl(List)","u":"acl(java.util.List)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"acl(List)","u":"acl(java.util.List)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"acl(List)","u":"acl(java.util.List)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"acl(Optional>)","u":"acl(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"acl(Optional>)","u":"acl(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"acl(Optional>)","u":"acl(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"acl(Optional>)","u":"acl(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"action(Optional)","u":"action(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"action(String)","u":"action(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"add(Map)","u":"add(java.util.Map)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"add(Map)","u":"add(java.util.Map)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"add(Optional>)","u":"add(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"add(Optional>)","u":"add(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"AgentIngress(String, URI, String, String, String, List, List, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.lang.String,java.lang.String,java.lang.String,java.util.List,java.util.List,java.lang.String)"},{"p":"com.ngrok","c":"Ngrok","l":"agentIngresses()"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"AgentIngresses(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"AgentIngressList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"allowIdpInitiated(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"allowIdpInitiated(Optional)","u":"allowIdpInitiated(java.util.Optional)"},{"p":"com.ngrok","c":"Version","l":"API_VERSION"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"ApiKey(String, URI, String, String, OffsetDateTime, Optional)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"ApiKeyList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"apiKeys()"},{"p":"com.ngrok.services","c":"ApiKeys","l":"ApiKeys(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"auth(AwsAuth)","u":"auth(com.ngrok.definitions.AwsAuth)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"auth(AwsAuth)","u":"auth(com.ngrok.definitions.AwsAuth)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"auth(AwsAuth)","u":"auth(com.ngrok.definitions.AwsAuth)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"auth(Optional)","u":"auth(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"auth(Optional)","u":"auth(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"auth(Optional)","u":"auth(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"authCheckInterval(long)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"authCheckInterval(Optional)","u":"authCheckInterval(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"authority(Optional)","u":"authority(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"authority(String)","u":"authority(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"authorizedGroups(List)","u":"authorizedGroups(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"authorizedGroups(Optional>)","u":"authorizedGroups(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"backendId(Optional)","u":"backendId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"backendId(String)","u":"backendId(java.lang.String)"},{"p":"com.ngrok","c":"Ngrok","l":"backends()"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"backends(List)","u":"backends(java.util.List)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"backends(List)","u":"backends(java.util.List)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"backends(Map)","u":"backends(java.util.Map)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"backends(Map)","u":"backends(java.util.Map)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"backends(Optional>)","u":"backends(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"backends(Optional>)","u":"backends(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"backends(Optional>)","u":"backends(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"backends(Optional>)","u":"backends(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"baseUri(Optional)","u":"baseUri(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"baseUri(URI)","u":"baseUri(java.net.URI)"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"AbuseReports.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AbuseReports.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Endpoints.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCertificateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCertificateManagementPolicyCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Tunnels.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.RestartCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.StopCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"body(Optional)","u":"body(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"body(Optional)","u":"body(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"body(String)","u":"body(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"body(String)","u":"body(java.lang.String)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"AwsCredentials.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"AwsRole.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointCompression.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"build()"},{"p":"com.ngrok.services","c":"AbuseReports.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AbuseReports.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Endpoints.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCertificateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCertificateManagementPolicyCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Tunnels.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.RestartCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.StopCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok","c":"Ngrok","l":"certificateAuthorities()"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"CertificateAuthorities(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"CertificateAuthority(String, URI, OffsetDateTime, String, String, String, String, OffsetDateTime, OffsetDateTime, List, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.time.OffsetDateTime,java.util.List,java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"certificateAuthorityIds(List)","u":"certificateAuthorityIds(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"certificateAuthorityIds(Optional>)","u":"certificateAuthorityIds(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"CertificateAuthorityList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"certificateId(Optional)","u":"certificateId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"certificateId(Optional)","u":"certificateId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"certificateId(String)","u":"certificateId(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"certificateId(String)","u":"certificateId(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"certificateManagementPolicy(Optional)","u":"certificateManagementPolicy(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"certificateManagementPolicy(Optional)","u":"certificateManagementPolicy(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"certificateManagementPolicy(ReservedDomainCertPolicy)","u":"certificateManagementPolicy(com.ngrok.definitions.ReservedDomainCertPolicy)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"certificateManagementPolicy(ReservedDomainCertPolicy)","u":"certificateManagementPolicy(com.ngrok.definitions.ReservedDomainCertPolicy)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"cidr(Optional)","u":"cidr(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"cidr(String)","u":"cidr(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"circuitBreaker(EndpointCircuitBreaker)","u":"circuitBreaker(com.ngrok.definitions.EndpointCircuitBreaker)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"circuitBreaker(EndpointCircuitBreaker)","u":"circuitBreaker(com.ngrok.definitions.EndpointCircuitBreaker)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"circuitBreaker(Optional)","u":"circuitBreaker(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"circuitBreaker(Optional)","u":"circuitBreaker(java.util.Optional)"},{"p":"com.ngrok","c":"Version","l":"CLIENT_VERSION"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"cloudwatchLogs(EventTargetCloudwatchLogs)","u":"cloudwatchLogs(com.ngrok.definitions.EventTargetCloudwatchLogs)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"cloudwatchLogs(Optional)","u":"cloudwatchLogs(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"compression(EndpointCompression)","u":"compression(com.ngrok.definitions.EndpointCompression)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"compression(EndpointCompression)","u":"compression(com.ngrok.definitions.EndpointCompression)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"compression(Optional)","u":"compression(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"compression(Optional)","u":"compression(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"cookiePrefix(Optional)","u":"cookiePrefix(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"cookiePrefix(Optional)","u":"cookiePrefix(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"cookiePrefix(Optional)","u":"cookiePrefix(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"cookiePrefix(String)","u":"cookiePrefix(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"cookiePrefix(String)","u":"cookiePrefix(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"cookiePrefix(String)","u":"cookiePrefix(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys","l":"create()"},{"p":"com.ngrok.services","c":"Credentials","l":"create()"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"create()"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"create()"},{"p":"com.ngrok.services","c":"EdgesTls","l":"create()"},{"p":"com.ngrok.services","c":"EventDestinations","l":"create()"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"create()"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"create()"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"create()"},{"p":"com.ngrok.services","c":"IpPolicies","l":"create()"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"create()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"create()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"create()"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"create()"},{"p":"com.ngrok.services","c":"AbuseReports","l":"create(List)","u":"create(java.util.List)"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"create(String, List)","u":"create(java.lang.String,java.util.List)"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"create(String, String)","u":"create(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"create(String, String)","u":"create(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"create(String, String)","u":"create(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"create(String, String)","u":"create(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"create(String, String, String)","u":"create(java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok","c":"Ngrok","l":"createDefault()"},{"p":"com.ngrok","c":"Ngrok","l":"createDefault(String)","u":"createDefault(java.lang.String)"},{"p":"com.ngrok.definitions","c":"Credential","l":"Credential(String, URI, OffsetDateTime, String, String, Optional, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.Optional,java.util.List)"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"CredentialList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"credentials()"},{"p":"com.ngrok.services","c":"Credentials","l":"Credentials(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"creds(AwsCredentials)","u":"creds(com.ngrok.definitions.AwsCredentials)"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"creds(Optional)","u":"creds(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"criticalOptions(Map)","u":"criticalOptions(java.util.Map)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"criticalOptions(Optional>)","u":"criticalOptions(java.util.Optional)"},{"p":"com.ngrok","c":"NgrokApiClient","l":"DEFAULT_BASE_URI"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"DELETE"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"deleteCertificate(String)","u":"deleteCertificate(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"deleteCertificateManagementPolicy(String)","u":"deleteCertificateManagementPolicy(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"deliveryStreamArn(Optional)","u":"deliveryStreamArn(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"deliveryStreamArn(String)","u":"deliveryStreamArn(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"destinationIds(List)","u":"destinationIds(java.util.List)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"destinationIds(List)","u":"destinationIds(java.util.List)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"destinationIds(Optional>)","u":"destinationIds(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"destinationIds(Optional>)","u":"destinationIds(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"edgeModules()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule","l":"EdgeRouteBackendModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule","l":"EdgeRouteCircuitBreakerModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule","l":"EdgeRouteCompressionModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule","l":"EdgeRouteIpRestrictionModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule","l":"EdgeRouteOAuthModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule","l":"EdgeRouteOidcModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule","l":"EdgeRouteRequestHeadersModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule","l":"EdgeRouteResponseHeadersModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule","l":"EdgeRouteSamlModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule","l":"EdgeRouteWebhookVerificationModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule","l":"EdgeRouteWebsocketTcpConverterModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok","l":"edges()"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"EdgesHttps(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"EdgesHttpsRoutes(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"EdgesTcp(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesTls","l":"EdgesTls(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"ellipticCurve(Optional)","u":"ellipticCurve(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"ellipticCurve(String)","u":"ellipticCurve(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"emailAddresses(List)","u":"emailAddresses(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"emailAddresses(List)","u":"emailAddresses(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"emailAddresses(List)","u":"emailAddresses(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"emailAddresses(List)","u":"emailAddresses(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"emailAddresses(Optional>)","u":"emailAddresses(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"emailAddresses(Optional>)","u":"emailAddresses(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"emailAddresses(Optional>)","u":"emailAddresses(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"emailAddresses(Optional>)","u":"emailAddresses(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"emailDomains(List)","u":"emailDomains(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"emailDomains(List)","u":"emailDomains(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"emailDomains(List)","u":"emailDomains(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"emailDomains(List)","u":"emailDomains(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"emailDomains(Optional>)","u":"emailDomains(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"emailDomains(Optional>)","u":"emailDomains(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"emailDomains(Optional>)","u":"emailDomains(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"emailDomains(Optional>)","u":"emailDomains(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointCompression.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointCompression.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"Endpoint(String, String, OffsetDateTime, OffsetDateTime, URI, String, String, String, String, Optional, Optional, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.time.OffsetDateTime,java.net.URI,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"EndpointBackend(Optional, Ref)","u":"%3Cinit%3E(java.util.Optional,com.ngrok.definitions.Ref)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"EndpointIpPolicy(Optional, List)","u":"%3Cinit%3E(java.util.Optional,java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"EndpointList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"EndpointMutualTls(Optional, List)","u":"%3Cinit%3E(java.util.Optional,java.util.List)"},{"p":"com.ngrok","c":"Ngrok","l":"endpoints()"},{"p":"com.ngrok.services","c":"Endpoints","l":"Endpoints(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"EndpointSaml(Optional, Boolean, String, Long, Duration, String, Boolean, Optional, List, String, URI, URI, String, URI, String)","u":"%3Cinit%3E(java.util.Optional,java.lang.Boolean,java.lang.String,java.lang.Long,java.time.Duration,java.lang.String,java.lang.Boolean,java.util.Optional,java.util.List,java.lang.String,java.net.URI,java.net.URI,java.lang.String,java.net.URI,java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"enforced(boolean)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"enforced(boolean)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"enforced(Optional)","u":"enforced(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"enforced(Optional)","u":"enforced(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"Credential","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSource","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"Ref","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"errorThresholdPercentage(double)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"errorThresholdPercentage(Optional)","u":"errorThresholdPercentage(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"EventDestination(String, String, OffsetDateTime, String, String, EventTarget, URI)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.lang.String,com.ngrok.definitions.EventTarget,java.net.URI)"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"EventDestinationList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"eventDestinations()"},{"p":"com.ngrok.services","c":"EventDestinations","l":"EventDestinations(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventSource","l":"EventSource(String, URI)","u":"%3Cinit%3E(java.lang.String,java.net.URI)"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"EventSourceList(List, URI)","u":"%3Cinit%3E(java.util.List,java.net.URI)"},{"p":"com.ngrok","c":"Ngrok","l":"eventSources()"},{"p":"com.ngrok.services","c":"EventSources","l":"EventSources(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"EventSubscription(String, URI, OffsetDateTime, String, String, List, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.List,java.util.List)"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"EventSubscriptionList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"eventSubscriptions()"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"EventSubscriptions(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"extensions(Map)","u":"extensions(java.util.Map)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"extensions(Optional>)","u":"extensions(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"facebook(EndpointOAuthFacebook)","u":"facebook(com.ngrok.definitions.EndpointOAuthFacebook)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"facebook(Optional)","u":"facebook(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.BackendsNamespace","l":"failover()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"FailoverBackend(String, String, OffsetDateTime, String, String, List)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.List)"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"FailoverBackendList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"FailoverBackends(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"firehose(EventTargetFirehose)","u":"firehose(com.ngrok.definitions.EventTargetFirehose)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"firehose(Optional)","u":"firehose(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"forceAuthn(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"forceAuthn(Optional)","u":"forceAuthn(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"format(Optional)","u":"format(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"format(Optional)","u":"format(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"format(String)","u":"format(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"format(String)","u":"format(java.lang.String)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"GET"},{"p":"com.ngrok.services","c":"AbuseReports","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"Endpoints","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"Tunnels","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"Credential","l":"getAcl()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getAcl()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getAcmeChallengeCnameTarget()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getAction()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"getAdd()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"getAdd()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getAddr()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getAgentVersion()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getAllowIdpInitiated()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getAllowIdpInitiated()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getAssertionConsumerServiceUrl()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"getAuth()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"getAuth()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"getAuth()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getAuthCheckInterval()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"getAuthority()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getAuthorizedGroups()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getAuthorizedGroups()"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"getAwsAccessKeyId()"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"getAwsSecretAccessKey()"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"getBackend()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getBackend()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getBackend()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getBackend()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"getBackendId()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getBody()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getCaPem()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCertificate()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getCertificate()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getCertificate()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"getCertificateAuthorities()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"getCertificateAuthorities()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"getCertificateAuthorityIds()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCertificateManagementPolicy()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCertificateManagementStatus()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getCertificatePem()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getCidr()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getCircuitBreaker()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"getCloudwatchLogs()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCnameTarget()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getCompression()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getCookiePrefix()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getCookiePrefix()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getCookiePrefix()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getCookiePrefix()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getCredential()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"getCredentials()"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"getCreds()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getCriticalOptions()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"getDeliveryStreamArn()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getDestinations()"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"getDetails()"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"getDnsNames()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getDomain()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getDomain()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getDomain()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getEdge()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getEdgeId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getEmailAddresses()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getEmailAddresses()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getEmailAddresses()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getEmailAddresses()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getEmailDomains()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getEmailDomains()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getEmailDomains()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getEmailDomains()"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getEndpoint()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"getEndpoints()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getEnforced()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getEntityId()"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"getErrorCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"getErrorCode()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getErrorThresholdPercentage()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"getEventDestinations()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"getEventSubscriptions()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getExtendedKeyUsages()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getExtendedKeyUsages()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getExtensions()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"getFacebook()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"getFirehose()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getForceAuthn()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getForceAuthn()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getFormat()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getForwardsTo()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"getGithub()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"getGoogle()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getHeaders()"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"getHostname()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getHostnames()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getHostport()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getHostports()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getHostports()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getHostports()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"getHttpsEdges()"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"getHttpStatusCode()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getId()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getId()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getId()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getId()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getId()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getId()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getId()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getId()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getId()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getId()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getId()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getId()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getId()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getId()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getId()"},{"p":"com.ngrok.definitions","c":"Ref","l":"getId()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getId()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getId()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getId()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getId()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getId()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getId()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getId()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getId()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getId()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getId()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getId()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getId()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getId()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getIdpMetadata()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getIdpMetadata()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getInactivityTimeout()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getInactivityTimeout()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getInactivityTimeout()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getInactivityTimeout()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"getIngresses()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getIp()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"getIpPolicies()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"getIpPolicies()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getIpPolicies()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getIpPolicy()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"getIpPolicyIds()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"getIpPolicyRules()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getIpRestriction()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getIpRestriction()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getIpRestriction()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"getIpRestrictions()"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"getIps()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getIssuedAt()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getIssuer()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getIssuerCommonName()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"getKeys()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getKeyType()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getKeyType()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getKeyType()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getKeyUsages()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getKeyUsages()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"getKinesis()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getLabels()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getLabels()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"getLogGroupArn()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getMatch()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getMatchType()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getMaximumDuration()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getMaximumDuration()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getMaximumDuration()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getMaximumDuration()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getMetadataUrl()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"getMicrosoft()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"getMinVersion()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"getMinVersion()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"getMsg()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getMutualTls()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getMutualTls()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getNameidFormat()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getNameidFormat()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"Pageable","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getNotAfter()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getNotAfter()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getNotBefore()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getNotBefore()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getNsTargets()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getNumBuckets()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getOauth()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getOidc()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getOptionsPassthrough()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getOptionsPassthrough()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getOptionsPassthrough()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getOptionsPassthrough()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getOrganizations()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getOs()"},{"p":"com.ngrok.definitions","c":"Page","l":"getPage()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getPrincipals()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getPrincipals()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"getPrivateKeyType()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getPrivateKeyType()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getProto()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getProto()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getProvider()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"getProvider()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"getProvisioningJob()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getPublicKey()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getPublicKey()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getPublicKey()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getPublicKey()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getPublicUrl()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getPublicUrl()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getRegionDomains()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"getRemove()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"getRemove()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"getRenewsAt()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getRequestHeaders()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getRequestSigningCertificatePem()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"getReservedAddrs()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"getReservedDomains()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getResponseHeaders()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"getRetriesAt()"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"getRole()"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"getRoleArn()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getRollingWindow()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getRoutes()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getSaml()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"getSecret()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSerialNumber()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getSingleLogoutUrl()"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"getSources()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getSources()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"getSshCertificateAuthorities()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getSshCertificateAuthorityId()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getSshCertificateAuthorityId()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"getSshCredentials()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"getSshHostCertificates()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"getSshUserCertificates()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"getStartedAt()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getStartedAt()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getStartedAt()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getStatus()"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"getStatus()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getStatusCode()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"getStreamArn()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectAlternativeNames()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getSubjectCommonName()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectCommonName()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectCountry()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectLocality()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectOrganization()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectOrganizationalUnit()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectProvince()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getTarget()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getTcpAddr()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"getTcpEdges()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getTeams()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"getTerminateAt()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"getTlsCertificates()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"getTlsEdges()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getTlsTermination()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getTlsTermination()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getToken()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getToken()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getTransport()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getTrippedDuration()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getTunnel()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getTunnels()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"getTunnels()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getTunnelSession()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"getTunnelSessions()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getType()"},{"p":"com.ngrok.definitions","c":"EventSource","l":"getType()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"getType()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getType()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getUpdatedAt()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getUri()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getUri()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getUri()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getUri()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventSource","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getUri()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"Ref","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getUri()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getUrls()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getValidAfter()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getValidAfter()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getValidUntil()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getValidUntil()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getVolumeThreshold()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getWebhookVerification()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getWebsocketTcpConverter()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"github(EndpointOAuthGitHub)","u":"github(com.ngrok.definitions.EndpointOAuthGitHub)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"github(Optional)","u":"github(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"google(EndpointOAuthGoogle)","u":"google(com.ngrok.definitions.EndpointOAuthGoogle)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"google(Optional)","u":"google(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"Credential","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSource","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"Ref","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"hashCode()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"headers(Map)","u":"headers(java.util.Map)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"headers(Map)","u":"headers(java.util.Map)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"headers(Optional>)","u":"headers(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"headers(Optional>)","u":"headers(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"httpClient(Optional)","u":"httpClient(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"httpClient(WebClient)","u":"httpClient(com.linecorp.armeria.client.WebClient)"},{"p":"com.ngrok","c":"Ngrok.BackendsNamespace","l":"httpResponse()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"HttpResponseBackend(String, String, OffsetDateTime, String, String, String, Map, Integer)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.util.Map,java.lang.Integer)"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"HttpResponseBackendList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"HttpResponseBackends(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgesNamespace","l":"https()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"HttpsEdge(String, String, String, String, String, Optional>, Optional, Optional, List)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Optional,java.util.Optional,java.util.Optional,java.util.List)"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"HttpsEdgeList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeMutualTls()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule","l":"HttpsEdgeMutualTlsModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"HttpsEdgeRoute(String, String, String, String, String, String, String, String, Optional, Optional, Optional, Optional, Optional, Optional, Optional, Optional, Optional, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteBackend()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteCircuitBreaker()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteCompression()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteIpRestriction()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteOauth()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteOidc()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteRequestHeaders()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteResponseHeaders()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteSaml()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteWebhookVerification()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteWebsocketTcpConverter()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeTlsTermination()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule","l":"HttpsEdgeTlsTerminationModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgesNamespace","l":"httpsRoutes()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"idpMetadata(Optional)","u":"idpMetadata(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"idpMetadata(String)","u":"idpMetadata(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"inactivityTimeout(long)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"inactivityTimeout(long)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"inactivityTimeout(long)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"inactivityTimeout(Optional)","u":"inactivityTimeout(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"inactivityTimeout(Optional)","u":"inactivityTimeout(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"inactivityTimeout(Optional)","u":"inactivityTimeout(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"ipPolicies()"},{"p":"com.ngrok.services","c":"IpPolicies","l":"IpPolicies(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"IpPolicy(String, URI, OffsetDateTime, String, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"ipPolicyIds(List)","u":"ipPolicyIds(java.util.List)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"ipPolicyIds(List)","u":"ipPolicyIds(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"ipPolicyIds(Optional>)","u":"ipPolicyIds(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"ipPolicyIds(Optional>)","u":"ipPolicyIds(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"IpPolicyList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"IpPolicyRule(String, URI, OffsetDateTime, String, String, String, Ref, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,com.ngrok.definitions.Ref,java.lang.String)"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"IpPolicyRuleList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"ipPolicyRules()"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"IpPolicyRules(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"IpRestriction(String, URI, OffsetDateTime, String, String, Boolean, String, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.Boolean,java.lang.String,java.util.List)"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"IpRestrictionList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"ipRestrictions()"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"IpRestrictions(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"isErrorCode(String...)","u":"isErrorCode(java.lang.String...)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"issuer(Optional)","u":"issuer(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"issuer(String)","u":"issuer(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"keySize(long)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"keySize(Optional)","u":"keySize(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"kinesis(EventTargetKinesis)","u":"kinesis(com.ngrok.definitions.EventTargetKinesis)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"kinesis(Optional)","u":"kinesis(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"labels(Map)","u":"labels(java.util.Map)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"labels(Map)","u":"labels(java.util.Map)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"labels(Optional>)","u":"labels(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"labels(Optional>)","u":"labels(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"list()"},{"p":"com.ngrok.services","c":"ApiKeys","l":"list()"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"list()"},{"p":"com.ngrok.services","c":"Credentials","l":"list()"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"list()"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"list()"},{"p":"com.ngrok.services","c":"EdgesTls","l":"list()"},{"p":"com.ngrok.services","c":"Endpoints","l":"list()"},{"p":"com.ngrok.services","c":"EventDestinations","l":"list()"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"list()"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"list()"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"list()"},{"p":"com.ngrok.services","c":"IpPolicies","l":"list()"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"list()"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"list()"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"list()"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"list()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"list()"},{"p":"com.ngrok.services","c":"SshCredentials","l":"list()"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"list()"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"list()"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"list()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"list()"},{"p":"com.ngrok.services","c":"Tunnels","l":"list()"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"list()"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"list()"},{"p":"com.ngrok.services","c":"EventSources","l":"list(String)","u":"list(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"logGroupArn(Optional)","u":"logGroupArn(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"logGroupArn(String)","u":"logGroupArn(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"match(Optional)","u":"match(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"match(String)","u":"match(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"matchType(Optional)","u":"matchType(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"matchType(String)","u":"matchType(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"maximumDuration(Duration)","u":"maximumDuration(java.time.Duration)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"maximumDuration(Duration)","u":"maximumDuration(java.time.Duration)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"maximumDuration(Duration)","u":"maximumDuration(java.time.Duration)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"maximumDuration(Optional)","u":"maximumDuration(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"maximumDuration(Optional)","u":"maximumDuration(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"maximumDuration(Optional)","u":"maximumDuration(java.util.Optional)"},{"p":"com.ngrok.services","c":"AbuseReports.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"AbuseReports.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"microsoft(EndpointOAuthMicrosoft)","u":"microsoft(com.ngrok.definitions.EndpointOAuthMicrosoft)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"microsoft(Optional)","u":"microsoft(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"minVersion(Optional)","u":"minVersion(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"minVersion(Optional)","u":"minVersion(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"minVersion(String)","u":"minVersion(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"minVersion(String)","u":"minVersion(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.ReplaceCallBuilder","l":"module(EndpointBackendMutate)","u":"module(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.ReplaceCallBuilder","l":"module(EndpointBackendMutate)","u":"module(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.ReplaceCallBuilder","l":"module(EndpointBackendMutate)","u":"module(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.ReplaceCallBuilder","l":"module(EndpointCircuitBreaker)","u":"module(com.ngrok.definitions.EndpointCircuitBreaker)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.ReplaceCallBuilder","l":"module(EndpointCompression)","u":"module(com.ngrok.definitions.EndpointCompression)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.ReplaceCallBuilder","l":"module(EndpointIpPolicyMutate)","u":"module(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.ReplaceCallBuilder","l":"module(EndpointIpPolicyMutate)","u":"module(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.ReplaceCallBuilder","l":"module(EndpointIpPolicyMutate)","u":"module(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.ReplaceCallBuilder","l":"module(EndpointMutualTlsMutate)","u":"module(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.ReplaceCallBuilder","l":"module(EndpointMutualTlsMutate)","u":"module(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.ReplaceCallBuilder","l":"module(EndpointOAuth)","u":"module(com.ngrok.definitions.EndpointOAuth)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.ReplaceCallBuilder","l":"module(EndpointOidc)","u":"module(com.ngrok.definitions.EndpointOidc)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.ReplaceCallBuilder","l":"module(EndpointRequestHeaders)","u":"module(com.ngrok.definitions.EndpointRequestHeaders)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.ReplaceCallBuilder","l":"module(EndpointResponseHeaders)","u":"module(com.ngrok.definitions.EndpointResponseHeaders)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.ReplaceCallBuilder","l":"module(EndpointSamlMutate)","u":"module(com.ngrok.definitions.EndpointSamlMutate)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"module(EndpointTlsTermination)","u":"module(com.ngrok.definitions.EndpointTlsTermination)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"module(EndpointTlsTerminationAtEdge)","u":"module(com.ngrok.definitions.EndpointTlsTerminationAtEdge)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.ReplaceCallBuilder","l":"module(EndpointWebhookValidation)","u":"module(com.ngrok.definitions.EndpointWebhookValidation)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.ReplaceCallBuilder","l":"module(EndpointWebsocketTcpConverter)","u":"module(com.ngrok.definitions.EndpointWebsocketTcpConverter)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"mutualTls(EndpointMutualTlsMutate)","u":"mutualTls(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"mutualTls(EndpointMutualTlsMutate)","u":"mutualTls(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"mutualTls(EndpointMutualTlsMutate)","u":"mutualTls(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"mutualTls(EndpointMutualTlsMutate)","u":"mutualTls(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"mutualTls(Optional)","u":"mutualTls(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"mutualTls(Optional)","u":"mutualTls(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"mutualTls(Optional)","u":"mutualTls(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"mutualTls(Optional)","u":"mutualTls(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"nameidFormat(Optional)","u":"nameidFormat(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"nameidFormat(String)","u":"nameidFormat(java.lang.String)"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"newBuilder()"},{"p":"com.ngrok","c":"DefaultNgrokApiClient","l":"newBuilder(String)","u":"newBuilder(java.lang.String)"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"newBuilder(String)","u":"newBuilder(java.lang.String)"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"newBuilder(String, String)","u":"newBuilder(java.lang.String,java.lang.String)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient","l":"newDefaultHttpClient()"},{"p":"com.ngrok.definitions","c":"Page","l":"next()"},{"p":"com.ngrok","c":"Ngrok","l":"Ngrok(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"NgrokApiError(int)","u":"%3Cinit%3E(int)"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"NgrokApiError(int, Optional, Throwable)","u":"%3Cinit%3E(int,java.util.Optional,java.lang.Throwable)"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"NgrokApiError(String, int, Optional, Map)","u":"%3Cinit%3E(java.lang.String,int,java.util.Optional,java.util.Map)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"numBuckets(long)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"numBuckets(Optional)","u":"numBuckets(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"oauth(EndpointOAuth)","u":"oauth(com.ngrok.definitions.EndpointOAuth)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"oauth(EndpointOAuth)","u":"oauth(com.ngrok.definitions.EndpointOAuth)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"oauth(Optional)","u":"oauth(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"oauth(Optional)","u":"oauth(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"objectMapper(ObjectMapper)","u":"objectMapper(com.fasterxml.jackson.databind.ObjectMapper)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"objectMapper(Optional)","u":"objectMapper(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"oidc(EndpointOidc)","u":"oidc(com.ngrok.definitions.EndpointOidc)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"oidc(EndpointOidc)","u":"oidc(com.ngrok.definitions.EndpointOidc)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"oidc(Optional)","u":"oidc(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"oidc(Optional)","u":"oidc(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"optionsPassthrough(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"optionsPassthrough(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"optionsPassthrough(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"optionsPassthrough(Optional)","u":"optionsPassthrough(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"optionsPassthrough(Optional)","u":"optionsPassthrough(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"optionsPassthrough(Optional)","u":"optionsPassthrough(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"organizations(List)","u":"organizations(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"organizations(Optional>)","u":"organizations(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"Page","l":"Page(NgrokApiClient, T)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient,T)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"PATCH"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"POST"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"principals(List)","u":"principals(java.util.List)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"principals(List)","u":"principals(java.util.List)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"principals(Optional>)","u":"principals(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"principals(Optional>)","u":"principals(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"privateKeyType(Optional)","u":"privateKeyType(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"privateKeyType(Optional)","u":"privateKeyType(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"privateKeyType(String)","u":"privateKeyType(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"privateKeyType(String)","u":"privateKeyType(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"provider(EndpointOAuthProvider)","u":"provider(com.ngrok.definitions.EndpointOAuthProvider)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"provider(Optional)","u":"provider(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"provider(Optional)","u":"provider(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"provider(String)","u":"provider(java.lang.String)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"PUT"},{"p":"com.ngrok.definitions","c":"Ref","l":"Ref(String, URI)","u":"%3Cinit%3E(java.lang.String,java.net.URI)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"region(Optional)","u":"region(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"region(Optional)","u":"region(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"region(String)","u":"region(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"region(String)","u":"region(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"remove(List)","u":"remove(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"remove(List)","u":"remove(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"remove(Optional>)","u":"remove(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"remove(Optional>)","u":"remove(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"requestHeaders(EndpointRequestHeaders)","u":"requestHeaders(com.ngrok.definitions.EndpointRequestHeaders)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"requestHeaders(EndpointRequestHeaders)","u":"requestHeaders(com.ngrok.definitions.EndpointRequestHeaders)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"requestHeaders(Optional)","u":"requestHeaders(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"requestHeaders(Optional)","u":"requestHeaders(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"ReservedAddr(String, URI, OffsetDateTime, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"ReservedAddrList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"reservedAddrs()"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"ReservedAddrs(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"ReservedDomain(String, URI, OffsetDateTime, String, String, String, String, Optional, Optional, Optional, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"ReservedDomainCertJob(Optional, String, OffsetDateTime, Optional)","u":"%3Cinit%3E(java.util.Optional,java.lang.String,java.time.OffsetDateTime,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"ReservedDomainCertStatus(Optional, Optional)","u":"%3Cinit%3E(java.util.Optional,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"ReservedDomainList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"reservedDomains()"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"ReservedDomains(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"responseHeaders(EndpointResponseHeaders)","u":"responseHeaders(com.ngrok.definitions.EndpointResponseHeaders)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"responseHeaders(EndpointResponseHeaders)","u":"responseHeaders(com.ngrok.definitions.EndpointResponseHeaders)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"responseHeaders(Optional)","u":"responseHeaders(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"responseHeaders(Optional)","u":"responseHeaders(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"restart(String)","u":"restart(java.lang.String)"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"role(AwsRole)","u":"role(com.ngrok.definitions.AwsRole)"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"role(Optional)","u":"role(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"rollingWindow(long)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"rollingWindow(Optional)","u":"rollingWindow(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"saml(EndpointSamlMutate)","u":"saml(com.ngrok.definitions.EndpointSamlMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"saml(EndpointSamlMutate)","u":"saml(com.ngrok.definitions.EndpointSamlMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"saml(Optional)","u":"saml(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"saml(Optional)","u":"saml(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"secret(Optional)","u":"secret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"secret(String)","u":"secret(java.lang.String)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient","l":"sendRequest(NgrokApiClient.HttpMethod, String, Stream>>, Stream>>, Optional>)","u":"sendRequest(com.ngrok.NgrokApiClient.HttpMethod,java.lang.String,java.util.stream.Stream,java.util.stream.Stream,java.util.Optional)"},{"p":"com.ngrok","c":"NgrokApiClient","l":"sendRequest(NgrokApiClient.HttpMethod, String, Stream>>, Stream>>, Optional>)","u":"sendRequest(com.ngrok.NgrokApiClient.HttpMethod,java.lang.String,java.util.stream.Stream,java.util.stream.Stream,java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient","l":"sendRequest(URI, Class)","u":"sendRequest(java.net.URI,java.lang.Class)"},{"p":"com.ngrok","c":"NgrokApiClient","l":"sendRequest(URI, Class)","u":"sendRequest(java.net.URI,java.lang.Class)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"sources(List)","u":"sources(java.util.List)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"sources(List)","u":"sources(java.util.List)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"sources(Optional>)","u":"sources(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"sources(Optional>)","u":"sources(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"sshCertificateAuthorities()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"SshCertificateAuthorities(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"SshCertificateAuthority(String, URI, OffsetDateTime, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"SshCertificateAuthorityList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"SshCredential(String, URI, OffsetDateTime, String, String, String, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.util.List)"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"SshCredentialList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"sshCredentials()"},{"p":"com.ngrok.services","c":"SshCredentials","l":"SshCredentials(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"SshHostCertificate(String, URI, OffsetDateTime, String, String, String, String, String, List, OffsetDateTime, OffsetDateTime, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.List,java.time.OffsetDateTime,java.time.OffsetDateTime,java.lang.String)"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"SshHostCertificateList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"sshHostCertificates()"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"SshHostCertificates(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"SshUserCertificate(String, URI, OffsetDateTime, String, String, String, String, String, List, Map, Map, OffsetDateTime, OffsetDateTime, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.List,java.util.Map,java.util.Map,java.time.OffsetDateTime,java.time.OffsetDateTime,java.lang.String)"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"SshUserCertificateList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"sshUserCertificates()"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"SshUserCertificates(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"statusCode(int)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"statusCode(int)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"statusCode(Optional)","u":"statusCode(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"statusCode(Optional)","u":"statusCode(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"stop(String)","u":"stop(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"streamArn(Optional)","u":"streamArn(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"streamArn(String)","u":"streamArn(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"target(EventTarget)","u":"target(com.ngrok.definitions.EventTarget)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"target(EventTarget)","u":"target(com.ngrok.definitions.EventTarget)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"target(Optional)","u":"target(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"target(Optional)","u":"target(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgesNamespace","l":"tcp()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"TcpEdge(String, String, String, OffsetDateTime, URI, Optional>, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.net.URI,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tcpEdgeBackend()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule","l":"TcpEdgeBackendModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tcpEdgeIpRestriction()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule","l":"TcpEdgeIpRestrictionModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"TcpEdgeList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"teams(List)","u":"teams(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"teams(Optional>)","u":"teams(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"terminateAt(Optional)","u":"terminateAt(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"terminateAt(String)","u":"terminateAt(java.lang.String)"},{"p":"com.ngrok","c":"Ngrok.EdgesNamespace","l":"tls()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"TlsCertificate(String, URI, OffsetDateTime, String, String, String, String, TlsCertificateSaNs, Optional, OffsetDateTime, OffsetDateTime, List, List, String, String, String, String, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.ngrok.definitions.TlsCertificateSaNs,java.util.Optional,java.time.OffsetDateTime,java.time.OffsetDateTime,java.util.List,java.util.List,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"TlsCertificateList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"tlsCertificates()"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"TlsCertificates(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"TlsCertificateSaNs(List, List)","u":"%3Cinit%3E(java.util.List,java.util.List)"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"TlsEdge(String, String, String, OffsetDateTime, URI, Optional>, Optional, Optional, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.net.URI,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tlsEdgeBackend()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule","l":"TlsEdgeBackendModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tlsEdgeIpRestriction()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule","l":"TlsEdgeIpRestrictionModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"TlsEdgeList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tlsEdgeMutualTls()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule","l":"TlsEdgeMutualTlsModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tlsEdgeTlsTermination()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule","l":"TlsEdgeTlsTerminationModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"tlsTermination(EndpointTlsTermination)","u":"tlsTermination(com.ngrok.definitions.EndpointTlsTermination)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"tlsTermination(EndpointTlsTermination)","u":"tlsTermination(com.ngrok.definitions.EndpointTlsTermination)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"tlsTermination(EndpointTlsTerminationAtEdge)","u":"tlsTermination(com.ngrok.definitions.EndpointTlsTerminationAtEdge)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"tlsTermination(EndpointTlsTerminationAtEdge)","u":"tlsTermination(com.ngrok.definitions.EndpointTlsTerminationAtEdge)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"tlsTermination(Optional)","u":"tlsTermination(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"tlsTermination(Optional)","u":"tlsTermination(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"tlsTermination(Optional)","u":"tlsTermination(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"tlsTermination(Optional)","u":"tlsTermination(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"toString()"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"toString()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"toString()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"toString()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"toString()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"toString()"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"toString()"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"toString()"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"toString()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"toString()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"toString()"},{"p":"com.ngrok.definitions","c":"Credential","l":"toString()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"toString()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSource","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"toString()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"toString()"},{"p":"com.ngrok.definitions","c":"Ref","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"toString()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"toString()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"toString()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"trippedDuration(Duration)","u":"trippedDuration(java.time.Duration)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"trippedDuration(Optional)","u":"trippedDuration(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"Tunnel(String, URI, OffsetDateTime, String, String, String, Ref, Optional, Map, Optional>, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,com.ngrok.definitions.Ref,java.util.Optional,java.util.Map,java.util.Optional,java.lang.String)"},{"p":"com.ngrok","c":"Ngrok.BackendsNamespace","l":"tunnelGroup()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"TunnelGroupBackend(String, String, OffsetDateTime, String, String, Map, List)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.Map,java.util.List)"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"TunnelGroupBackendList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"TunnelGroupBackends(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"TunnelList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"tunnels()"},{"p":"com.ngrok.services","c":"Tunnels","l":"Tunnels(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"TunnelSession(String, Ref, String, String, String, String, String, OffsetDateTime, String, URI)","u":"%3Cinit%3E(java.lang.String,com.ngrok.definitions.Ref,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.net.URI)"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"TunnelSessionList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"tunnelSessions()"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"TunnelSessions(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventSourceReplace.Builder","l":"type(Optional)","u":"type(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSources.CreateCallBuilder","l":"type(Optional)","u":"type(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventSourceReplace.Builder","l":"type(String)","u":"type(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources.CreateCallBuilder","l":"type(String)","u":"type(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"update(String, String)","u":"update(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources","l":"update(String, String)","u":"update(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"validAfter(OffsetDateTime)","u":"validAfter(java.time.OffsetDateTime)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"validAfter(OffsetDateTime)","u":"validAfter(java.time.OffsetDateTime)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"validAfter(Optional)","u":"validAfter(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"validAfter(Optional)","u":"validAfter(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"validUntil(OffsetDateTime)","u":"validUntil(java.time.OffsetDateTime)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"validUntil(OffsetDateTime)","u":"validUntil(java.time.OffsetDateTime)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"validUntil(Optional)","u":"validUntil(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"validUntil(Optional)","u":"validUntil(java.util.Optional)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"values()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"volumeThreshold(long)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"volumeThreshold(Optional)","u":"volumeThreshold(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"webhookVerification(EndpointWebhookValidation)","u":"webhookVerification(com.ngrok.definitions.EndpointWebhookValidation)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"webhookVerification(EndpointWebhookValidation)","u":"webhookVerification(com.ngrok.definitions.EndpointWebhookValidation)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"webhookVerification(Optional)","u":"webhookVerification(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"webhookVerification(Optional)","u":"webhookVerification(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"websocketTcpConverter(EndpointWebsocketTcpConverter)","u":"websocketTcpConverter(com.ngrok.definitions.EndpointWebsocketTcpConverter)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"websocketTcpConverter(EndpointWebsocketTcpConverter)","u":"websocketTcpConverter(com.ngrok.definitions.EndpointWebsocketTcpConverter)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"websocketTcpConverter(Optional)","u":"websocketTcpConverter(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"websocketTcpConverter(Optional)","u":"websocketTcpConverter(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.BackendsNamespace","l":"weighted()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"WeightedBackend(String, String, OffsetDateTime, String, String, Map)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.Map)"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"WeightedBackendList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"WeightedBackends(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"com.ngrok.definitions","c":"AbuseReport","l":"AbuseReport(String, URI, OffsetDateTime, List, String, String, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.util.List,java.lang.String,java.lang.String,java.util.List)"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"AbuseReportHostname(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.ngrok","c":"Ngrok","l":"abuseReports()"},{"p":"com.ngrok.services","c":"AbuseReports","l":"AbuseReports(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"acl(List)","u":"acl(java.util.List)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"acl(List)","u":"acl(java.util.List)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"acl(List)","u":"acl(java.util.List)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"acl(List)","u":"acl(java.util.List)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"acl(Optional>)","u":"acl(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"acl(Optional>)","u":"acl(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"acl(Optional>)","u":"acl(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"acl(Optional>)","u":"acl(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"add(Map)","u":"add(java.util.Map)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"add(Map)","u":"add(java.util.Map)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"add(Optional>)","u":"add(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"add(Optional>)","u":"add(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"AgentIngress(String, URI, String, String, String, List, List, OffsetDateTime)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.lang.String,java.lang.String,java.lang.String,java.util.List,java.util.List,java.time.OffsetDateTime)"},{"p":"com.ngrok","c":"Ngrok","l":"agentIngresses()"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"AgentIngresses(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"AgentIngressList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"allowIdpInitiated(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"allowIdpInitiated(Optional)","u":"allowIdpInitiated(java.util.Optional)"},{"p":"com.ngrok","c":"Version","l":"API_VERSION"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"ApiKey(String, URI, String, String, OffsetDateTime, Optional)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"ApiKeyList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"apiKeys()"},{"p":"com.ngrok.services","c":"ApiKeys","l":"ApiKeys(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"auth(AwsAuth)","u":"auth(com.ngrok.definitions.AwsAuth)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"auth(AwsAuth)","u":"auth(com.ngrok.definitions.AwsAuth)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"auth(AwsAuth)","u":"auth(com.ngrok.definitions.AwsAuth)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"auth(Optional)","u":"auth(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"auth(Optional)","u":"auth(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"auth(Optional)","u":"auth(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"authCheckInterval(long)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"authCheckInterval(Optional)","u":"authCheckInterval(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"authority(Optional)","u":"authority(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"authority(String)","u":"authority(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"authorizedGroups(List)","u":"authorizedGroups(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"authorizedGroups(Optional>)","u":"authorizedGroups(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"backend(EndpointBackendMutate)","u":"backend(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"backend(Optional)","u":"backend(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"backendId(Optional)","u":"backendId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"backendId(String)","u":"backendId(java.lang.String)"},{"p":"com.ngrok","c":"Ngrok","l":"backends()"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"backends(List)","u":"backends(java.util.List)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"backends(List)","u":"backends(java.util.List)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"backends(Map)","u":"backends(java.util.Map)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"backends(Map)","u":"backends(java.util.Map)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"backends(Optional>)","u":"backends(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"backends(Optional>)","u":"backends(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"backends(Optional>)","u":"backends(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"backends(Optional>)","u":"backends(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"baseUri(Optional)","u":"baseUri(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"baseUri(URI)","u":"baseUri(java.net.URI)"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"beforeId(Optional)","u":"beforeId(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"beforeId(String)","u":"beforeId(java.lang.String)"},{"p":"com.ngrok.services","c":"AbuseReports.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AbuseReports.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Endpoints.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSources.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCertificateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCertificateManagementPolicyCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Tunnels.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.RestartCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.StopCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"TunnelSessions.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.DeleteCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.GetCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"blockingCall()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"body(Optional)","u":"body(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"body(Optional)","u":"body(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"body(String)","u":"body(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"body(String)","u":"body(java.lang.String)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"AwsCredentials.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"AwsRole.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointCompression.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"build()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"build()"},{"p":"com.ngrok.services","c":"AbuseReports.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AbuseReports.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Endpoints.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSources.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCertificateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.DeleteCertificateManagementPolicyCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Tunnels.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.RestartCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.StopCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"TunnelSessions.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.DeleteCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.GetCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"call()"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"call()"},{"p":"com.ngrok","c":"Ngrok","l":"certificateAuthorities()"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"CertificateAuthorities(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"CertificateAuthority(String, URI, OffsetDateTime, String, String, String, String, OffsetDateTime, OffsetDateTime, List, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.time.OffsetDateTime,java.util.List,java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"certificateAuthorityIds(List)","u":"certificateAuthorityIds(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"certificateAuthorityIds(Optional>)","u":"certificateAuthorityIds(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"CertificateAuthorityList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"certificateId(Optional)","u":"certificateId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"certificateId(Optional)","u":"certificateId(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"certificateId(String)","u":"certificateId(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"certificateId(String)","u":"certificateId(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"certificateManagementPolicy(Optional)","u":"certificateManagementPolicy(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"certificateManagementPolicy(Optional)","u":"certificateManagementPolicy(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"certificateManagementPolicy(ReservedDomainCertPolicy)","u":"certificateManagementPolicy(com.ngrok.definitions.ReservedDomainCertPolicy)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"certificateManagementPolicy(ReservedDomainCertPolicy)","u":"certificateManagementPolicy(com.ngrok.definitions.ReservedDomainCertPolicy)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"cidr(Optional)","u":"cidr(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"cidr(String)","u":"cidr(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"circuitBreaker(EndpointCircuitBreaker)","u":"circuitBreaker(com.ngrok.definitions.EndpointCircuitBreaker)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"circuitBreaker(EndpointCircuitBreaker)","u":"circuitBreaker(com.ngrok.definitions.EndpointCircuitBreaker)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"circuitBreaker(Optional)","u":"circuitBreaker(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"circuitBreaker(Optional)","u":"circuitBreaker(java.util.Optional)"},{"p":"com.ngrok","c":"Version","l":"CLIENT_VERSION"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"clientId(Optional)","u":"clientId(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"clientId(String)","u":"clientId(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"clientSecret(Optional)","u":"clientSecret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"clientSecret(String)","u":"clientSecret(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"cloudwatchLogs(EventTargetCloudwatchLogs)","u":"cloudwatchLogs(com.ngrok.definitions.EventTargetCloudwatchLogs)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"cloudwatchLogs(Optional)","u":"cloudwatchLogs(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"compression(EndpointCompression)","u":"compression(com.ngrok.definitions.EndpointCompression)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"compression(EndpointCompression)","u":"compression(com.ngrok.definitions.EndpointCompression)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"compression(Optional)","u":"compression(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"compression(Optional)","u":"compression(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"cookiePrefix(Optional)","u":"cookiePrefix(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"cookiePrefix(Optional)","u":"cookiePrefix(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"cookiePrefix(Optional)","u":"cookiePrefix(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"cookiePrefix(String)","u":"cookiePrefix(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"cookiePrefix(String)","u":"cookiePrefix(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"cookiePrefix(String)","u":"cookiePrefix(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys","l":"create()"},{"p":"com.ngrok.services","c":"Credentials","l":"create()"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"create()"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"create()"},{"p":"com.ngrok.services","c":"EdgesTls","l":"create()"},{"p":"com.ngrok.services","c":"EventDestinations","l":"create()"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"create()"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"create()"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"create()"},{"p":"com.ngrok.services","c":"IpPolicies","l":"create()"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"create()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"create()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"create()"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"create()"},{"p":"com.ngrok.services","c":"AbuseReports","l":"create(List)","u":"create(java.util.List)"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials","l":"create(String)","u":"create(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"create(String, List)","u":"create(java.lang.String,java.util.List)"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"create(String, String)","u":"create(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"create(String, String)","u":"create(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"create(String, String)","u":"create(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"create(String, String, String)","u":"create(java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"create(String, String, String)","u":"create(java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok","c":"Ngrok","l":"createDefault()"},{"p":"com.ngrok","c":"Ngrok","l":"createDefault(String)","u":"createDefault(java.lang.String)"},{"p":"com.ngrok.definitions","c":"Credential","l":"Credential(String, URI, OffsetDateTime, String, String, Optional, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.Optional,java.util.List)"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"CredentialList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"credentials()"},{"p":"com.ngrok.services","c":"Credentials","l":"Credentials(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"creds(AwsCredentials)","u":"creds(com.ngrok.definitions.AwsCredentials)"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"creds(Optional)","u":"creds(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"criticalOptions(Map)","u":"criticalOptions(java.util.Map)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"criticalOptions(Optional>)","u":"criticalOptions(java.util.Optional)"},{"p":"com.ngrok","c":"NgrokApiClient","l":"DEFAULT_BASE_URI"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"DELETE"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"delete(String)","u":"delete(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources","l":"delete(String, String)","u":"delete(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"deleteCertificate(String)","u":"deleteCertificate(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"deleteCertificateManagementPolicy(String)","u":"deleteCertificateManagementPolicy(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"deliveryStreamArn(Optional)","u":"deliveryStreamArn(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose.Builder","l":"deliveryStreamArn(String)","u":"deliveryStreamArn(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"description(Optional)","u":"description(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"description(String)","u":"description(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"destinationIds(List)","u":"destinationIds(java.util.List)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"destinationIds(List)","u":"destinationIds(java.util.List)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"destinationIds(Optional>)","u":"destinationIds(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"destinationIds(Optional>)","u":"destinationIds(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"edgeModules()"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule","l":"EdgeRouteBackendModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule","l":"EdgeRouteCircuitBreakerModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule","l":"EdgeRouteCompressionModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule","l":"EdgeRouteIpRestrictionModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule","l":"EdgeRouteOAuthModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule","l":"EdgeRouteOidcModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule","l":"EdgeRouteRequestHeadersModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule","l":"EdgeRouteResponseHeadersModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule","l":"EdgeRouteSamlModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule","l":"EdgeRouteWebhookVerificationModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule","l":"EdgeRouteWebsocketTcpConverterModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok","l":"edges()"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"EdgesHttps(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"EdgesHttpsRoutes(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"EdgesTcp(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesTls","l":"EdgesTls(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"ellipticCurve(Optional)","u":"ellipticCurve(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"ellipticCurve(String)","u":"ellipticCurve(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"emailAddresses(List)","u":"emailAddresses(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"emailAddresses(List)","u":"emailAddresses(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"emailAddresses(List)","u":"emailAddresses(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"emailAddresses(List)","u":"emailAddresses(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"emailAddresses(Optional>)","u":"emailAddresses(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"emailAddresses(Optional>)","u":"emailAddresses(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"emailAddresses(Optional>)","u":"emailAddresses(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"emailAddresses(Optional>)","u":"emailAddresses(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"emailDomains(List)","u":"emailDomains(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"emailDomains(List)","u":"emailDomains(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"emailDomains(List)","u":"emailDomains(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"emailDomains(List)","u":"emailDomains(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"emailDomains(Optional>)","u":"emailDomains(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"emailDomains(Optional>)","u":"emailDomains(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"emailDomains(Optional>)","u":"emailDomains(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"emailDomains(Optional>)","u":"emailDomains(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointCompression.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter.Builder","l":"enabled(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointCompression.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter.Builder","l":"enabled(Optional)","u":"enabled(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"Endpoint(String, String, OffsetDateTime, OffsetDateTime, URI, String, String, String, String, Optional, Optional, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.time.OffsetDateTime,java.net.URI,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"EndpointBackend(Optional, Ref)","u":"%3Cinit%3E(java.util.Optional,com.ngrok.definitions.Ref)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"EndpointIpPolicy(Optional, List)","u":"%3Cinit%3E(java.util.Optional,java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"EndpointList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"EndpointMutualTls(Optional, List)","u":"%3Cinit%3E(java.util.Optional,java.util.List)"},{"p":"com.ngrok","c":"Ngrok","l":"endpoints()"},{"p":"com.ngrok.services","c":"Endpoints","l":"Endpoints(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"EndpointSaml(Optional, Boolean, String, Long, Duration, String, Boolean, Optional, List, String, URI, URI, String, URI, String)","u":"%3Cinit%3E(java.util.Optional,java.lang.Boolean,java.lang.String,java.lang.Long,java.time.Duration,java.lang.String,java.lang.Boolean,java.util.Optional,java.util.List,java.lang.String,java.net.URI,java.net.URI,java.lang.String,java.net.URI,java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"enforced(boolean)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"enforced(boolean)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"enforced(Optional)","u":"enforced(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"enforced(Optional)","u":"enforced(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"Credential","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSource","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"Ref","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"errorThresholdPercentage(double)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"errorThresholdPercentage(Optional)","u":"errorThresholdPercentage(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"EventDestination(String, String, OffsetDateTime, String, String, EventTarget, URI)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.lang.String,com.ngrok.definitions.EventTarget,java.net.URI)"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"EventDestinationList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"eventDestinations()"},{"p":"com.ngrok.services","c":"EventDestinations","l":"EventDestinations(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventSource","l":"EventSource(String, URI)","u":"%3Cinit%3E(java.lang.String,java.net.URI)"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"EventSourceList(List, URI)","u":"%3Cinit%3E(java.util.List,java.net.URI)"},{"p":"com.ngrok","c":"Ngrok","l":"eventSources()"},{"p":"com.ngrok.services","c":"EventSources","l":"EventSources(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"EventSubscription(String, URI, OffsetDateTime, String, String, List, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.List,java.util.List)"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"EventSubscriptionList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"eventSubscriptions()"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"EventSubscriptions(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"extensions(Map)","u":"extensions(java.util.Map)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"extensions(Optional>)","u":"extensions(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"facebook(EndpointOAuthFacebook)","u":"facebook(com.ngrok.definitions.EndpointOAuthFacebook)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"facebook(Optional)","u":"facebook(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.BackendsNamespace","l":"failover()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"FailoverBackend(String, URI, OffsetDateTime, String, String, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.List)"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"FailoverBackendList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"FailoverBackends(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"firehose(EventTargetFirehose)","u":"firehose(com.ngrok.definitions.EventTargetFirehose)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"firehose(Optional)","u":"firehose(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"forceAuthn(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"forceAuthn(Optional)","u":"forceAuthn(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"format(Optional)","u":"format(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"format(Optional)","u":"format(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"format(String)","u":"format(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"format(String)","u":"format(java.lang.String)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"GET"},{"p":"com.ngrok.services","c":"AbuseReports","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"Endpoints","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"Tunnels","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"get(String)","u":"get(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources","l":"get(String, String)","u":"get(java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"Credential","l":"getAcl()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getAcl()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getAcmeChallengeCnameTarget()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getAction()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"getAdd()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"getAdd()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getAddr()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getAgentVersion()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getAllowIdpInitiated()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getAllowIdpInitiated()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getAssertionConsumerServiceUrl()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"getAuth()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"getAuth()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"getAuth()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getAuthCheckInterval()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"getAuthority()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getAuthorizedGroups()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getAuthorizedGroups()"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"getAwsAccessKeyId()"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"getAwsSecretAccessKey()"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"getBackend()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getBackend()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getBackend()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getBackend()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"getBackendId()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"getBackends()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getBody()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getCaPem()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCertificate()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getCertificate()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getCertificate()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"getCertificateAuthorities()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"getCertificateAuthorities()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"getCertificateAuthorityIds()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCertificateManagementPolicy()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCertificateManagementStatus()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getCertificatePem()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getCidr()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getCircuitBreaker()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getClientId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getClientSecret()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"getCloudwatchLogs()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCnameTarget()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getCompression()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getCookiePrefix()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getCookiePrefix()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getCookiePrefix()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getCookiePrefix()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getCreatedAt()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getCredential()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"getCredentials()"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"getCreds()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getCriticalOptions()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"getDeliveryStreamArn()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getDescription()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getDestinations()"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"getDetails()"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"getDnsNames()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getDomain()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getDomain()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getDomain()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getEdge()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getEdgeId()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getEmailAddresses()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getEmailAddresses()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getEmailAddresses()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getEmailAddresses()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getEmailDomains()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getEmailDomains()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getEmailDomains()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getEmailDomains()"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"getEnabled()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getEndpoint()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"getEndpoints()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getEnforced()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getEntityId()"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"getErrorCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"getErrorCode()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getErrorThresholdPercentage()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"getEventDestinations()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"getEventSubscriptions()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getExtendedKeyUsages()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getExtendedKeyUsages()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getExtensions()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"getFacebook()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"getFirehose()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getForceAuthn()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getForceAuthn()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getFormat()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getForwardsTo()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"getGithub()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"getGoogle()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getHeaders()"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"getHostname()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getHostnames()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getHostport()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getHostports()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getHostports()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getHostports()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"getHttpsEdges()"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"getHttpStatusCode()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getId()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getId()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getId()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getId()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getId()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getId()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getId()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getId()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getId()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getId()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getId()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getId()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getId()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getId()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getId()"},{"p":"com.ngrok.definitions","c":"Ref","l":"getId()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getId()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getId()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getId()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getId()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getId()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getId()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getId()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getId()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getId()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getId()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getId()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getId()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getId()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getIdpMetadata()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getIdpMetadata()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getInactivityTimeout()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getInactivityTimeout()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getInactivityTimeout()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getInactivityTimeout()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"getIngresses()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getIp()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"getIpPolicies()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"getIpPolicies()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getIpPolicies()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getIpPolicy()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"getIpPolicyIds()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"getIpPolicyRules()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getIpRestriction()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getIpRestriction()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getIpRestriction()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"getIpRestrictions()"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"getIps()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getIssuedAt()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getIssuer()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getIssuerCommonName()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"getKeys()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getKeyType()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getKeyType()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getKeyType()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getKeyUsages()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getKeyUsages()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"getKinesis()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getLabels()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getLabels()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"getLogGroupArn()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getMatch()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getMatchType()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getMaximumDuration()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getMaximumDuration()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getMaximumDuration()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getMaximumDuration()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getMetadata()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getMetadataUrl()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"getMicrosoft()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"getMinVersion()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"getMinVersion()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"getMsg()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getMutualTls()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getMutualTls()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getNameidFormat()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getNameidFormat()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"Pageable","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"getNextPageUri()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getNotAfter()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getNotAfter()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getNotBefore()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getNotBefore()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getNsTargets()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getNumBuckets()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getOauth()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getOidc()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getOptionsPassthrough()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getOptionsPassthrough()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getOptionsPassthrough()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"getOptionsPassthrough()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getOrganizations()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getOs()"},{"p":"com.ngrok.definitions","c":"Page","l":"getPage()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getPrincipals()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getPrincipals()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"getPrivateKeyType()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getPrivateKeyType()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getProto()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getProto()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"getProvider()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"getProvider()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"getProvisioningJob()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getPublicKey()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getPublicKey()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getPublicKey()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getPublicKey()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getPublicUrl()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getPublicUrl()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getRegion()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getRegionDomains()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"getRemove()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"getRemove()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"getRenewsAt()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getRequestHeaders()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getRequestSigningCertificatePem()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"getReservedAddrs()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"getReservedDomains()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getResponseHeaders()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"getRetriesAt()"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"getRole()"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"getRoleArn()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getRollingWindow()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getRoutes()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getSaml()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"getScopes()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"getSecret()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSerialNumber()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"getSingleLogoutUrl()"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"getSources()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getSources()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"getSshCertificateAuthorities()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getSshCertificateAuthorityId()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getSshCertificateAuthorityId()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"getSshCredentials()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"getSshHostCertificates()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"getSshUserCertificates()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"getStartedAt()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getStartedAt()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getStartedAt()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getStatus()"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"getStatus()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getStatusCode()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"getStreamArn()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectAlternativeNames()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getSubjectCommonName()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectCommonName()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectCountry()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectLocality()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectOrganization()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectOrganizationalUnit()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getSubjectProvince()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getTarget()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getTcpAddr()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"getTcpEdges()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"getTeams()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"getTerminateAt()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"getTlsCertificates()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"getTlsEdges()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getTlsTermination()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getTlsTermination()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getToken()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getToken()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getTransport()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getTrippedDuration()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getTunnel()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getTunnels()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"getTunnels()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"getTunnelSession()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"getTunnelSessions()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getType()"},{"p":"com.ngrok.definitions","c":"EventSource","l":"getType()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"getType()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getType()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"getUpdatedAt()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getUri()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"getUri()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"getUri()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"Credential","l":"getUri()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventSource","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"getUri()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"getUri()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"getUri()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"Ref","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"getUri()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getUri()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"getUri()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"getUri()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"getUri()"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"getUrls()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getValidAfter()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getValidAfter()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"getValidUntil()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"getValidUntil()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"getVolumeThreshold()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getWebhookVerification()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"getWebsocketTcpConverter()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"github(EndpointOAuthGitHub)","u":"github(com.ngrok.definitions.EndpointOAuthGitHub)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"github(Optional)","u":"github(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"google(EndpointOAuthGoogle)","u":"google(com.ngrok.definitions.EndpointOAuthGoogle)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"google(Optional)","u":"google(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"Credential","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSource","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"Ref","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"hashCode()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"hashCode()"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"headers(Map)","u":"headers(java.util.Map)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"headers(Map)","u":"headers(java.util.Map)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"headers(Optional>)","u":"headers(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"headers(Optional>)","u":"headers(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"hostports(List)","u":"hostports(java.util.List)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"hostports(Optional>)","u":"hostports(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"httpClient(Optional)","u":"httpClient(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"httpClient(WebClient)","u":"httpClient(com.linecorp.armeria.client.WebClient)"},{"p":"com.ngrok","c":"Ngrok.BackendsNamespace","l":"httpResponse()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"HttpResponseBackend(String, URI, OffsetDateTime, String, String, String, Map, Integer)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.util.Map,java.lang.Integer)"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"HttpResponseBackendList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"HttpResponseBackends(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgesNamespace","l":"https()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"HttpsEdge(String, String, String, OffsetDateTime, URI, Optional>, Optional, Optional, List)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.net.URI,java.util.Optional,java.util.Optional,java.util.Optional,java.util.List)"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"HttpsEdgeList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeMutualTls()"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule","l":"HttpsEdgeMutualTlsModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"HttpsEdgeRoute(String, String, OffsetDateTime, String, String, URI, String, String, Optional, Optional, Optional, Optional, Optional, Optional, Optional, Optional, Optional, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.net.URI,java.lang.String,java.lang.String,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteBackend()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteCircuitBreaker()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteCompression()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteIpRestriction()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteOauth()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteOidc()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteRequestHeaders()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteResponseHeaders()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteSaml()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteWebhookVerification()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeRouteWebsocketTcpConverter()"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"httpsEdgeTlsTermination()"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule","l":"HttpsEdgeTlsTerminationModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgesNamespace","l":"httpsRoutes()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"idpMetadata(Optional)","u":"idpMetadata(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"idpMetadata(String)","u":"idpMetadata(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"inactivityTimeout(long)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"inactivityTimeout(long)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"inactivityTimeout(long)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"inactivityTimeout(Optional)","u":"inactivityTimeout(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"inactivityTimeout(Optional)","u":"inactivityTimeout(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"inactivityTimeout(Optional)","u":"inactivityTimeout(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"ipPolicies()"},{"p":"com.ngrok.services","c":"IpPolicies","l":"IpPolicies(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"IpPolicy(String, URI, OffsetDateTime, String, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"ipPolicyIds(List)","u":"ipPolicyIds(java.util.List)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"ipPolicyIds(List)","u":"ipPolicyIds(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate.Builder","l":"ipPolicyIds(Optional>)","u":"ipPolicyIds(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"ipPolicyIds(Optional>)","u":"ipPolicyIds(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"IpPolicyList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"IpPolicyRule(String, URI, OffsetDateTime, String, String, String, Ref, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,com.ngrok.definitions.Ref,java.lang.String)"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"IpPolicyRuleList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"ipPolicyRules()"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"IpPolicyRules(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"ipRestriction(EndpointIpPolicyMutate)","u":"ipRestriction(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"ipRestriction(Optional)","u":"ipRestriction(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"IpRestriction(String, URI, OffsetDateTime, String, String, Boolean, String, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.Boolean,java.lang.String,java.util.List)"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"IpRestrictionList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"ipRestrictions()"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"IpRestrictions(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"isErrorCode(String...)","u":"isErrorCode(java.lang.String...)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"issuer(Optional)","u":"issuer(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"issuer(String)","u":"issuer(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"keySize(long)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"keySize(Optional)","u":"keySize(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"kinesis(EventTargetKinesis)","u":"kinesis(com.ngrok.definitions.EventTargetKinesis)"},{"p":"com.ngrok.definitions","c":"EventTarget.Builder","l":"kinesis(Optional)","u":"kinesis(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"labels(Map)","u":"labels(java.util.Map)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"labels(Map)","u":"labels(java.util.Map)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"labels(Optional>)","u":"labels(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"labels(Optional>)","u":"labels(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"limit(Optional)","u":"limit(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"Endpoints.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"Tunnels.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelSessions.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.ListCallBuilder","l":"limit(String)","u":"limit(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"list()"},{"p":"com.ngrok.services","c":"ApiKeys","l":"list()"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"list()"},{"p":"com.ngrok.services","c":"Credentials","l":"list()"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"list()"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"list()"},{"p":"com.ngrok.services","c":"EdgesTls","l":"list()"},{"p":"com.ngrok.services","c":"Endpoints","l":"list()"},{"p":"com.ngrok.services","c":"EventDestinations","l":"list()"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"list()"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"list()"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"list()"},{"p":"com.ngrok.services","c":"IpPolicies","l":"list()"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"list()"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"list()"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"list()"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"list()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"list()"},{"p":"com.ngrok.services","c":"SshCredentials","l":"list()"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"list()"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"list()"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"list()"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"list()"},{"p":"com.ngrok.services","c":"Tunnels","l":"list()"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"list()"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"list()"},{"p":"com.ngrok.services","c":"EventSources","l":"list(String)","u":"list(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"logGroupArn(Optional)","u":"logGroupArn(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs.Builder","l":"logGroupArn(String)","u":"logGroupArn(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"match(Optional)","u":"match(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"match(String)","u":"match(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"matchType(Optional)","u":"matchType(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"matchType(String)","u":"matchType(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"maximumDuration(Duration)","u":"maximumDuration(java.time.Duration)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"maximumDuration(Duration)","u":"maximumDuration(java.time.Duration)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"maximumDuration(Duration)","u":"maximumDuration(java.time.Duration)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"maximumDuration(Optional)","u":"maximumDuration(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"maximumDuration(Optional)","u":"maximumDuration(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"maximumDuration(Optional)","u":"maximumDuration(java.util.Optional)"},{"p":"com.ngrok.services","c":"AbuseReports.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"metadata(Optional)","u":"metadata(java.util.Optional)"},{"p":"com.ngrok.services","c":"AbuseReports.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.CreateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends.UpdateCallBuilder","l":"metadata(String)","u":"metadata(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"microsoft(EndpointOAuthMicrosoft)","u":"microsoft(com.ngrok.definitions.EndpointOAuthMicrosoft)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider.Builder","l":"microsoft(Optional)","u":"microsoft(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"minVersion(Optional)","u":"minVersion(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"minVersion(Optional)","u":"minVersion(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"minVersion(String)","u":"minVersion(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge.Builder","l":"minVersion(String)","u":"minVersion(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.ReplaceCallBuilder","l":"module(EndpointBackendMutate)","u":"module(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.ReplaceCallBuilder","l":"module(EndpointBackendMutate)","u":"module(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.ReplaceCallBuilder","l":"module(EndpointBackendMutate)","u":"module(com.ngrok.definitions.EndpointBackendMutate)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.ReplaceCallBuilder","l":"module(EndpointCircuitBreaker)","u":"module(com.ngrok.definitions.EndpointCircuitBreaker)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.ReplaceCallBuilder","l":"module(EndpointCompression)","u":"module(com.ngrok.definitions.EndpointCompression)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.ReplaceCallBuilder","l":"module(EndpointIpPolicyMutate)","u":"module(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.ReplaceCallBuilder","l":"module(EndpointIpPolicyMutate)","u":"module(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.ReplaceCallBuilder","l":"module(EndpointIpPolicyMutate)","u":"module(com.ngrok.definitions.EndpointIpPolicyMutate)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.ReplaceCallBuilder","l":"module(EndpointMutualTlsMutate)","u":"module(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.ReplaceCallBuilder","l":"module(EndpointMutualTlsMutate)","u":"module(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.ReplaceCallBuilder","l":"module(EndpointOAuth)","u":"module(com.ngrok.definitions.EndpointOAuth)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.ReplaceCallBuilder","l":"module(EndpointOidc)","u":"module(com.ngrok.definitions.EndpointOidc)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.ReplaceCallBuilder","l":"module(EndpointRequestHeaders)","u":"module(com.ngrok.definitions.EndpointRequestHeaders)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.ReplaceCallBuilder","l":"module(EndpointResponseHeaders)","u":"module(com.ngrok.definitions.EndpointResponseHeaders)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.ReplaceCallBuilder","l":"module(EndpointSamlMutate)","u":"module(com.ngrok.definitions.EndpointSamlMutate)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"module(EndpointTlsTermination)","u":"module(com.ngrok.definitions.EndpointTlsTermination)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"module(EndpointTlsTerminationAtEdge)","u":"module(com.ngrok.definitions.EndpointTlsTerminationAtEdge)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.ReplaceCallBuilder","l":"module(EndpointWebhookValidation)","u":"module(com.ngrok.definitions.EndpointWebhookValidation)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.ReplaceCallBuilder","l":"module(EndpointWebsocketTcpConverter)","u":"module(com.ngrok.definitions.EndpointWebsocketTcpConverter)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule.ReplaceCallBuilder","l":"module(Optional)","u":"module(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"mutualTls(EndpointMutualTlsMutate)","u":"mutualTls(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"mutualTls(EndpointMutualTlsMutate)","u":"mutualTls(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"mutualTls(EndpointMutualTlsMutate)","u":"mutualTls(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"mutualTls(EndpointMutualTlsMutate)","u":"mutualTls(com.ngrok.definitions.EndpointMutualTlsMutate)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"mutualTls(Optional)","u":"mutualTls(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"mutualTls(Optional)","u":"mutualTls(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"mutualTls(Optional)","u":"mutualTls(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"mutualTls(Optional)","u":"mutualTls(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"nameidFormat(Optional)","u":"nameidFormat(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"nameidFormat(String)","u":"nameidFormat(java.lang.String)"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"newBuilder()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"newBuilder()"},{"p":"com.ngrok","c":"DefaultNgrokApiClient","l":"newBuilder(String)","u":"newBuilder(java.lang.String)"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"newBuilder(String)","u":"newBuilder(java.lang.String)"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"newBuilder(String, String)","u":"newBuilder(java.lang.String,java.lang.String)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient","l":"newDefaultHttpClient()"},{"p":"com.ngrok.definitions","c":"Page","l":"next()"},{"p":"com.ngrok","c":"Ngrok","l":"Ngrok(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"NgrokApiError(int)","u":"%3Cinit%3E(int)"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"NgrokApiError(int, Optional, Throwable)","u":"%3Cinit%3E(int,java.util.Optional,java.lang.Throwable)"},{"p":"com.ngrok.definitions","c":"NgrokApiError","l":"NgrokApiError(String, int, Optional, Map)","u":"%3Cinit%3E(java.lang.String,int,java.util.Optional,java.util.Map)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"numBuckets(long)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"numBuckets(Optional)","u":"numBuckets(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"oauth(EndpointOAuth)","u":"oauth(com.ngrok.definitions.EndpointOAuth)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"oauth(EndpointOAuth)","u":"oauth(com.ngrok.definitions.EndpointOAuth)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"oauth(Optional)","u":"oauth(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"oauth(Optional)","u":"oauth(java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"objectMapper(ObjectMapper)","u":"objectMapper(com.fasterxml.jackson.databind.ObjectMapper)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient.Builder","l":"objectMapper(Optional)","u":"objectMapper(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"oidc(EndpointOidc)","u":"oidc(com.ngrok.definitions.EndpointOidc)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"oidc(EndpointOidc)","u":"oidc(com.ngrok.definitions.EndpointOidc)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"oidc(Optional)","u":"oidc(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"oidc(Optional)","u":"oidc(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"optionsPassthrough(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"optionsPassthrough(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"optionsPassthrough(boolean)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"optionsPassthrough(Optional)","u":"optionsPassthrough(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"optionsPassthrough(Optional)","u":"optionsPassthrough(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate.Builder","l":"optionsPassthrough(Optional)","u":"optionsPassthrough(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"organizations(List)","u":"organizations(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"organizations(Optional>)","u":"organizations(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"Page","l":"Page(NgrokApiClient, T)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient,T)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"PATCH"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"POST"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"principals(List)","u":"principals(java.util.List)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"principals(List)","u":"principals(java.util.List)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"principals(Optional>)","u":"principals(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"principals(Optional>)","u":"principals(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"privateKeyType(Optional)","u":"privateKeyType(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"privateKeyType(Optional)","u":"privateKeyType(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy.Builder","l":"privateKeyType(String)","u":"privateKeyType(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities.CreateCallBuilder","l":"privateKeyType(String)","u":"privateKeyType(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"provider(EndpointOAuthProvider)","u":"provider(com.ngrok.definitions.EndpointOAuthProvider)"},{"p":"com.ngrok.definitions","c":"EndpointOAuth.Builder","l":"provider(Optional)","u":"provider(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"provider(Optional)","u":"provider(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"provider(String)","u":"provider(java.lang.String)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"PUT"},{"p":"com.ngrok.definitions","c":"Ref","l":"Ref(String, URI)","u":"%3Cinit%3E(java.lang.String,java.net.URI)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"region(Optional)","u":"region(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"region(Optional)","u":"region(java.util.Optional)"},{"p":"com.ngrok.services","c":"ReservedAddrs.CreateCallBuilder","l":"region(String)","u":"region(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains.CreateCallBuilder","l":"region(String)","u":"region(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"remove(List)","u":"remove(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"remove(List)","u":"remove(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders.Builder","l":"remove(Optional>)","u":"remove(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders.Builder","l":"remove(Optional>)","u":"remove(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpsEdgeMutualTlsModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpsEdgeTlsTerminationModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule","l":"replace(String)","u":"replace(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteBackendModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCircuitBreakerModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteCompressionModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteIpRestrictionModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOAuthModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteOidcModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteRequestHeadersModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteResponseHeadersModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteSamlModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebhookVerificationModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgeRouteWebsocketTcpConverterModule","l":"replace(String, String)","u":"replace(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"requestHeaders(EndpointRequestHeaders)","u":"requestHeaders(com.ngrok.definitions.EndpointRequestHeaders)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"requestHeaders(EndpointRequestHeaders)","u":"requestHeaders(com.ngrok.definitions.EndpointRequestHeaders)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"requestHeaders(Optional)","u":"requestHeaders(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"requestHeaders(Optional)","u":"requestHeaders(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"ReservedAddr(String, URI, OffsetDateTime, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"ReservedAddrList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"reservedAddrs()"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"ReservedAddrs(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"ReservedDomain(String, URI, OffsetDateTime, String, String, String, String, Optional, Optional, Optional, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"ReservedDomainCertJob(Optional, String, OffsetDateTime, Optional)","u":"%3Cinit%3E(java.util.Optional,java.lang.String,java.time.OffsetDateTime,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"ReservedDomainCertStatus(Optional, Optional)","u":"%3Cinit%3E(java.util.Optional,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"ReservedDomainList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"reservedDomains()"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"ReservedDomains(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"responseHeaders(EndpointResponseHeaders)","u":"responseHeaders(com.ngrok.definitions.EndpointResponseHeaders)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"responseHeaders(EndpointResponseHeaders)","u":"responseHeaders(com.ngrok.definitions.EndpointResponseHeaders)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"responseHeaders(Optional)","u":"responseHeaders(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"responseHeaders(Optional)","u":"responseHeaders(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"restart(String)","u":"restart(java.lang.String)"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"role(AwsRole)","u":"role(com.ngrok.definitions.AwsRole)"},{"p":"com.ngrok.definitions","c":"AwsAuth.Builder","l":"role(Optional)","u":"role(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"rollingWindow(long)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"rollingWindow(Optional)","u":"rollingWindow(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"saml(EndpointSamlMutate)","u":"saml(com.ngrok.definitions.EndpointSamlMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"saml(EndpointSamlMutate)","u":"saml(com.ngrok.definitions.EndpointSamlMutate)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"saml(Optional)","u":"saml(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"saml(Optional)","u":"saml(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"scopes(List)","u":"scopes(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOidc.Builder","l":"scopes(Optional>)","u":"scopes(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"secret(Optional)","u":"secret(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation.Builder","l":"secret(String)","u":"secret(java.lang.String)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient","l":"sendRequest(NgrokApiClient.HttpMethod, String, Stream>>, Stream>>, Optional>)","u":"sendRequest(com.ngrok.NgrokApiClient.HttpMethod,java.lang.String,java.util.stream.Stream,java.util.stream.Stream,java.util.Optional)"},{"p":"com.ngrok","c":"NgrokApiClient","l":"sendRequest(NgrokApiClient.HttpMethod, String, Stream>>, Stream>>, Optional>)","u":"sendRequest(com.ngrok.NgrokApiClient.HttpMethod,java.lang.String,java.util.stream.Stream,java.util.stream.Stream,java.util.Optional)"},{"p":"com.ngrok","c":"DefaultNgrokApiClient","l":"sendRequest(URI, Class)","u":"sendRequest(java.net.URI,java.lang.Class)"},{"p":"com.ngrok","c":"NgrokApiClient","l":"sendRequest(URI, Class)","u":"sendRequest(java.net.URI,java.lang.Class)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"sources(List)","u":"sources(java.util.List)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"sources(List)","u":"sources(java.util.List)"},{"p":"com.ngrok.services","c":"EventSubscriptions.CreateCallBuilder","l":"sources(Optional>)","u":"sources(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSubscriptions.UpdateCallBuilder","l":"sources(Optional>)","u":"sources(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"sshCertificateAuthorities()"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"SshCertificateAuthorities(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"SshCertificateAuthority(String, URI, OffsetDateTime, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"SshCertificateAuthorityList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"SshCredential(String, URI, OffsetDateTime, String, String, String, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.util.List)"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"SshCredentialList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"sshCredentials()"},{"p":"com.ngrok.services","c":"SshCredentials","l":"SshCredentials(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"SshHostCertificate(String, URI, OffsetDateTime, String, String, String, String, String, List, OffsetDateTime, OffsetDateTime, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.List,java.time.OffsetDateTime,java.time.OffsetDateTime,java.lang.String)"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"SshHostCertificateList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"sshHostCertificates()"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"SshHostCertificates(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"SshUserCertificate(String, URI, OffsetDateTime, String, String, String, String, String, List, Map, Map, OffsetDateTime, OffsetDateTime, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.List,java.util.Map,java.util.Map,java.time.OffsetDateTime,java.time.OffsetDateTime,java.lang.String)"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"SshUserCertificateList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"sshUserCertificates()"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"SshUserCertificates(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"statusCode(int)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"statusCode(int)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.CreateCallBuilder","l":"statusCode(Optional)","u":"statusCode(java.util.Optional)"},{"p":"com.ngrok.services","c":"HttpResponseBackends.UpdateCallBuilder","l":"statusCode(Optional)","u":"statusCode(java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"stop(String)","u":"stop(java.lang.String)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"streamArn(Optional)","u":"streamArn(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis.Builder","l":"streamArn(String)","u":"streamArn(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"target(EventTarget)","u":"target(com.ngrok.definitions.EventTarget)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"target(EventTarget)","u":"target(com.ngrok.definitions.EventTarget)"},{"p":"com.ngrok.services","c":"EventDestinations.CreateCallBuilder","l":"target(Optional)","u":"target(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventDestinations.UpdateCallBuilder","l":"target(Optional)","u":"target(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgesNamespace","l":"tcp()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"TcpEdge(String, String, String, OffsetDateTime, URI, Optional>, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.net.URI,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tcpEdgeBackend()"},{"p":"com.ngrok.services","c":"TcpEdgeBackendModule","l":"TcpEdgeBackendModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tcpEdgeIpRestriction()"},{"p":"com.ngrok.services","c":"TcpEdgeIpRestrictionModule","l":"TcpEdgeIpRestrictionModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"TcpEdgeList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"teams(List)","u":"teams(java.util.List)"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub.Builder","l":"teams(Optional>)","u":"teams(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"terminateAt(Optional)","u":"terminateAt(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination.Builder","l":"terminateAt(String)","u":"terminateAt(java.lang.String)"},{"p":"com.ngrok","c":"Ngrok.EdgesNamespace","l":"tls()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"TlsCertificate(String, URI, OffsetDateTime, String, String, String, String, TlsCertificateSaNs, Optional, OffsetDateTime, OffsetDateTime, List, List, String, String, String, String, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.ngrok.definitions.TlsCertificateSaNs,java.util.Optional,java.time.OffsetDateTime,java.time.OffsetDateTime,java.util.List,java.util.List,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"TlsCertificateList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"tlsCertificates()"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"TlsCertificates(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"TlsCertificateSaNs(List, List)","u":"%3Cinit%3E(java.util.List,java.util.List)"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"TlsEdge(String, String, String, OffsetDateTime, URI, Optional>, Optional, Optional, Optional, Optional)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.net.URI,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tlsEdgeBackend()"},{"p":"com.ngrok.services","c":"TlsEdgeBackendModule","l":"TlsEdgeBackendModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tlsEdgeIpRestriction()"},{"p":"com.ngrok.services","c":"TlsEdgeIpRestrictionModule","l":"TlsEdgeIpRestrictionModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"TlsEdgeList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tlsEdgeMutualTls()"},{"p":"com.ngrok.services","c":"TlsEdgeMutualTlsModule","l":"TlsEdgeMutualTlsModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok","c":"Ngrok.EdgeModulesNamespace","l":"tlsEdgeTlsTermination()"},{"p":"com.ngrok.services","c":"TlsEdgeTlsTerminationModule","l":"TlsEdgeTlsTerminationModule(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"tlsTermination(EndpointTlsTermination)","u":"tlsTermination(com.ngrok.definitions.EndpointTlsTermination)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"tlsTermination(EndpointTlsTermination)","u":"tlsTermination(com.ngrok.definitions.EndpointTlsTermination)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"tlsTermination(EndpointTlsTerminationAtEdge)","u":"tlsTermination(com.ngrok.definitions.EndpointTlsTerminationAtEdge)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"tlsTermination(EndpointTlsTerminationAtEdge)","u":"tlsTermination(com.ngrok.definitions.EndpointTlsTerminationAtEdge)"},{"p":"com.ngrok.services","c":"EdgesTls.CreateCallBuilder","l":"tlsTermination(Optional)","u":"tlsTermination(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesTls.UpdateCallBuilder","l":"tlsTermination(Optional)","u":"tlsTermination(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.CreateCallBuilder","l":"tlsTermination(Optional)","u":"tlsTermination(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttps.UpdateCallBuilder","l":"tlsTermination(Optional)","u":"tlsTermination(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"AbuseReport","l":"toString()"},{"p":"com.ngrok.definitions","c":"AbuseReportHostname","l":"toString()"},{"p":"com.ngrok.definitions","c":"AgentIngress","l":"toString()"},{"p":"com.ngrok.definitions","c":"AgentIngressList","l":"toString()"},{"p":"com.ngrok.definitions","c":"ApiKey","l":"toString()"},{"p":"com.ngrok.definitions","c":"ApiKeyList","l":"toString()"},{"p":"com.ngrok.definitions","c":"AwsAuth","l":"toString()"},{"p":"com.ngrok.definitions","c":"AwsCredentials","l":"toString()"},{"p":"com.ngrok.definitions","c":"AwsRole","l":"toString()"},{"p":"com.ngrok.definitions","c":"CertificateAuthority","l":"toString()"},{"p":"com.ngrok.definitions","c":"CertificateAuthorityList","l":"toString()"},{"p":"com.ngrok.definitions","c":"Credential","l":"toString()"},{"p":"com.ngrok.definitions","c":"CredentialList","l":"toString()"},{"p":"com.ngrok.definitions","c":"Endpoint","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointBackendMutate","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointCompression","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicy","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointIpPolicyMutate","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTls","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointMutualTlsMutate","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuth","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthFacebook","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGitHub","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthGoogle","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthMicrosoft","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOAuthProvider","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointOidc","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointRequestHeaders","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointResponseHeaders","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointSaml","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointSamlMutate","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTermination","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointTlsTerminationAtEdge","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointWebhookValidation","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointWebsocketTcpConverter","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventDestination","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventDestinationList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSource","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSourceList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSourceReplace","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSubscription","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventSubscriptionList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventTarget","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventTargetCloudwatchLogs","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventTargetFirehose","l":"toString()"},{"p":"com.ngrok.definitions","c":"EventTargetKinesis","l":"toString()"},{"p":"com.ngrok.definitions","c":"FailoverBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"FailoverBackendList","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpResponseBackendList","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpsEdge","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeList","l":"toString()"},{"p":"com.ngrok.definitions","c":"HttpsEdgeRoute","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpPolicy","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpPolicyList","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpPolicyRule","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpPolicyRuleList","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpRestriction","l":"toString()"},{"p":"com.ngrok.definitions","c":"IpRestrictionList","l":"toString()"},{"p":"com.ngrok.definitions","c":"Ref","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedAddr","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedAddrList","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomain","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertJob","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertPolicy","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomainCertStatus","l":"toString()"},{"p":"com.ngrok.definitions","c":"ReservedDomainList","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthority","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshCertificateAuthorityList","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshCredential","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshCredentialList","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshHostCertificate","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshHostCertificateList","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshUserCertificate","l":"toString()"},{"p":"com.ngrok.definitions","c":"SshUserCertificateList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TcpEdge","l":"toString()"},{"p":"com.ngrok.definitions","c":"TcpEdgeList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsCertificate","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsCertificateList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsCertificateSaNs","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsEdge","l":"toString()"},{"p":"com.ngrok.definitions","c":"TlsEdgeList","l":"toString()"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"toString()"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"toString()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"toString()"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"toString()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"trippedDuration(Duration)","u":"trippedDuration(java.time.Duration)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"trippedDuration(Optional)","u":"trippedDuration(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"Tunnel","l":"Tunnel(String, URI, OffsetDateTime, String, String, String, Ref, Optional, Map, Optional>, String)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.lang.String,com.ngrok.definitions.Ref,java.util.Optional,java.util.Map,java.util.Optional,java.lang.String)"},{"p":"com.ngrok","c":"Ngrok.BackendsNamespace","l":"tunnelGroup()"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackend","l":"TunnelGroupBackend(String, URI, OffsetDateTime, String, String, Map, List)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.Map,java.util.List)"},{"p":"com.ngrok.definitions","c":"TunnelGroupBackendList","l":"TunnelGroupBackendList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"TunnelGroupBackends(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TunnelList","l":"TunnelList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"tunnels()"},{"p":"com.ngrok.services","c":"Tunnels","l":"Tunnels(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"TunnelSession","l":"TunnelSession(String, Ref, String, String, String, String, String, OffsetDateTime, String, URI)","u":"%3Cinit%3E(java.lang.String,com.ngrok.definitions.Ref,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.time.OffsetDateTime,java.lang.String,java.net.URI)"},{"p":"com.ngrok.definitions","c":"TunnelSessionList","l":"TunnelSessionList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok","l":"tunnelSessions()"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"TunnelSessions(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"},{"p":"com.ngrok.definitions","c":"EventSourceReplace.Builder","l":"type(Optional)","u":"type(java.util.Optional)"},{"p":"com.ngrok.services","c":"EventSources.CreateCallBuilder","l":"type(Optional)","u":"type(java.util.Optional)"},{"p":"com.ngrok.definitions","c":"EventSourceReplace.Builder","l":"type(String)","u":"type(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources.CreateCallBuilder","l":"type(String)","u":"type(java.lang.String)"},{"p":"com.ngrok.services","c":"AgentIngresses","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"ApiKeys","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"CertificateAuthorities","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"Credentials","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttps","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTcp","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesTls","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EventDestinations","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EventSubscriptions","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"FailoverBackends","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"HttpResponseBackends","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicies","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"IpPolicyRules","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"IpRestrictions","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedAddrs","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"ReservedDomains","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCertificateAuthorities","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"SshCredentials","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"SshUserCertificates","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"TlsCertificates","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelGroupBackends","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"TunnelSessions","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"update(String)","u":"update(java.lang.String)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes","l":"update(String, String)","u":"update(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"EventSources","l":"update(String, String)","u":"update(java.lang.String,java.lang.String)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"validAfter(OffsetDateTime)","u":"validAfter(java.time.OffsetDateTime)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"validAfter(OffsetDateTime)","u":"validAfter(java.time.OffsetDateTime)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"validAfter(Optional)","u":"validAfter(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"validAfter(Optional)","u":"validAfter(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"validUntil(OffsetDateTime)","u":"validUntil(java.time.OffsetDateTime)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"validUntil(OffsetDateTime)","u":"validUntil(java.time.OffsetDateTime)"},{"p":"com.ngrok.services","c":"SshHostCertificates.CreateCallBuilder","l":"validUntil(Optional)","u":"validUntil(java.util.Optional)"},{"p":"com.ngrok.services","c":"SshUserCertificates.CreateCallBuilder","l":"validUntil(Optional)","u":"validUntil(java.util.Optional)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.ngrok","c":"NgrokApiClient.HttpMethod","l":"values()"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"volumeThreshold(long)"},{"p":"com.ngrok.definitions","c":"EndpointCircuitBreaker.Builder","l":"volumeThreshold(Optional)","u":"volumeThreshold(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"webhookVerification(EndpointWebhookValidation)","u":"webhookVerification(com.ngrok.definitions.EndpointWebhookValidation)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"webhookVerification(EndpointWebhookValidation)","u":"webhookVerification(com.ngrok.definitions.EndpointWebhookValidation)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"webhookVerification(Optional)","u":"webhookVerification(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"webhookVerification(Optional)","u":"webhookVerification(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"websocketTcpConverter(EndpointWebsocketTcpConverter)","u":"websocketTcpConverter(com.ngrok.definitions.EndpointWebsocketTcpConverter)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"websocketTcpConverter(EndpointWebsocketTcpConverter)","u":"websocketTcpConverter(com.ngrok.definitions.EndpointWebsocketTcpConverter)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.CreateCallBuilder","l":"websocketTcpConverter(Optional)","u":"websocketTcpConverter(java.util.Optional)"},{"p":"com.ngrok.services","c":"EdgesHttpsRoutes.UpdateCallBuilder","l":"websocketTcpConverter(Optional)","u":"websocketTcpConverter(java.util.Optional)"},{"p":"com.ngrok","c":"Ngrok.BackendsNamespace","l":"weighted()"},{"p":"com.ngrok.definitions","c":"WeightedBackend","l":"WeightedBackend(String, URI, OffsetDateTime, String, String, Map)","u":"%3Cinit%3E(java.lang.String,java.net.URI,java.time.OffsetDateTime,java.lang.String,java.lang.String,java.util.Map)"},{"p":"com.ngrok.definitions","c":"WeightedBackendList","l":"WeightedBackendList(List, URI, Optional)","u":"%3Cinit%3E(java.util.List,java.net.URI,java.util.Optional)"},{"p":"com.ngrok.services","c":"WeightedBackends","l":"WeightedBackends(NgrokApiClient)","u":"%3Cinit%3E(com.ngrok.NgrokApiClient)"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/overview-summary.html b/docs/overview-summary.html index 5dc2321..a7774f7 100644 --- a/docs/overview-summary.html +++ b/docs/overview-summary.html @@ -1,11 +1,11 @@ - -ngrok Java API client 0.4.0 API + +ngrok Java API client 0.6.0 API - + diff --git a/docs/overview-tree.html b/docs/overview-tree.html index c5d2666..f5ea290 100644 --- a/docs/overview-tree.html +++ b/docs/overview-tree.html @@ -1,11 +1,11 @@ - -Class Hierarchy (ngrok Java API client 0.4.0 API) + +Class Hierarchy (ngrok Java API client 0.6.0 API) - + diff --git a/docs/serialized-form.html b/docs/serialized-form.html index 4400254..2b6c541 100644 --- a/docs/serialized-form.html +++ b/docs/serialized-form.html @@ -1,11 +1,11 @@ - -Serialized Form (ngrok Java API client 0.4.0 API) + +Serialized Form (ngrok Java API client 0.6.0 API) - + diff --git a/pom.xml b/pom.xml index 1fe0177..14ea6a9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.ngrok ngrok-api-java - 0.4.1-SNAPSHOT + 0.6.1-SNAPSHOT ngrok Java API client ngrok API client for Java applications @@ -43,11 +43,11 @@ 1.8 1.8 - 1.8.0 - 3.19.0 - 2.12.3 - 5.7.2 - 1.7.32 + 1.16.0 + 3.22.0 + 2.13.2.1 + 5.8.2 + 1.7.36 2.27.2 1.1.0 @@ -185,7 +185,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.3.0 + 3.4.0 attach-javadocs @@ -225,7 +225,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.12 + 1.6.13 true ossrh-ngrok diff --git a/src/main/java/com/ngrok/DefaultNgrokApiClient.java b/src/main/java/com/ngrok/DefaultNgrokApiClient.java index 564f05b..89b72eb 100644 --- a/src/main/java/com/ngrok/DefaultNgrokApiClient.java +++ b/src/main/java/com/ngrok/DefaultNgrokApiClient.java @@ -30,6 +30,8 @@ import static java.util.Objects.requireNonNull; * Default implementation of {@link NgrokApiClient} based on the Armeria HTTP client. */ public class DefaultNgrokApiClient implements NgrokApiClient { + private static String JAVA_VERSION = System.getProperty("java.version"); + /** * Builder class for the default API client. */ @@ -282,7 +284,7 @@ public class DefaultNgrokApiClient implements NgrokApiClient { final Optional> responseClass) { request - .header(HttpHeaderNames.USER_AGENT, "ngrok-api-client-java/" + Version.CLIENT_VERSION) + .header(HttpHeaderNames.USER_AGENT, "ngrok-api-java/" + Version.CLIENT_VERSION + "/" + JAVA_VERSION) .header("ngrok-version", Version.API_VERSION) .header(HttpHeaderNames.AUTHORIZATION, "Bearer " + this.apiKey); return maybeBody diff --git a/src/main/java/com/ngrok/Ngrok.java b/src/main/java/com/ngrok/Ngrok.java index 1ab503f..80d1bea 100644 --- a/src/main/java/com/ngrok/Ngrok.java +++ b/src/main/java/com/ngrok/Ngrok.java @@ -43,7 +43,7 @@ public class Ngrok { /** * Abuse Reports allow you to submit take-down requests for URLs hosted by - * ngrok that violate ngrok's terms of service. + * ngrok that violate ngrok's terms of service. * * See also https://ngrok.com/docs/api#api-abuse-reports. * @@ -68,7 +68,8 @@ public class Ngrok { * API Keys are used to authenticate to the ngrok * API. You may use the API itself - * to provision and manage API Keys but you'll need to provision your first API + * to provision and manage API Keys but you'll need to provision your first + * API * key from the API Keys page * on your * ngrok.com dashboard. @@ -99,7 +100,7 @@ public class Ngrok { /** * Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok * agent to connect the ngrok service as your account. They are installed with - * the ngrok authtoken command or by specifying it in the + * the ngrok config add-authtoken command or by specifying it in the * ngrok.yml * configuration file with the authtoken property. * @@ -217,7 +218,7 @@ public class Ngrok { * Reserved Domains are hostnames that you can listen for traffic on. Domains * can be used to listen for http, https or tls traffic. You may use a domain * that you own by creating a CNAME record specified in the returned resource. - * This CNAME record points traffic for that domain to ngrok's edge servers. + * This CNAME record points traffic for that domain to ngrok's edge servers. * * See also https://ngrok.com/docs/api#api-reserved-domains. * @@ -390,7 +391,7 @@ public class Ngrok { /** * A Weighted Backend balances traffic among the referenced backends. Traffic * is assigned proportionally to each based on its weight. The percentage of - * traffic is calculated by dividing a backend's weight by the sum of all + * traffic is calculated by dividing a backend's weight by the sum of all * weights. * * See also https://ngrok.com/docs/api#api-weighted-backends diff --git a/src/main/java/com/ngrok/definitions/AbuseReport.java b/src/main/java/com/ngrok/definitions/AbuseReport.java index de90a2f..6d98807 100644 --- a/src/main/java/com/ngrok/definitions/AbuseReport.java +++ b/src/main/java/com/ngrok/definitions/AbuseReport.java @@ -59,10 +59,10 @@ public class AbuseReport { this.id = Objects.requireNonNull(id, "id is required"); this.uri = Objects.requireNonNull(uri, "uri is required"); this.createdAt = Objects.requireNonNull(createdAt, "createdAt is required"); - this.urls = Objects.requireNonNull(urls, "urls is required"); + this.urls = urls != null ? urls : java.util.Collections.emptyList(); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); this.status = Objects.requireNonNull(status, "status is required"); - this.hostnames = Objects.requireNonNull(hostnames, "hostnames is required"); + this.hostnames = hostnames != null ? hostnames : java.util.Collections.emptyList(); } /** @@ -95,7 +95,7 @@ public class AbuseReport { /** * a list of URLs containing suspected abusive content * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link java.net.URI} */ public java.util.List getUrls() { return this.urls; @@ -124,7 +124,7 @@ public class AbuseReport { /** * an array of hostname statuses related to the report * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link AbuseReportHostname} */ public java.util.List getHostnames() { return this.hostnames; diff --git a/src/main/java/com/ngrok/definitions/AgentIngress.java b/src/main/java/com/ngrok/definitions/AgentIngress.java index d339955..9bd1fbe 100644 --- a/src/main/java/com/ngrok/definitions/AgentIngress.java +++ b/src/main/java/com/ngrok/definitions/AgentIngress.java @@ -36,7 +36,7 @@ public class AgentIngress { private final java.util.List regionDomains; @JsonProperty("created_at") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String createdAt; + private final java.time.OffsetDateTime createdAt; /** * Creates a new instance of {@link AgentIngress}. @@ -59,15 +59,15 @@ public class AgentIngress { @JsonProperty("domain") final String domain, @JsonProperty("ns_targets") final java.util.List nsTargets, @JsonProperty("region_domains") final java.util.List regionDomains, - @JsonProperty("created_at") final String createdAt + @JsonProperty("created_at") final java.time.OffsetDateTime createdAt ) { this.id = Objects.requireNonNull(id, "id is required"); this.uri = Objects.requireNonNull(uri, "uri is required"); this.description = Objects.requireNonNull(description, "description is required"); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); this.domain = Objects.requireNonNull(domain, "domain is required"); - this.nsTargets = Objects.requireNonNull(nsTargets, "nsTargets is required"); - this.regionDomains = Objects.requireNonNull(regionDomains, "regionDomains is required"); + this.nsTargets = nsTargets != null ? nsTargets : java.util.Collections.emptyList(); + this.regionDomains = regionDomains != null ? regionDomains : java.util.Collections.emptyList(); this.createdAt = Objects.requireNonNull(createdAt, "createdAt is required"); } @@ -123,7 +123,7 @@ public class AgentIngress { * a list of target values to use as the values of NS records for the domain * property these values will delegate control over the domain to ngrok * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getNsTargets() { return this.nsTargets; @@ -133,7 +133,7 @@ public class AgentIngress { * a list of regional agent ingress domains that are subdomains of the value of * domain this value may increase over time as ngrok adds more regions * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getRegionDomains() { return this.regionDomains; @@ -142,9 +142,9 @@ public class AgentIngress { /** * timestamp when the Agent Ingress was created, RFC 3339 format * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.time.OffsetDateTime} */ - public String getCreatedAt() { + public java.time.OffsetDateTime getCreatedAt() { return this.createdAt; } diff --git a/src/main/java/com/ngrok/definitions/AgentIngressList.java b/src/main/java/com/ngrok/definitions/AgentIngressList.java index 3de0076..728110f 100644 --- a/src/main/java/com/ngrok/definitions/AgentIngressList.java +++ b/src/main/java/com/ngrok/definitions/AgentIngressList.java @@ -36,7 +36,7 @@ public class AgentIngressList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.ingresses = Objects.requireNonNull(ingresses, "ingresses is required"); + this.ingresses = ingresses != null ? ingresses : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class AgentIngressList implements Pageable { /** * the list of Agent Ingresses owned by this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link AgentIngress} */ public java.util.List getIngresses() { return this.ingresses; diff --git a/src/main/java/com/ngrok/definitions/ApiKeyList.java b/src/main/java/com/ngrok/definitions/ApiKeyList.java index d6a6fc7..cbdb8c0 100644 --- a/src/main/java/com/ngrok/definitions/ApiKeyList.java +++ b/src/main/java/com/ngrok/definitions/ApiKeyList.java @@ -36,7 +36,7 @@ public class ApiKeyList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.keys = Objects.requireNonNull(keys, "keys is required"); + this.keys = keys != null ? keys : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class ApiKeyList implements Pageable { /** * the list of API keys for this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link ApiKey} */ public java.util.List getKeys() { return this.keys; diff --git a/src/main/java/com/ngrok/definitions/AwsAuth.java b/src/main/java/com/ngrok/definitions/AwsAuth.java index 33fce02..76b8a7c 100644 --- a/src/main/java/com/ngrok/definitions/AwsAuth.java +++ b/src/main/java/com/ngrok/definitions/AwsAuth.java @@ -27,10 +27,10 @@ public class AwsAuth { /** * A role for ngrok to assume on your behalf to deposit events into your AWS * account. - * - * @param role the value of the role parameter as a {@link AwsRole} - * @return this builder instance - */ + * + * @param role the value of the role parameter as a {@link AwsRole} + * @return this builder instance + */ public Builder role(final AwsRole role) { this.role = Optional.of(Objects.requireNonNull(role, "role is required")); return this; @@ -39,10 +39,10 @@ public class AwsAuth { /** * A role for ngrok to assume on your behalf to deposit events into your AWS * account. - * - * @param role the value of the role parameter as a {@link AwsRole}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param role the value of the role parameter as a {@link AwsRole}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder role(final Optional role) { this.role = Objects.requireNonNull(role, "role is required"); return this; @@ -51,10 +51,10 @@ public class AwsAuth { /** * Credentials to your AWS account if you prefer ngrok to sign in with long-term * access keys. - * - * @param creds the value of the creds parameter as a {@link AwsCredentials} - * @return this builder instance - */ + * + * @param creds the value of the creds parameter as a {@link AwsCredentials} + * @return this builder instance + */ public Builder creds(final AwsCredentials creds) { this.creds = Optional.of(Objects.requireNonNull(creds, "creds is required")); return this; @@ -63,10 +63,10 @@ public class AwsAuth { /** * Credentials to your AWS account if you prefer ngrok to sign in with long-term * access keys. - * - * @param creds the value of the creds parameter as a {@link AwsCredentials}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param creds the value of the creds parameter as a {@link AwsCredentials}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder creds(final Optional creds) { this.creds = Objects.requireNonNull(creds, "creds is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/CertificateAuthority.java b/src/main/java/com/ngrok/definitions/CertificateAuthority.java index c6742b4..770aea7 100644 --- a/src/main/java/com/ngrok/definitions/CertificateAuthority.java +++ b/src/main/java/com/ngrok/definitions/CertificateAuthority.java @@ -85,8 +85,8 @@ public class CertificateAuthority { this.subjectCommonName = Objects.requireNonNull(subjectCommonName, "subjectCommonName is required"); this.notBefore = Objects.requireNonNull(notBefore, "notBefore is required"); this.notAfter = Objects.requireNonNull(notAfter, "notAfter is required"); - this.keyUsages = Objects.requireNonNull(keyUsages, "keyUsages is required"); - this.extendedKeyUsages = Objects.requireNonNull(extendedKeyUsages, "extendedKeyUsages is required"); + this.keyUsages = keyUsages != null ? keyUsages : java.util.Collections.emptyList(); + this.extendedKeyUsages = extendedKeyUsages != null ? extendedKeyUsages : java.util.Collections.emptyList(); } /** @@ -175,7 +175,7 @@ public class CertificateAuthority { /** * set of actions the private key of this Certificate Authority can be used for * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getKeyUsages() { return this.keyUsages; @@ -185,7 +185,7 @@ public class CertificateAuthority { * extended set of actions the private key of this Certificate Authority can be * used for * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getExtendedKeyUsages() { return this.extendedKeyUsages; diff --git a/src/main/java/com/ngrok/definitions/CertificateAuthorityList.java b/src/main/java/com/ngrok/definitions/CertificateAuthorityList.java index 3938f18..9d08f24 100644 --- a/src/main/java/com/ngrok/definitions/CertificateAuthorityList.java +++ b/src/main/java/com/ngrok/definitions/CertificateAuthorityList.java @@ -36,7 +36,7 @@ public class CertificateAuthorityList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.certificateAuthorities = Objects.requireNonNull(certificateAuthorities, "certificateAuthorities is required"); + this.certificateAuthorities = certificateAuthorities != null ? certificateAuthorities : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class CertificateAuthorityList implements Pageable { /** * the list of all certificate authorities on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link CertificateAuthority} */ public java.util.List getCertificateAuthorities() { return this.certificateAuthorities; diff --git a/src/main/java/com/ngrok/definitions/Credential.java b/src/main/java/com/ngrok/definitions/Credential.java index bf5087f..01e71d0 100644 --- a/src/main/java/com/ngrok/definitions/Credential.java +++ b/src/main/java/com/ngrok/definitions/Credential.java @@ -43,8 +43,8 @@ public class Credential { * @param createdAt timestamp when the tunnel credential was created, RFC 3339 format * @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 token the credential's authtoken that can be used to authenticate an ngrok agent. This value is only available one time, on the API response from credential creation, otherwise it is null. - * @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 token the credential's authtoken that can be used to authenticate an ngrok agent. This value is only available one time, on the API response from credential creation, otherwise it is null. + * @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. */ @JsonCreator public Credential( @@ -62,7 +62,7 @@ public class Credential { this.description = Objects.requireNonNull(description, "description is required"); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); this.token = token != null ? token : Optional.empty(); - this.acl = Objects.requireNonNull(acl, "acl is required"); + this.acl = acl != null ? acl : java.util.Collections.emptyList(); } /** @@ -113,7 +113,7 @@ public class Credential { } /** - * the credential's authtoken that can be used to authenticate an ngrok agent. + * the credential's authtoken that can be used to authenticate an ngrok agent. * This value is only available one time, on the API response from * credential creation, otherwise it is null. * @@ -133,10 +133,10 @@ public class Credential { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getAcl() { return this.acl; diff --git a/src/main/java/com/ngrok/definitions/CredentialList.java b/src/main/java/com/ngrok/definitions/CredentialList.java index 8d87d56..e412ff2 100644 --- a/src/main/java/com/ngrok/definitions/CredentialList.java +++ b/src/main/java/com/ngrok/definitions/CredentialList.java @@ -36,7 +36,7 @@ public class CredentialList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.credentials = Objects.requireNonNull(credentials, "credentials is required"); + this.credentials = credentials != null ? credentials : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class CredentialList implements Pageable { /** * the list of all tunnel credentials on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link Credential} */ public java.util.List getCredentials() { return this.credentials; diff --git a/src/main/java/com/ngrok/definitions/EndpointBackendMutate.java b/src/main/java/com/ngrok/definitions/EndpointBackendMutate.java index 19de8ba..7a3ec40 100644 --- a/src/main/java/com/ngrok/definitions/EndpointBackendMutate.java +++ b/src/main/java/com/ngrok/definitions/EndpointBackendMutate.java @@ -27,10 +27,10 @@ public class EndpointBackendMutate { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -39,10 +39,10 @@ public class EndpointBackendMutate { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -50,10 +50,10 @@ public class EndpointBackendMutate { /** * backend to be used to back this endpoint - * - * @param backendId the value of the backend_id parameter as a {@link String} - * @return this builder instance - */ + * + * @param backendId the value of the backend_id parameter as a {@link String} + * @return this builder instance + */ public Builder backendId(final String backendId) { this.backendId = Optional.of(Objects.requireNonNull(backendId, "backendId is required")); return this; @@ -61,10 +61,10 @@ public class EndpointBackendMutate { /** * backend to be used to back this endpoint - * - * @param backendId the value of the backend_id parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param backendId the value of the backend_id parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder backendId(final Optional backendId) { this.backendId = Objects.requireNonNull(backendId, "backendId is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EndpointCircuitBreaker.java b/src/main/java/com/ngrok/definitions/EndpointCircuitBreaker.java index b03d000..0fe17a7 100644 --- a/src/main/java/com/ngrok/definitions/EndpointCircuitBreaker.java +++ b/src/main/java/com/ngrok/definitions/EndpointCircuitBreaker.java @@ -31,10 +31,10 @@ public class EndpointCircuitBreaker { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -43,10 +43,10 @@ public class EndpointCircuitBreaker { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -55,10 +55,10 @@ public class EndpointCircuitBreaker { /** * Integer number of seconds after which the circuit is tripped to wait before * re-evaluating upstream health - * - * @param trippedDuration the value of the tripped_duration parameter as a {@link java.time.Duration} - * @return this builder instance - */ + * + * @param trippedDuration the value of the tripped_duration parameter as a {@link java.time.Duration} + * @return this builder instance + */ public Builder trippedDuration(final java.time.Duration trippedDuration) { this.trippedDuration = Optional.of(Objects.requireNonNull(trippedDuration, "trippedDuration is required")); return this; @@ -67,10 +67,10 @@ public class EndpointCircuitBreaker { /** * Integer number of seconds after which the circuit is tripped to wait before * re-evaluating upstream health - * - * @param trippedDuration the value of the tripped_duration parameter as a {@link java.time.Duration}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param trippedDuration the value of the tripped_duration parameter as a {@link java.time.Duration}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder trippedDuration(final Optional trippedDuration) { this.trippedDuration = Objects.requireNonNull(trippedDuration, "trippedDuration is required"); return this; @@ -79,10 +79,10 @@ public class EndpointCircuitBreaker { /** * Integer number of seconds in the statistical rolling window that metrics are * retained for. - * - * @param rollingWindow the value of the rolling_window parameter as a {@link long} - * @return this builder instance - */ + * + * @param rollingWindow the value of the rolling_window parameter as a {@link long} + * @return this builder instance + */ public Builder rollingWindow(final long rollingWindow) { this.rollingWindow = Optional.of(Objects.requireNonNull(rollingWindow, "rollingWindow is required")); return this; @@ -91,10 +91,10 @@ public class EndpointCircuitBreaker { /** * Integer number of seconds in the statistical rolling window that metrics are * retained for. - * - * @param rollingWindow the value of the rolling_window parameter as a {@link long}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param rollingWindow the value of the rolling_window parameter as a {@link long}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder rollingWindow(final Optional rollingWindow) { this.rollingWindow = Objects.requireNonNull(rollingWindow, "rollingWindow is required"); return this; @@ -102,10 +102,10 @@ public class EndpointCircuitBreaker { /** * Integer number of buckets into which metrics are retained. Max 128. - * - * @param numBuckets the value of the num_buckets parameter as a {@link long} - * @return this builder instance - */ + * + * @param numBuckets the value of the num_buckets parameter as a {@link long} + * @return this builder instance + */ public Builder numBuckets(final long numBuckets) { this.numBuckets = Optional.of(Objects.requireNonNull(numBuckets, "numBuckets is required")); return this; @@ -113,10 +113,10 @@ public class EndpointCircuitBreaker { /** * Integer number of buckets into which metrics are retained. Max 128. - * - * @param numBuckets the value of the num_buckets parameter as a {@link long}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param numBuckets the value of the num_buckets parameter as a {@link long}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder numBuckets(final Optional numBuckets) { this.numBuckets = Objects.requireNonNull(numBuckets, "numBuckets is required"); return this; @@ -125,10 +125,10 @@ public class EndpointCircuitBreaker { /** * Integer number of requests in a rolling window that will trip the circuit. * Helpful if traffic volume is low. - * - * @param volumeThreshold the value of the volume_threshold parameter as a {@link long} - * @return this builder instance - */ + * + * @param volumeThreshold the value of the volume_threshold parameter as a {@link long} + * @return this builder instance + */ public Builder volumeThreshold(final long volumeThreshold) { this.volumeThreshold = Optional.of(Objects.requireNonNull(volumeThreshold, "volumeThreshold is required")); return this; @@ -137,10 +137,10 @@ public class EndpointCircuitBreaker { /** * Integer number of requests in a rolling window that will trip the circuit. * Helpful if traffic volume is low. - * - * @param volumeThreshold the value of the volume_threshold parameter as a {@link long}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param volumeThreshold the value of the volume_threshold parameter as a {@link long}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder volumeThreshold(final Optional volumeThreshold) { this.volumeThreshold = Objects.requireNonNull(volumeThreshold, "volumeThreshold is required"); return this; @@ -148,10 +148,10 @@ public class EndpointCircuitBreaker { /** * Error threshold percentage should be between 0 - 1.0, not 0-100.0 - * - * @param errorThresholdPercentage the value of the error_threshold_percentage parameter as a {@link double} - * @return this builder instance - */ + * + * @param errorThresholdPercentage the value of the error_threshold_percentage parameter as a {@link double} + * @return this builder instance + */ public Builder errorThresholdPercentage(final double errorThresholdPercentage) { this.errorThresholdPercentage = Optional.of(Objects.requireNonNull(errorThresholdPercentage, "errorThresholdPercentage is required")); return this; @@ -159,10 +159,10 @@ public class EndpointCircuitBreaker { /** * Error threshold percentage should be between 0 - 1.0, not 0-100.0 - * - * @param errorThresholdPercentage the value of the error_threshold_percentage parameter as a {@link double}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param errorThresholdPercentage the value of the error_threshold_percentage parameter as a {@link double}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder errorThresholdPercentage(final Optional errorThresholdPercentage) { this.errorThresholdPercentage = Objects.requireNonNull(errorThresholdPercentage, "errorThresholdPercentage is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EndpointCompression.java b/src/main/java/com/ngrok/definitions/EndpointCompression.java index f7d2d97..062ed8b 100644 --- a/src/main/java/com/ngrok/definitions/EndpointCompression.java +++ b/src/main/java/com/ngrok/definitions/EndpointCompression.java @@ -26,10 +26,10 @@ public class EndpointCompression { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -38,10 +38,10 @@ public class EndpointCompression { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EndpointIpPolicy.java b/src/main/java/com/ngrok/definitions/EndpointIpPolicy.java index 6d4263c..eda058b 100644 --- a/src/main/java/com/ngrok/definitions/EndpointIpPolicy.java +++ b/src/main/java/com/ngrok/definitions/EndpointIpPolicy.java @@ -24,7 +24,7 @@ public class EndpointIpPolicy { * Creates a new instance of {@link EndpointIpPolicy}. * * @param enabled true if the module will be applied to traffic, false to disable. default true if unspecified - * @param ipPolicies the value of the ip_policies parameter as a {@link java.util.List} + * @param ipPolicies the value of the ip_policies parameter as a {@link java.util.List} of {@link Ref} */ @JsonCreator public EndpointIpPolicy( @@ -32,7 +32,7 @@ public class EndpointIpPolicy { @JsonProperty("ip_policies") final java.util.List ipPolicies ) { this.enabled = enabled != null ? enabled : Optional.empty(); - this.ipPolicies = Objects.requireNonNull(ipPolicies, "ipPolicies is required"); + this.ipPolicies = ipPolicies != null ? ipPolicies : java.util.Collections.emptyList(); } /** @@ -48,7 +48,7 @@ public class EndpointIpPolicy { /** * Fetches the value of the ipPolicies property. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link Ref} */ public java.util.List getIpPolicies() { return this.ipPolicies; diff --git a/src/main/java/com/ngrok/definitions/EndpointIpPolicyMutate.java b/src/main/java/com/ngrok/definitions/EndpointIpPolicyMutate.java index ee571b9..6f02c48 100644 --- a/src/main/java/com/ngrok/definitions/EndpointIpPolicyMutate.java +++ b/src/main/java/com/ngrok/definitions/EndpointIpPolicyMutate.java @@ -18,7 +18,7 @@ public class EndpointIpPolicyMutate { */ public static class Builder { private Optional enabled = Optional.empty(); - private Optional> ipPolicyIds = Optional.empty(); + private java.util.List ipPolicyIds = java.util.Collections.emptyList(); private Builder( ) { @@ -27,10 +27,10 @@ public class EndpointIpPolicyMutate { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -39,10 +39,10 @@ public class EndpointIpPolicyMutate { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -51,24 +51,24 @@ public class EndpointIpPolicyMutate { /** * list of all IP policies that will be used to check if a source IP is allowed * access to the endpoint - * - * @param ipPolicyIds the value of the ip_policy_ids parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param ipPolicyIds the value of the ip_policy_ids parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder ipPolicyIds(final java.util.List ipPolicyIds) { - this.ipPolicyIds = Optional.of(Objects.requireNonNull(ipPolicyIds, "ipPolicyIds is required")); + this.ipPolicyIds = Objects.requireNonNull(ipPolicyIds, "ipPolicyIds is required"); return this; } /** * list of all IP policies that will be used to check if a source IP is allowed * access to the endpoint - * - * @param ipPolicyIds the value of the ip_policy_ids parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param ipPolicyIds the value of the ip_policy_ids parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder ipPolicyIds(final Optional> ipPolicyIds) { - this.ipPolicyIds = Objects.requireNonNull(ipPolicyIds, "ipPolicyIds is required"); + this.ipPolicyIds = Objects.requireNonNull(ipPolicyIds, "ipPolicyIds is required").orElse(java.util.Collections.emptyList()); return this; } @@ -80,7 +80,7 @@ public class EndpointIpPolicyMutate { public EndpointIpPolicyMutate build() { return new EndpointIpPolicyMutate( this.enabled, - this.ipPolicyIds.orElse(java.util.Collections.emptyList()) + this.ipPolicyIds ); } } @@ -115,7 +115,7 @@ public class EndpointIpPolicyMutate { @JsonProperty("ip_policy_ids") final java.util.List ipPolicyIds ) { this.enabled = enabled != null ? enabled : Optional.empty(); - this.ipPolicyIds = Objects.requireNonNull(ipPolicyIds, "ipPolicyIds is required"); + this.ipPolicyIds = ipPolicyIds != null ? ipPolicyIds : java.util.Collections.emptyList(); } /** @@ -132,7 +132,7 @@ public class EndpointIpPolicyMutate { * list of all IP policies that will be used to check if a source IP is allowed * access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getIpPolicyIds() { return this.ipPolicyIds; diff --git a/src/main/java/com/ngrok/definitions/EndpointList.java b/src/main/java/com/ngrok/definitions/EndpointList.java index 9003cef..3089fc2 100644 --- a/src/main/java/com/ngrok/definitions/EndpointList.java +++ b/src/main/java/com/ngrok/definitions/EndpointList.java @@ -36,7 +36,7 @@ public class EndpointList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.endpoints = Objects.requireNonNull(endpoints, "endpoints is required"); + this.endpoints = endpoints != null ? endpoints : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class EndpointList implements Pageable { /** * the list of all active endpoints on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link Endpoint} */ public java.util.List getEndpoints() { return this.endpoints; diff --git a/src/main/java/com/ngrok/definitions/EndpointMutualTls.java b/src/main/java/com/ngrok/definitions/EndpointMutualTls.java index 48dc25e..62a32e8 100644 --- a/src/main/java/com/ngrok/definitions/EndpointMutualTls.java +++ b/src/main/java/com/ngrok/definitions/EndpointMutualTls.java @@ -32,7 +32,7 @@ public class EndpointMutualTls { @JsonProperty("certificate_authorities") final java.util.List certificateAuthorities ) { this.enabled = enabled != null ? enabled : Optional.empty(); - this.certificateAuthorities = Objects.requireNonNull(certificateAuthorities, "certificateAuthorities is required"); + this.certificateAuthorities = certificateAuthorities != null ? certificateAuthorities : java.util.Collections.emptyList(); } /** @@ -49,7 +49,7 @@ public class EndpointMutualTls { * PEM-encoded CA certificates that will be used to validate. Multiple CAs may be * provided by concatenating them together. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link Ref} */ public java.util.List getCertificateAuthorities() { return this.certificateAuthorities; diff --git a/src/main/java/com/ngrok/definitions/EndpointMutualTlsMutate.java b/src/main/java/com/ngrok/definitions/EndpointMutualTlsMutate.java index f539edf..4277d3d 100644 --- a/src/main/java/com/ngrok/definitions/EndpointMutualTlsMutate.java +++ b/src/main/java/com/ngrok/definitions/EndpointMutualTlsMutate.java @@ -18,7 +18,7 @@ public class EndpointMutualTlsMutate { */ public static class Builder { private Optional enabled = Optional.empty(); - private Optional> certificateAuthorityIds = Optional.empty(); + private java.util.List certificateAuthorityIds = java.util.Collections.emptyList(); private Builder( ) { @@ -27,10 +27,10 @@ public class EndpointMutualTlsMutate { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -39,10 +39,10 @@ public class EndpointMutualTlsMutate { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -51,24 +51,24 @@ public class EndpointMutualTlsMutate { /** * list of certificate authorities that will be used to validate the TLS client * certificate presented by the initiator of the TLS connection - * - * @param certificateAuthorityIds the value of the certificate_authority_ids parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param certificateAuthorityIds the value of the certificate_authority_ids parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder certificateAuthorityIds(final java.util.List certificateAuthorityIds) { - this.certificateAuthorityIds = Optional.of(Objects.requireNonNull(certificateAuthorityIds, "certificateAuthorityIds is required")); + this.certificateAuthorityIds = Objects.requireNonNull(certificateAuthorityIds, "certificateAuthorityIds is required"); return this; } /** * list of certificate authorities that will be used to validate the TLS client * certificate presented by the initiator of the TLS connection - * - * @param certificateAuthorityIds the value of the certificate_authority_ids parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param certificateAuthorityIds the value of the certificate_authority_ids parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder certificateAuthorityIds(final Optional> certificateAuthorityIds) { - this.certificateAuthorityIds = Objects.requireNonNull(certificateAuthorityIds, "certificateAuthorityIds is required"); + this.certificateAuthorityIds = Objects.requireNonNull(certificateAuthorityIds, "certificateAuthorityIds is required").orElse(java.util.Collections.emptyList()); return this; } @@ -80,7 +80,7 @@ public class EndpointMutualTlsMutate { public EndpointMutualTlsMutate build() { return new EndpointMutualTlsMutate( this.enabled, - this.certificateAuthorityIds.orElse(java.util.Collections.emptyList()) + this.certificateAuthorityIds ); } } @@ -115,7 +115,7 @@ public class EndpointMutualTlsMutate { @JsonProperty("certificate_authority_ids") final java.util.List certificateAuthorityIds ) { this.enabled = enabled != null ? enabled : Optional.empty(); - this.certificateAuthorityIds = Objects.requireNonNull(certificateAuthorityIds, "certificateAuthorityIds is required"); + this.certificateAuthorityIds = certificateAuthorityIds != null ? certificateAuthorityIds : java.util.Collections.emptyList(); } /** @@ -132,7 +132,7 @@ public class EndpointMutualTlsMutate { * list of certificate authorities that will be used to validate the TLS client * certificate presented by the initiator of the TLS connection * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getCertificateAuthorityIds() { return this.certificateAuthorityIds; diff --git a/src/main/java/com/ngrok/definitions/EndpointOAuth.java b/src/main/java/com/ngrok/definitions/EndpointOAuth.java index d004d37..1c770e8 100644 --- a/src/main/java/com/ngrok/definitions/EndpointOAuth.java +++ b/src/main/java/com/ngrok/definitions/EndpointOAuth.java @@ -32,10 +32,10 @@ public class EndpointOAuth { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -44,10 +44,10 @@ public class EndpointOAuth { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -56,10 +56,10 @@ public class EndpointOAuth { /** * an object which defines the identity provider to use for authentication and * configuration for who may access the endpoint - * - * @param provider the value of the provider parameter as a {@link EndpointOAuthProvider} - * @return this builder instance - */ + * + * @param provider the value of the provider parameter as a {@link EndpointOAuthProvider} + * @return this builder instance + */ public Builder provider(final EndpointOAuthProvider provider) { this.provider = Optional.of(Objects.requireNonNull(provider, "provider is required")); return this; @@ -68,10 +68,10 @@ public class EndpointOAuth { /** * an object which defines the identity provider to use for authentication and * configuration for who may access the endpoint - * - * @param provider the value of the provider parameter as a {@link EndpointOAuthProvider}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param provider the value of the provider parameter as a {@link EndpointOAuthProvider}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder provider(final Optional provider) { this.provider = Objects.requireNonNull(provider, "provider is required"); return this; @@ -80,10 +80,10 @@ public class EndpointOAuth { /** * Do not enforce authentication on HTTP OPTIONS requests. necessary if you are * supporting CORS. - * - * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean} + * @return this builder instance + */ public Builder optionsPassthrough(final boolean optionsPassthrough) { this.optionsPassthrough = Optional.of(Objects.requireNonNull(optionsPassthrough, "optionsPassthrough is required")); return this; @@ -92,10 +92,10 @@ public class EndpointOAuth { /** * Do not enforce authentication on HTTP OPTIONS requests. necessary if you are * supporting CORS. - * - * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder optionsPassthrough(final Optional optionsPassthrough) { this.optionsPassthrough = Objects.requireNonNull(optionsPassthrough, "optionsPassthrough is required"); return this; @@ -103,11 +103,11 @@ public class EndpointOAuth { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' - * - * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String} - * @return this builder instance - */ + * authentication. default is 'ngrok.' + * + * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String} + * @return this builder instance + */ public Builder cookiePrefix(final String cookiePrefix) { this.cookiePrefix = Optional.of(Objects.requireNonNull(cookiePrefix, "cookiePrefix is required")); return this; @@ -115,11 +115,11 @@ public class EndpointOAuth { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' - * - * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * authentication. default is 'ngrok.' + * + * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder cookiePrefix(final Optional cookiePrefix) { this.cookiePrefix = Objects.requireNonNull(cookiePrefix, "cookiePrefix is required"); return this; @@ -129,10 +129,10 @@ public class EndpointOAuth { * 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. - * - * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long} - * @return this builder instance - */ + * + * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long} + * @return this builder instance + */ public Builder inactivityTimeout(final long inactivityTimeout) { this.inactivityTimeout = Optional.of(Objects.requireNonNull(inactivityTimeout, "inactivityTimeout is required")); return this; @@ -142,10 +142,10 @@ public class EndpointOAuth { * 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. - * - * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder inactivityTimeout(final Optional inactivityTimeout) { this.inactivityTimeout = Objects.requireNonNull(inactivityTimeout, "inactivityTimeout is required"); return this; @@ -154,10 +154,10 @@ public class EndpointOAuth { /** * Integer number of seconds of the maximum duration of an authenticated session. * After this period is exceeded, a user must reauthenticate. - * - * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration} - * @return this builder instance - */ + * + * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration} + * @return this builder instance + */ public Builder maximumDuration(final java.time.Duration maximumDuration) { this.maximumDuration = Optional.of(Objects.requireNonNull(maximumDuration, "maximumDuration is required")); return this; @@ -166,10 +166,10 @@ public class EndpointOAuth { /** * Integer number of seconds of the maximum duration of an authenticated session. * After this period is exceeded, a user must reauthenticate. - * - * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder maximumDuration(final Optional maximumDuration) { this.maximumDuration = Objects.requireNonNull(maximumDuration, "maximumDuration is required"); return this; @@ -181,10 +181,10 @@ public class EndpointOAuth { * 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. - * - * @param authCheckInterval the value of the auth_check_interval parameter as a {@link long} - * @return this builder instance - */ + * + * @param authCheckInterval the value of the auth_check_interval parameter as a {@link long} + * @return this builder instance + */ public Builder authCheckInterval(final long authCheckInterval) { this.authCheckInterval = Optional.of(Objects.requireNonNull(authCheckInterval, "authCheckInterval is required")); return this; @@ -196,10 +196,10 @@ public class EndpointOAuth { * 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. - * - * @param authCheckInterval the value of the auth_check_interval parameter as a {@link long}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param authCheckInterval the value of the auth_check_interval parameter as a {@link long}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder authCheckInterval(final Optional authCheckInterval) { this.authCheckInterval = Objects.requireNonNull(authCheckInterval, "authCheckInterval is required"); return this; @@ -262,7 +262,7 @@ public class EndpointOAuth { * @param enabled true if the module will be applied to traffic, false to disable. default true if unspecified * @param provider an object which defines the identity provider to use for authentication and configuration for who may access the endpoint * @param optionsPassthrough Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. - * @param cookiePrefix the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' + * @param cookiePrefix the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' * @param inactivityTimeout 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. * @param maximumDuration Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. * @param authCheckInterval 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. @@ -318,7 +318,7 @@ public class EndpointOAuth { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' + * authentication. default is 'ngrok.' * * @return the value of the property as a {@link String} */ diff --git a/src/main/java/com/ngrok/definitions/EndpointOAuthFacebook.java b/src/main/java/com/ngrok/definitions/EndpointOAuthFacebook.java index a2bf455..d687ae0 100644 --- a/src/main/java/com/ngrok/definitions/EndpointOAuthFacebook.java +++ b/src/main/java/com/ngrok/definitions/EndpointOAuthFacebook.java @@ -19,65 +19,65 @@ public class EndpointOAuthFacebook { public static class Builder { private Optional clientId = Optional.empty(); private Optional clientSecret = Optional.empty(); - private Optional> scopes = Optional.empty(); - private Optional> emailAddresses = Optional.empty(); - private Optional> emailDomains = Optional.empty(); + private java.util.List scopes = java.util.Collections.emptyList(); + private java.util.List emailAddresses = java.util.Collections.emptyList(); + private java.util.List emailDomains = java.util.Collections.emptyList(); private Builder( ) { } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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. - * - * @param clientId the value of the client_id parameter as a {@link String} - * @return this builder instance - */ + * + * @param clientId the value of the client_id parameter as a {@link String} + * @return this builder instance + */ public Builder clientId(final String clientId) { this.clientId = Optional.of(Objects.requireNonNull(clientId, "clientId is required")); return this; } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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. - * - * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientId(final Optional clientId) { this.clientId = Objects.requireNonNull(clientId, "clientId is required"); return this; } /** - * 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. - * - * @param clientSecret the value of the client_secret parameter as a {@link String} - * @return this builder instance - */ + * 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. + * + * @param clientSecret the value of the client_secret parameter as a {@link String} + * @return this builder instance + */ public Builder clientSecret(final String clientSecret) { this.clientSecret = Optional.of(Objects.requireNonNull(clientSecret, "clientSecret is required")); return this; } /** - * 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. - * - * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * 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. + * + * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientSecret(final Optional clientSecret) { this.clientSecret = Objects.requireNonNull(clientSecret, "clientSecret is required"); return this; @@ -88,12 +88,12 @@ public class EndpointOAuthFacebook { * 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) - * - * @param scopes the value of the scopes parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder scopes(final java.util.List scopes) { - this.scopes = Optional.of(Objects.requireNonNull(scopes, "scopes is required")); + this.scopes = Objects.requireNonNull(scopes, "scopes is required"); return this; } @@ -102,63 +102,63 @@ public class EndpointOAuthFacebook { * 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) - * - * @param scopes the value of the scopes parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder scopes(final Optional> scopes) { - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); + this.scopes = Objects.requireNonNull(scopes, "scopes is required").orElse(java.util.Collections.emptyList()); return this; } /** * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder emailAddresses(final java.util.List emailAddresses) { - this.emailAddresses = Optional.of(Objects.requireNonNull(emailAddresses, "emailAddresses is required")); - return this; - } - - /** - * a list of email addresses of users authenticated by identity provider who are - * allowed access to the endpoint - * - * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder emailAddresses(final Optional> emailAddresses) { this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required"); return this; } /** - * a list of email domains of users authenticated by identity provider who are + * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} - * @return this builder instance - */ - public Builder emailDomains(final java.util.List emailDomains) { - this.emailDomains = Optional.of(Objects.requireNonNull(emailDomains, "emailDomains is required")); + * + * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder emailAddresses(final Optional> emailAddresses) { + this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required").orElse(java.util.Collections.emptyList()); return this; } /** * a list of email domains of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailDomains the value of the email_domains parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder emailDomains(final Optional> emailDomains) { + * + * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ + public Builder emailDomains(final java.util.List emailDomains) { this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required"); return this; } + /** + * a list of email domains of users authenticated by identity provider who are + * allowed access to the endpoint + * + * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder emailDomains(final Optional> emailDomains) { + this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required").orElse(java.util.Collections.emptyList()); + return this; + } + /** * Constructs the {@link EndpointOAuthFacebook} instance. * @@ -168,9 +168,9 @@ public class EndpointOAuthFacebook { return new EndpointOAuthFacebook( this.clientId, this.clientSecret, - this.scopes.orElse(java.util.Collections.emptyList()), - this.emailAddresses.orElse(java.util.Collections.emptyList()), - this.emailDomains.orElse(java.util.Collections.emptyList()) + this.scopes, + this.emailAddresses, + this.emailDomains ); } } @@ -205,8 +205,8 @@ public class EndpointOAuthFacebook { /** * Creates a new instance of {@link EndpointOAuthFacebook}. * - * @param clientId 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. - * @param clientSecret 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. + * @param clientId 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. + * @param clientSecret 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. * @param 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) * @param emailAddresses a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint * @param emailDomains a list of email domains of users authenticated by identity provider who are allowed access to the endpoint @@ -221,13 +221,13 @@ public class EndpointOAuthFacebook { ) { this.clientId = clientId != null ? clientId : Optional.empty(); this.clientSecret = clientSecret != null ? clientSecret : Optional.empty(); - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); - this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required"); - this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required"); + this.scopes = scopes != null ? scopes : java.util.Collections.emptyList(); + this.emailAddresses = emailAddresses != null ? emailAddresses : java.util.Collections.emptyList(); + this.emailDomains = emailDomains != null ? emailDomains : java.util.Collections.emptyList(); } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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 @@ -240,9 +240,9 @@ public class EndpointOAuthFacebook { } /** - * 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. + * 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 the value of the property as a {@link String} wrapped in an {@link Optional} */ @@ -256,7 +256,7 @@ public class EndpointOAuthFacebook { * oauth app (i.e. you must pass both client_id and * client_secret to set scopes) * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getScopes() { return this.scopes; @@ -266,7 +266,7 @@ public class EndpointOAuthFacebook { * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getEmailAddresses() { return this.emailAddresses; @@ -276,7 +276,7 @@ public class EndpointOAuthFacebook { * a list of email domains of users authenticated by identity provider who are * allowed access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getEmailDomains() { return this.emailDomains; diff --git a/src/main/java/com/ngrok/definitions/EndpointOAuthGitHub.java b/src/main/java/com/ngrok/definitions/EndpointOAuthGitHub.java index 7a56d08..b203cd9 100644 --- a/src/main/java/com/ngrok/definitions/EndpointOAuthGitHub.java +++ b/src/main/java/com/ngrok/definitions/EndpointOAuthGitHub.java @@ -19,67 +19,67 @@ public class EndpointOAuthGitHub { public static class Builder { private Optional clientId = Optional.empty(); private Optional clientSecret = Optional.empty(); - private Optional> scopes = Optional.empty(); - private Optional> emailAddresses = Optional.empty(); - private Optional> emailDomains = Optional.empty(); - private Optional> teams = Optional.empty(); - private Optional> organizations = Optional.empty(); + private java.util.List scopes = java.util.Collections.emptyList(); + private java.util.List emailAddresses = java.util.Collections.emptyList(); + private java.util.List emailDomains = java.util.Collections.emptyList(); + private java.util.List teams = java.util.Collections.emptyList(); + private java.util.List organizations = java.util.Collections.emptyList(); private Builder( ) { } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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. - * - * @param clientId the value of the client_id parameter as a {@link String} - * @return this builder instance - */ + * + * @param clientId the value of the client_id parameter as a {@link String} + * @return this builder instance + */ public Builder clientId(final String clientId) { this.clientId = Optional.of(Objects.requireNonNull(clientId, "clientId is required")); return this; } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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. - * - * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientId(final Optional clientId) { this.clientId = Objects.requireNonNull(clientId, "clientId is required"); return this; } /** - * 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. - * - * @param clientSecret the value of the client_secret parameter as a {@link String} - * @return this builder instance - */ + * 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. + * + * @param clientSecret the value of the client_secret parameter as a {@link String} + * @return this builder instance + */ public Builder clientSecret(final String clientSecret) { this.clientSecret = Optional.of(Objects.requireNonNull(clientSecret, "clientSecret is required")); return this; } /** - * 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. - * - * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * 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. + * + * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientSecret(final Optional clientSecret) { this.clientSecret = Objects.requireNonNull(clientSecret, "clientSecret is required"); return this; @@ -90,12 +90,12 @@ public class EndpointOAuthGitHub { * 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) - * - * @param scopes the value of the scopes parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder scopes(final java.util.List scopes) { - this.scopes = Optional.of(Objects.requireNonNull(scopes, "scopes is required")); + this.scopes = Objects.requireNonNull(scopes, "scopes is required"); return this; } @@ -104,115 +104,117 @@ public class EndpointOAuthGitHub { * 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) - * - * @param scopes the value of the scopes parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder scopes(final Optional> scopes) { - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); + this.scopes = Objects.requireNonNull(scopes, "scopes is required").orElse(java.util.Collections.emptyList()); return this; } /** * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder emailAddresses(final java.util.List emailAddresses) { - this.emailAddresses = Optional.of(Objects.requireNonNull(emailAddresses, "emailAddresses is required")); - return this; - } - - /** - * a list of email addresses of users authenticated by identity provider who are - * allowed access to the endpoint - * - * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder emailAddresses(final Optional> emailAddresses) { this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required"); return this; } /** - * a list of email domains of users authenticated by identity provider who are + * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} - * @return this builder instance - */ - public Builder emailDomains(final java.util.List emailDomains) { - this.emailDomains = Optional.of(Objects.requireNonNull(emailDomains, "emailDomains is required")); + * + * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder emailAddresses(final Optional> emailAddresses) { + this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required").orElse(java.util.Collections.emptyList()); return this; } /** * a list of email domains of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailDomains the value of the email_domains parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder emailDomains(final Optional> emailDomains) { + * + * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ + public Builder emailDomains(final java.util.List emailDomains) { this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required"); return this; } /** - * 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 - * - * @param teams the value of the teams parameter as a {@link java.util.List} - * @return this builder instance - */ - public Builder teams(final java.util.List teams) { - this.teams = Optional.of(Objects.requireNonNull(teams, "teams is required")); + * a list of email domains of users authenticated by identity provider who are + * allowed access to the endpoint + * + * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder emailDomains(final Optional> emailDomains) { + this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required").orElse(java.util.Collections.emptyList()); return this; } /** * 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 - * - * @param teams the value of the teams parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder teams(final Optional> teams) { + * 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 + * + * @param teams the value of the teams parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ + public Builder teams(final java.util.List teams) { this.teams = Objects.requireNonNull(teams, "teams is required"); return this; } /** - * 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' - * - * @param organizations the value of the organizations parameter as a {@link java.util.List} - * @return this builder instance - */ - public Builder organizations(final java.util.List organizations) { - this.organizations = Optional.of(Objects.requireNonNull(organizations, "organizations is required")); + * 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 + * + * @param teams the value of the teams parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder teams(final Optional> teams) { + this.teams = Objects.requireNonNull(teams, "teams is required").orElse(java.util.Collections.emptyList()); return this; } /** * 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' - * - * @param organizations the value of the organizations parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder organizations(final Optional> organizations) { + * organizations will be allowed access. identifiers should be the + * organization's 'slug' + * + * @param organizations the value of the organizations parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ + public Builder organizations(final java.util.List organizations) { this.organizations = Objects.requireNonNull(organizations, "organizations is required"); return this; } + /** + * 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' + * + * @param organizations the value of the organizations parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder organizations(final Optional> organizations) { + this.organizations = Objects.requireNonNull(organizations, "organizations is required").orElse(java.util.Collections.emptyList()); + return this; + } + /** * Constructs the {@link EndpointOAuthGitHub} instance. * @@ -222,11 +224,11 @@ public class EndpointOAuthGitHub { return new EndpointOAuthGitHub( this.clientId, this.clientSecret, - this.scopes.orElse(java.util.Collections.emptyList()), - this.emailAddresses.orElse(java.util.Collections.emptyList()), - this.emailDomains.orElse(java.util.Collections.emptyList()), - this.teams.orElse(java.util.Collections.emptyList()), - this.organizations.orElse(java.util.Collections.emptyList()) + this.scopes, + this.emailAddresses, + this.emailDomains, + this.teams, + this.organizations ); } } @@ -267,13 +269,13 @@ public class EndpointOAuthGitHub { /** * Creates a new instance of {@link EndpointOAuthGitHub}. * - * @param clientId 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. - * @param clientSecret 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. + * @param clientId 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. + * @param clientSecret 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. * @param 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) * @param emailAddresses a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint * @param emailDomains a list of email domains of users authenticated by identity provider who are allowed access to the endpoint - * @param 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 - * @param 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' + * @param 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 + * @param 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' */ @JsonCreator private EndpointOAuthGitHub( @@ -287,15 +289,15 @@ public class EndpointOAuthGitHub { ) { this.clientId = clientId != null ? clientId : Optional.empty(); this.clientSecret = clientSecret != null ? clientSecret : Optional.empty(); - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); - this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required"); - this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required"); - this.teams = Objects.requireNonNull(teams, "teams is required"); - this.organizations = Objects.requireNonNull(organizations, "organizations is required"); + this.scopes = scopes != null ? scopes : java.util.Collections.emptyList(); + this.emailAddresses = emailAddresses != null ? emailAddresses : java.util.Collections.emptyList(); + this.emailDomains = emailDomains != null ? emailDomains : java.util.Collections.emptyList(); + this.teams = teams != null ? teams : java.util.Collections.emptyList(); + this.organizations = organizations != null ? organizations : java.util.Collections.emptyList(); } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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 @@ -308,9 +310,9 @@ public class EndpointOAuthGitHub { } /** - * 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. + * 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 the value of the property as a {@link String} wrapped in an {@link Optional} */ @@ -324,7 +326,7 @@ public class EndpointOAuthGitHub { * oauth app (i.e. you must pass both client_id and * client_secret to set scopes) * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getScopes() { return this.scopes; @@ -334,7 +336,7 @@ public class EndpointOAuthGitHub { * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getEmailAddresses() { return this.emailAddresses; @@ -344,7 +346,7 @@ public class EndpointOAuthGitHub { * a list of email domains of users authenticated by identity provider who are * allowed access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getEmailDomains() { return this.emailDomains; @@ -352,10 +354,11 @@ public class EndpointOAuthGitHub { /** * 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 + * 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 the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getTeams() { return this.teams; @@ -363,10 +366,10 @@ public class EndpointOAuthGitHub { /** * 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' + * organizations will be allowed access. identifiers should be the + * organization's 'slug' * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getOrganizations() { return this.organizations; diff --git a/src/main/java/com/ngrok/definitions/EndpointOAuthGoogle.java b/src/main/java/com/ngrok/definitions/EndpointOAuthGoogle.java index 9f2140b..21b1409 100644 --- a/src/main/java/com/ngrok/definitions/EndpointOAuthGoogle.java +++ b/src/main/java/com/ngrok/definitions/EndpointOAuthGoogle.java @@ -19,65 +19,65 @@ public class EndpointOAuthGoogle { public static class Builder { private Optional clientId = Optional.empty(); private Optional clientSecret = Optional.empty(); - private Optional> scopes = Optional.empty(); - private Optional> emailAddresses = Optional.empty(); - private Optional> emailDomains = Optional.empty(); + private java.util.List scopes = java.util.Collections.emptyList(); + private java.util.List emailAddresses = java.util.Collections.emptyList(); + private java.util.List emailDomains = java.util.Collections.emptyList(); private Builder( ) { } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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. - * - * @param clientId the value of the client_id parameter as a {@link String} - * @return this builder instance - */ + * + * @param clientId the value of the client_id parameter as a {@link String} + * @return this builder instance + */ public Builder clientId(final String clientId) { this.clientId = Optional.of(Objects.requireNonNull(clientId, "clientId is required")); return this; } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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. - * - * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientId(final Optional clientId) { this.clientId = Objects.requireNonNull(clientId, "clientId is required"); return this; } /** - * 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. - * - * @param clientSecret the value of the client_secret parameter as a {@link String} - * @return this builder instance - */ + * 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. + * + * @param clientSecret the value of the client_secret parameter as a {@link String} + * @return this builder instance + */ public Builder clientSecret(final String clientSecret) { this.clientSecret = Optional.of(Objects.requireNonNull(clientSecret, "clientSecret is required")); return this; } /** - * 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. - * - * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * 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. + * + * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientSecret(final Optional clientSecret) { this.clientSecret = Objects.requireNonNull(clientSecret, "clientSecret is required"); return this; @@ -88,12 +88,12 @@ public class EndpointOAuthGoogle { * 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) - * - * @param scopes the value of the scopes parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder scopes(final java.util.List scopes) { - this.scopes = Optional.of(Objects.requireNonNull(scopes, "scopes is required")); + this.scopes = Objects.requireNonNull(scopes, "scopes is required"); return this; } @@ -102,63 +102,63 @@ public class EndpointOAuthGoogle { * 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) - * - * @param scopes the value of the scopes parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder scopes(final Optional> scopes) { - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); + this.scopes = Objects.requireNonNull(scopes, "scopes is required").orElse(java.util.Collections.emptyList()); return this; } /** * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder emailAddresses(final java.util.List emailAddresses) { - this.emailAddresses = Optional.of(Objects.requireNonNull(emailAddresses, "emailAddresses is required")); - return this; - } - - /** - * a list of email addresses of users authenticated by identity provider who are - * allowed access to the endpoint - * - * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder emailAddresses(final Optional> emailAddresses) { this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required"); return this; } /** - * a list of email domains of users authenticated by identity provider who are + * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} - * @return this builder instance - */ - public Builder emailDomains(final java.util.List emailDomains) { - this.emailDomains = Optional.of(Objects.requireNonNull(emailDomains, "emailDomains is required")); + * + * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder emailAddresses(final Optional> emailAddresses) { + this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required").orElse(java.util.Collections.emptyList()); return this; } /** * a list of email domains of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailDomains the value of the email_domains parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder emailDomains(final Optional> emailDomains) { + * + * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ + public Builder emailDomains(final java.util.List emailDomains) { this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required"); return this; } + /** + * a list of email domains of users authenticated by identity provider who are + * allowed access to the endpoint + * + * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder emailDomains(final Optional> emailDomains) { + this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required").orElse(java.util.Collections.emptyList()); + return this; + } + /** * Constructs the {@link EndpointOAuthGoogle} instance. * @@ -168,9 +168,9 @@ public class EndpointOAuthGoogle { return new EndpointOAuthGoogle( this.clientId, this.clientSecret, - this.scopes.orElse(java.util.Collections.emptyList()), - this.emailAddresses.orElse(java.util.Collections.emptyList()), - this.emailDomains.orElse(java.util.Collections.emptyList()) + this.scopes, + this.emailAddresses, + this.emailDomains ); } } @@ -205,8 +205,8 @@ public class EndpointOAuthGoogle { /** * Creates a new instance of {@link EndpointOAuthGoogle}. * - * @param clientId 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. - * @param clientSecret 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. + * @param clientId 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. + * @param clientSecret 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. * @param 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) * @param emailAddresses a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint * @param emailDomains a list of email domains of users authenticated by identity provider who are allowed access to the endpoint @@ -221,13 +221,13 @@ public class EndpointOAuthGoogle { ) { this.clientId = clientId != null ? clientId : Optional.empty(); this.clientSecret = clientSecret != null ? clientSecret : Optional.empty(); - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); - this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required"); - this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required"); + this.scopes = scopes != null ? scopes : java.util.Collections.emptyList(); + this.emailAddresses = emailAddresses != null ? emailAddresses : java.util.Collections.emptyList(); + this.emailDomains = emailDomains != null ? emailDomains : java.util.Collections.emptyList(); } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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 @@ -240,9 +240,9 @@ public class EndpointOAuthGoogle { } /** - * 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. + * 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 the value of the property as a {@link String} wrapped in an {@link Optional} */ @@ -256,7 +256,7 @@ public class EndpointOAuthGoogle { * oauth app (i.e. you must pass both client_id and * client_secret to set scopes) * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getScopes() { return this.scopes; @@ -266,7 +266,7 @@ public class EndpointOAuthGoogle { * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getEmailAddresses() { return this.emailAddresses; @@ -276,7 +276,7 @@ public class EndpointOAuthGoogle { * a list of email domains of users authenticated by identity provider who are * allowed access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getEmailDomains() { return this.emailDomains; diff --git a/src/main/java/com/ngrok/definitions/EndpointOAuthMicrosoft.java b/src/main/java/com/ngrok/definitions/EndpointOAuthMicrosoft.java index 1aca943..caf02f8 100644 --- a/src/main/java/com/ngrok/definitions/EndpointOAuthMicrosoft.java +++ b/src/main/java/com/ngrok/definitions/EndpointOAuthMicrosoft.java @@ -19,65 +19,65 @@ public class EndpointOAuthMicrosoft { public static class Builder { private Optional clientId = Optional.empty(); private Optional clientSecret = Optional.empty(); - private Optional> scopes = Optional.empty(); - private Optional> emailAddresses = Optional.empty(); - private Optional> emailDomains = Optional.empty(); + private java.util.List scopes = java.util.Collections.emptyList(); + private java.util.List emailAddresses = java.util.Collections.emptyList(); + private java.util.List emailDomains = java.util.Collections.emptyList(); private Builder( ) { } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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. - * - * @param clientId the value of the client_id parameter as a {@link String} - * @return this builder instance - */ + * + * @param clientId the value of the client_id parameter as a {@link String} + * @return this builder instance + */ public Builder clientId(final String clientId) { this.clientId = Optional.of(Objects.requireNonNull(clientId, "clientId is required")); return this; } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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. - * - * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientId(final Optional clientId) { this.clientId = Objects.requireNonNull(clientId, "clientId is required"); return this; } /** - * 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. - * - * @param clientSecret the value of the client_secret parameter as a {@link String} - * @return this builder instance - */ + * 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. + * + * @param clientSecret the value of the client_secret parameter as a {@link String} + * @return this builder instance + */ public Builder clientSecret(final String clientSecret) { this.clientSecret = Optional.of(Objects.requireNonNull(clientSecret, "clientSecret is required")); return this; } /** - * 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. - * - * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * 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. + * + * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientSecret(final Optional clientSecret) { this.clientSecret = Objects.requireNonNull(clientSecret, "clientSecret is required"); return this; @@ -88,12 +88,12 @@ public class EndpointOAuthMicrosoft { * 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) - * - * @param scopes the value of the scopes parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder scopes(final java.util.List scopes) { - this.scopes = Optional.of(Objects.requireNonNull(scopes, "scopes is required")); + this.scopes = Objects.requireNonNull(scopes, "scopes is required"); return this; } @@ -102,63 +102,63 @@ public class EndpointOAuthMicrosoft { * 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) - * - * @param scopes the value of the scopes parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder scopes(final Optional> scopes) { - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); + this.scopes = Objects.requireNonNull(scopes, "scopes is required").orElse(java.util.Collections.emptyList()); return this; } /** * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder emailAddresses(final java.util.List emailAddresses) { - this.emailAddresses = Optional.of(Objects.requireNonNull(emailAddresses, "emailAddresses is required")); - return this; - } - - /** - * a list of email addresses of users authenticated by identity provider who are - * allowed access to the endpoint - * - * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder emailAddresses(final Optional> emailAddresses) { this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required"); return this; } /** - * a list of email domains of users authenticated by identity provider who are + * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} - * @return this builder instance - */ - public Builder emailDomains(final java.util.List emailDomains) { - this.emailDomains = Optional.of(Objects.requireNonNull(emailDomains, "emailDomains is required")); + * + * @param emailAddresses the value of the email_addresses parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder emailAddresses(final Optional> emailAddresses) { + this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required").orElse(java.util.Collections.emptyList()); return this; } /** * a list of email domains of users authenticated by identity provider who are * allowed access to the endpoint - * - * @param emailDomains the value of the email_domains parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ - public Builder emailDomains(final Optional> emailDomains) { + * + * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ + public Builder emailDomains(final java.util.List emailDomains) { this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required"); return this; } + /** + * a list of email domains of users authenticated by identity provider who are + * allowed access to the endpoint + * + * @param emailDomains the value of the email_domains parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ + public Builder emailDomains(final Optional> emailDomains) { + this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required").orElse(java.util.Collections.emptyList()); + return this; + } + /** * Constructs the {@link EndpointOAuthMicrosoft} instance. * @@ -168,9 +168,9 @@ public class EndpointOAuthMicrosoft { return new EndpointOAuthMicrosoft( this.clientId, this.clientSecret, - this.scopes.orElse(java.util.Collections.emptyList()), - this.emailAddresses.orElse(java.util.Collections.emptyList()), - this.emailDomains.orElse(java.util.Collections.emptyList()) + this.scopes, + this.emailAddresses, + this.emailDomains ); } } @@ -205,8 +205,8 @@ public class EndpointOAuthMicrosoft { /** * Creates a new instance of {@link EndpointOAuthMicrosoft}. * - * @param clientId 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. - * @param clientSecret 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. + * @param clientId 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. + * @param clientSecret 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. * @param 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) * @param emailAddresses a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint * @param emailDomains a list of email domains of users authenticated by identity provider who are allowed access to the endpoint @@ -221,13 +221,13 @@ public class EndpointOAuthMicrosoft { ) { this.clientId = clientId != null ? clientId : Optional.empty(); this.clientSecret = clientSecret != null ? clientSecret : Optional.empty(); - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); - this.emailAddresses = Objects.requireNonNull(emailAddresses, "emailAddresses is required"); - this.emailDomains = Objects.requireNonNull(emailDomains, "emailDomains is required"); + this.scopes = scopes != null ? scopes : java.util.Collections.emptyList(); + this.emailAddresses = emailAddresses != null ? emailAddresses : java.util.Collections.emptyList(); + this.emailDomains = emailDomains != null ? emailDomains : java.util.Collections.emptyList(); } /** - * the OAuth app client ID. retrieve it from the identity provider's dashboard + * 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 @@ -240,9 +240,9 @@ public class EndpointOAuthMicrosoft { } /** - * 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. + * 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 the value of the property as a {@link String} wrapped in an {@link Optional} */ @@ -256,7 +256,7 @@ public class EndpointOAuthMicrosoft { * oauth app (i.e. you must pass both client_id and * client_secret to set scopes) * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getScopes() { return this.scopes; @@ -266,7 +266,7 @@ public class EndpointOAuthMicrosoft { * a list of email addresses of users authenticated by identity provider who are * allowed access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getEmailAddresses() { return this.emailAddresses; @@ -276,7 +276,7 @@ public class EndpointOAuthMicrosoft { * a list of email domains of users authenticated by identity provider who are * allowed access to the endpoint * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getEmailDomains() { return this.emailDomains; diff --git a/src/main/java/com/ngrok/definitions/EndpointOAuthProvider.java b/src/main/java/com/ngrok/definitions/EndpointOAuthProvider.java index 5bb8ad9..557b427 100644 --- a/src/main/java/com/ngrok/definitions/EndpointOAuthProvider.java +++ b/src/main/java/com/ngrok/definitions/EndpointOAuthProvider.java @@ -28,10 +28,10 @@ public class EndpointOAuthProvider { /** * configuration for using github as the identity provider - * - * @param github the value of the github parameter as a {@link EndpointOAuthGitHub} - * @return this builder instance - */ + * + * @param github the value of the github parameter as a {@link EndpointOAuthGitHub} + * @return this builder instance + */ public Builder github(final EndpointOAuthGitHub github) { this.github = Optional.of(Objects.requireNonNull(github, "github is required")); return this; @@ -39,10 +39,10 @@ public class EndpointOAuthProvider { /** * configuration for using github as the identity provider - * - * @param github the value of the github parameter as a {@link EndpointOAuthGitHub}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param github the value of the github parameter as a {@link EndpointOAuthGitHub}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder github(final Optional github) { this.github = Objects.requireNonNull(github, "github is required"); return this; @@ -50,10 +50,10 @@ public class EndpointOAuthProvider { /** * configuration for using facebook as the identity provider - * - * @param facebook the value of the facebook parameter as a {@link EndpointOAuthFacebook} - * @return this builder instance - */ + * + * @param facebook the value of the facebook parameter as a {@link EndpointOAuthFacebook} + * @return this builder instance + */ public Builder facebook(final EndpointOAuthFacebook facebook) { this.facebook = Optional.of(Objects.requireNonNull(facebook, "facebook is required")); return this; @@ -61,10 +61,10 @@ public class EndpointOAuthProvider { /** * configuration for using facebook as the identity provider - * - * @param facebook the value of the facebook parameter as a {@link EndpointOAuthFacebook}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param facebook the value of the facebook parameter as a {@link EndpointOAuthFacebook}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder facebook(final Optional facebook) { this.facebook = Objects.requireNonNull(facebook, "facebook is required"); return this; @@ -72,10 +72,10 @@ public class EndpointOAuthProvider { /** * configuration for using microsoft as the identity provider - * - * @param microsoft the value of the microsoft parameter as a {@link EndpointOAuthMicrosoft} - * @return this builder instance - */ + * + * @param microsoft the value of the microsoft parameter as a {@link EndpointOAuthMicrosoft} + * @return this builder instance + */ public Builder microsoft(final EndpointOAuthMicrosoft microsoft) { this.microsoft = Optional.of(Objects.requireNonNull(microsoft, "microsoft is required")); return this; @@ -83,10 +83,10 @@ public class EndpointOAuthProvider { /** * configuration for using microsoft as the identity provider - * - * @param microsoft the value of the microsoft parameter as a {@link EndpointOAuthMicrosoft}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param microsoft the value of the microsoft parameter as a {@link EndpointOAuthMicrosoft}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder microsoft(final Optional microsoft) { this.microsoft = Objects.requireNonNull(microsoft, "microsoft is required"); return this; @@ -94,10 +94,10 @@ public class EndpointOAuthProvider { /** * configuration for using google as the identity provider - * - * @param google the value of the google parameter as a {@link EndpointOAuthGoogle} - * @return this builder instance - */ + * + * @param google the value of the google parameter as a {@link EndpointOAuthGoogle} + * @return this builder instance + */ public Builder google(final EndpointOAuthGoogle google) { this.google = Optional.of(Objects.requireNonNull(google, "google is required")); return this; @@ -105,10 +105,10 @@ public class EndpointOAuthProvider { /** * configuration for using google as the identity provider - * - * @param google the value of the google parameter as a {@link EndpointOAuthGoogle}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param google the value of the google parameter as a {@link EndpointOAuthGoogle}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder google(final Optional google) { this.google = Objects.requireNonNull(google, "google is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EndpointOidc.java b/src/main/java/com/ngrok/definitions/EndpointOidc.java index 6e3c75e..0544e15 100644 --- a/src/main/java/com/ngrok/definitions/EndpointOidc.java +++ b/src/main/java/com/ngrok/definitions/EndpointOidc.java @@ -25,7 +25,7 @@ public class EndpointOidc { private Optional issuer = Optional.empty(); private Optional clientId = Optional.empty(); private Optional clientSecret = Optional.empty(); - private Optional> scopes = Optional.empty(); + private java.util.List scopes = java.util.Collections.emptyList(); private Builder( ) { @@ -34,10 +34,10 @@ public class EndpointOidc { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -46,10 +46,10 @@ public class EndpointOidc { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -58,10 +58,10 @@ public class EndpointOidc { /** * Do not enforce authentication on HTTP OPTIONS requests. necessary if you are * supporting CORS. - * - * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean} + * @return this builder instance + */ public Builder optionsPassthrough(final boolean optionsPassthrough) { this.optionsPassthrough = Optional.of(Objects.requireNonNull(optionsPassthrough, "optionsPassthrough is required")); return this; @@ -70,10 +70,10 @@ public class EndpointOidc { /** * Do not enforce authentication on HTTP OPTIONS requests. necessary if you are * supporting CORS. - * - * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder optionsPassthrough(final Optional optionsPassthrough) { this.optionsPassthrough = Objects.requireNonNull(optionsPassthrough, "optionsPassthrough is required"); return this; @@ -81,11 +81,11 @@ public class EndpointOidc { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' - * - * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String} - * @return this builder instance - */ + * authentication. default is 'ngrok.' + * + * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String} + * @return this builder instance + */ public Builder cookiePrefix(final String cookiePrefix) { this.cookiePrefix = Optional.of(Objects.requireNonNull(cookiePrefix, "cookiePrefix is required")); return this; @@ -93,11 +93,11 @@ public class EndpointOidc { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' - * - * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * authentication. default is 'ngrok.' + * + * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder cookiePrefix(final Optional cookiePrefix) { this.cookiePrefix = Objects.requireNonNull(cookiePrefix, "cookiePrefix is required"); return this; @@ -107,10 +107,10 @@ public class EndpointOidc { * 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. - * - * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long} - * @return this builder instance - */ + * + * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long} + * @return this builder instance + */ public Builder inactivityTimeout(final long inactivityTimeout) { this.inactivityTimeout = Optional.of(Objects.requireNonNull(inactivityTimeout, "inactivityTimeout is required")); return this; @@ -120,10 +120,10 @@ public class EndpointOidc { * 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. - * - * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder inactivityTimeout(final Optional inactivityTimeout) { this.inactivityTimeout = Objects.requireNonNull(inactivityTimeout, "inactivityTimeout is required"); return this; @@ -132,10 +132,10 @@ public class EndpointOidc { /** * Integer number of seconds of the maximum duration of an authenticated session. * After this period is exceeded, a user must reauthenticate. - * - * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration} - * @return this builder instance - */ + * + * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration} + * @return this builder instance + */ public Builder maximumDuration(final java.time.Duration maximumDuration) { this.maximumDuration = Optional.of(Objects.requireNonNull(maximumDuration, "maximumDuration is required")); return this; @@ -144,76 +144,78 @@ public class EndpointOidc { /** * Integer number of seconds of the maximum duration of an authenticated session. * After this period is exceeded, a user must reauthenticate. - * - * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder maximumDuration(final Optional maximumDuration) { this.maximumDuration = Objects.requireNonNull(maximumDuration, "maximumDuration is required"); return this; } /** - * URL of the OIDC "OpenID provider". This is the base URL used for discovery. - * - * @param issuer the value of the issuer parameter as a {@link String} - * @return this builder instance - */ + * URL of the OIDC "OpenID provider". This is the base URL used for + * discovery. + * + * @param issuer the value of the issuer parameter as a {@link String} + * @return this builder instance + */ public Builder issuer(final String issuer) { this.issuer = Optional.of(Objects.requireNonNull(issuer, "issuer is required")); return this; } /** - * URL of the OIDC "OpenID provider". This is the base URL used for discovery. - * - * @param issuer the value of the issuer parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * URL of the OIDC "OpenID provider". This is the base URL used for + * discovery. + * + * @param issuer the value of the issuer parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder issuer(final Optional issuer) { this.issuer = Objects.requireNonNull(issuer, "issuer is required"); return this; } /** - * The OIDC app's client ID and OIDC audience. - * - * @param clientId the value of the client_id parameter as a {@link String} - * @return this builder instance - */ + * The OIDC app's client ID and OIDC audience. + * + * @param clientId the value of the client_id parameter as a {@link String} + * @return this builder instance + */ public Builder clientId(final String clientId) { this.clientId = Optional.of(Objects.requireNonNull(clientId, "clientId is required")); return this; } /** - * The OIDC app's client ID and OIDC audience. - * - * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * The OIDC app's client ID and OIDC audience. + * + * @param clientId the value of the client_id parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientId(final Optional clientId) { this.clientId = Objects.requireNonNull(clientId, "clientId is required"); return this; } /** - * The OIDC app's client secret. - * - * @param clientSecret the value of the client_secret parameter as a {@link String} - * @return this builder instance - */ + * The OIDC app's client secret. + * + * @param clientSecret the value of the client_secret parameter as a {@link String} + * @return this builder instance + */ public Builder clientSecret(final String clientSecret) { this.clientSecret = Optional.of(Objects.requireNonNull(clientSecret, "clientSecret is required")); return this; } /** - * The OIDC app's client secret. - * - * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * The OIDC app's client secret. + * + * @param clientSecret the value of the client_secret parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder clientSecret(final Optional clientSecret) { this.clientSecret = Objects.requireNonNull(clientSecret, "clientSecret is required"); return this; @@ -221,23 +223,23 @@ public class EndpointOidc { /** * The set of scopes to request from the OIDC identity provider. - * - * @param scopes the value of the scopes parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder scopes(final java.util.List scopes) { - this.scopes = Optional.of(Objects.requireNonNull(scopes, "scopes is required")); + this.scopes = Objects.requireNonNull(scopes, "scopes is required"); return this; } /** * The set of scopes to request from the OIDC identity provider. - * - * @param scopes the value of the scopes parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param scopes the value of the scopes parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder scopes(final Optional> scopes) { - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); + this.scopes = Objects.requireNonNull(scopes, "scopes is required").orElse(java.util.Collections.emptyList()); return this; } @@ -256,7 +258,7 @@ public class EndpointOidc { this.issuer.orElse(""), this.clientId.orElse(""), this.clientSecret.orElse(""), - this.scopes.orElse(java.util.Collections.emptyList()) + this.scopes ); } } @@ -305,12 +307,12 @@ public class EndpointOidc { * * @param enabled true if the module will be applied to traffic, false to disable. default true if unspecified * @param optionsPassthrough Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. - * @param cookiePrefix the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' + * @param cookiePrefix the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' * @param inactivityTimeout 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. * @param maximumDuration Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. - * @param issuer URL of the OIDC "OpenID provider". This is the base URL used for discovery. - * @param clientId The OIDC app's client ID and OIDC audience. - * @param clientSecret The OIDC app's client secret. + * @param issuer URL of the OIDC "OpenID provider". This is the base URL used for discovery. + * @param clientId The OIDC app's client ID and OIDC audience. + * @param clientSecret The OIDC app's client secret. * @param scopes The set of scopes to request from the OIDC identity provider. */ @JsonCreator @@ -333,7 +335,7 @@ public class EndpointOidc { this.issuer = Objects.requireNonNull(issuer, "issuer is required"); this.clientId = Objects.requireNonNull(clientId, "clientId is required"); this.clientSecret = Objects.requireNonNull(clientSecret, "clientSecret is required"); - this.scopes = Objects.requireNonNull(scopes, "scopes is required"); + this.scopes = scopes != null ? scopes : java.util.Collections.emptyList(); } /** @@ -358,7 +360,7 @@ public class EndpointOidc { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' + * authentication. default is 'ngrok.' * * @return the value of the property as a {@link String} */ @@ -388,7 +390,8 @@ public class EndpointOidc { } /** - * URL of the OIDC "OpenID provider". This is the base URL used for discovery. + * URL of the OIDC "OpenID provider". This is the base URL used for + * discovery. * * @return the value of the property as a {@link String} */ @@ -397,7 +400,7 @@ public class EndpointOidc { } /** - * The OIDC app's client ID and OIDC audience. + * The OIDC app's client ID and OIDC audience. * * @return the value of the property as a {@link String} */ @@ -406,7 +409,7 @@ public class EndpointOidc { } /** - * The OIDC app's client secret. + * The OIDC app's client secret. * * @return the value of the property as a {@link String} */ @@ -417,7 +420,7 @@ public class EndpointOidc { /** * The set of scopes to request from the OIDC identity provider. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getScopes() { return this.scopes; diff --git a/src/main/java/com/ngrok/definitions/EndpointRequestHeaders.java b/src/main/java/com/ngrok/definitions/EndpointRequestHeaders.java index d17866c..686b802 100644 --- a/src/main/java/com/ngrok/definitions/EndpointRequestHeaders.java +++ b/src/main/java/com/ngrok/definitions/EndpointRequestHeaders.java @@ -18,8 +18,8 @@ public class EndpointRequestHeaders { */ public static class Builder { private Optional enabled = Optional.empty(); - private Optional> add = Optional.empty(); - private Optional> remove = Optional.empty(); + private java.util.Map add = java.util.Collections.emptyMap(); + private java.util.List remove = java.util.Collections.emptyList(); private Builder( ) { @@ -28,10 +28,10 @@ public class EndpointRequestHeaders { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -40,10 +40,10 @@ public class EndpointRequestHeaders { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -52,48 +52,48 @@ public class EndpointRequestHeaders { /** * a map of header key to header value that will be injected into the HTTP Request * before being sent to the upstream application server - * - * @param add the value of the add parameter as a {@link java.util.Map} - * @return this builder instance - */ + * + * @param add the value of the add parameter as a {@link java.util.Map} of {@link String} to {@link String} + * @return this builder instance + */ public Builder add(final java.util.Map add) { - this.add = Optional.of(Objects.requireNonNull(add, "add is required")); + this.add = Objects.requireNonNull(add, "add is required"); return this; } /** * a map of header key to header value that will be injected into the HTTP Request * before being sent to the upstream application server - * - * @param add the value of the add parameter as a {@link java.util.Map}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param add the value of the add parameter as a {@link java.util.Map} of {@link String} to {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder add(final Optional> add) { - this.add = Objects.requireNonNull(add, "add is required"); + this.add = Objects.requireNonNull(add, "add is required").orElse(java.util.Collections.emptyMap()); return this; } /** * a list of header names that will be removed from the HTTP Request before being * sent to the upstream application server - * - * @param remove the value of the remove parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param remove the value of the remove parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder remove(final java.util.List remove) { - this.remove = Optional.of(Objects.requireNonNull(remove, "remove is required")); + this.remove = Objects.requireNonNull(remove, "remove is required"); return this; } /** * a list of header names that will be removed from the HTTP Request before being * sent to the upstream application server - * - * @param remove the value of the remove parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param remove the value of the remove parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder remove(final Optional> remove) { - this.remove = Objects.requireNonNull(remove, "remove is required"); + this.remove = Objects.requireNonNull(remove, "remove is required").orElse(java.util.Collections.emptyList()); return this; } @@ -105,8 +105,8 @@ public class EndpointRequestHeaders { public EndpointRequestHeaders build() { return new EndpointRequestHeaders( this.enabled, - this.add.orElse(java.util.Collections.emptyMap()), - this.remove.orElse(java.util.Collections.emptyList()) + this.add, + this.remove ); } } @@ -146,8 +146,8 @@ public class EndpointRequestHeaders { @JsonProperty("remove") final java.util.List remove ) { this.enabled = enabled != null ? enabled : Optional.empty(); - this.add = Objects.requireNonNull(add, "add is required"); - this.remove = Objects.requireNonNull(remove, "remove is required"); + this.add = add != null ? add : java.util.Collections.emptyMap(); + this.remove = remove != null ? remove : java.util.Collections.emptyList(); } /** @@ -164,7 +164,7 @@ public class EndpointRequestHeaders { * 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 the value of the property as a {@link java.util.Map} + * @return the value of the property as a {@link java.util.Map} of {@link String} to {@link String} */ public java.util.Map getAdd() { return this.add; @@ -174,7 +174,7 @@ public class EndpointRequestHeaders { * a list of header names that will be removed from the HTTP Request before being * sent to the upstream application server * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getRemove() { return this.remove; diff --git a/src/main/java/com/ngrok/definitions/EndpointResponseHeaders.java b/src/main/java/com/ngrok/definitions/EndpointResponseHeaders.java index 7667356..a461781 100644 --- a/src/main/java/com/ngrok/definitions/EndpointResponseHeaders.java +++ b/src/main/java/com/ngrok/definitions/EndpointResponseHeaders.java @@ -18,8 +18,8 @@ public class EndpointResponseHeaders { */ public static class Builder { private Optional enabled = Optional.empty(); - private Optional> add = Optional.empty(); - private Optional> remove = Optional.empty(); + private java.util.Map add = java.util.Collections.emptyMap(); + private java.util.List remove = java.util.Collections.emptyList(); private Builder( ) { @@ -28,10 +28,10 @@ public class EndpointResponseHeaders { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -40,10 +40,10 @@ public class EndpointResponseHeaders { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -52,48 +52,48 @@ public class EndpointResponseHeaders { /** * a map of header key to header value that will be injected into the HTTP Response * returned to the HTTP client - * - * @param add the value of the add parameter as a {@link java.util.Map} - * @return this builder instance - */ + * + * @param add the value of the add parameter as a {@link java.util.Map} of {@link String} to {@link String} + * @return this builder instance + */ public Builder add(final java.util.Map add) { - this.add = Optional.of(Objects.requireNonNull(add, "add is required")); + this.add = Objects.requireNonNull(add, "add is required"); return this; } /** * a map of header key to header value that will be injected into the HTTP Response * returned to the HTTP client - * - * @param add the value of the add parameter as a {@link java.util.Map}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param add the value of the add parameter as a {@link java.util.Map} of {@link String} to {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder add(final Optional> add) { - this.add = Objects.requireNonNull(add, "add is required"); + this.add = Objects.requireNonNull(add, "add is required").orElse(java.util.Collections.emptyMap()); return this; } /** * a list of header names that will be removed from the HTTP Response returned to * the HTTP client - * - * @param remove the value of the remove parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param remove the value of the remove parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder remove(final java.util.List remove) { - this.remove = Optional.of(Objects.requireNonNull(remove, "remove is required")); + this.remove = Objects.requireNonNull(remove, "remove is required"); return this; } /** * a list of header names that will be removed from the HTTP Response returned to * the HTTP client - * - * @param remove the value of the remove parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param remove the value of the remove parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder remove(final Optional> remove) { - this.remove = Objects.requireNonNull(remove, "remove is required"); + this.remove = Objects.requireNonNull(remove, "remove is required").orElse(java.util.Collections.emptyList()); return this; } @@ -105,8 +105,8 @@ public class EndpointResponseHeaders { public EndpointResponseHeaders build() { return new EndpointResponseHeaders( this.enabled, - this.add.orElse(java.util.Collections.emptyMap()), - this.remove.orElse(java.util.Collections.emptyList()) + this.add, + this.remove ); } } @@ -146,8 +146,8 @@ public class EndpointResponseHeaders { @JsonProperty("remove") final java.util.List remove ) { this.enabled = enabled != null ? enabled : Optional.empty(); - this.add = Objects.requireNonNull(add, "add is required"); - this.remove = Objects.requireNonNull(remove, "remove is required"); + this.add = add != null ? add : java.util.Collections.emptyMap(); + this.remove = remove != null ? remove : java.util.Collections.emptyList(); } /** @@ -164,7 +164,7 @@ public class EndpointResponseHeaders { * a map of header key to header value that will be injected into the HTTP Response * returned to the HTTP client * - * @return the value of the property as a {@link java.util.Map} + * @return the value of the property as a {@link java.util.Map} of {@link String} to {@link String} */ public java.util.Map getAdd() { return this.add; @@ -174,7 +174,7 @@ public class EndpointResponseHeaders { * a list of header names that will be removed from the HTTP Response returned to * the HTTP client * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getRemove() { return this.remove; diff --git a/src/main/java/com/ngrok/definitions/EndpointSaml.java b/src/main/java/com/ngrok/definitions/EndpointSaml.java index 1ff385e..5e064c9 100644 --- a/src/main/java/com/ngrok/definitions/EndpointSaml.java +++ b/src/main/java/com/ngrok/definitions/EndpointSaml.java @@ -64,18 +64,18 @@ public class EndpointSaml { * * @param enabled true if the module will be applied to traffic, false to disable. default true if unspecified * @param optionsPassthrough Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. - * @param cookiePrefix the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' + * @param cookiePrefix the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' * @param inactivityTimeout 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. * @param maximumDuration Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. * @param idpMetadata The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. * @param forceAuthn 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. * @param allowIdpInitiated 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. * @param authorizedGroups If present, only users who are a member of one of the listed groups may access the target endpoint. - * @param entityId 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. - * @param assertionConsumerServiceUrl 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. - * @param singleLogoutUrl 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. - * @param requestSigningCertificatePem 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. - * @param metadataUrl 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. + * @param entityId 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. + * @param assertionConsumerServiceUrl 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. + * @param singleLogoutUrl 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. + * @param requestSigningCertificatePem 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. + * @param metadataUrl 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. * @param nameidFormat Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported. */ @JsonCreator @@ -104,7 +104,7 @@ public class EndpointSaml { this.idpMetadata = Objects.requireNonNull(idpMetadata, "idpMetadata is required"); this.forceAuthn = Objects.requireNonNull(forceAuthn, "forceAuthn is required"); this.allowIdpInitiated = allowIdpInitiated != null ? allowIdpInitiated : Optional.empty(); - this.authorizedGroups = Objects.requireNonNull(authorizedGroups, "authorizedGroups is required"); + this.authorizedGroups = authorizedGroups != null ? authorizedGroups : java.util.Collections.emptyList(); this.entityId = Objects.requireNonNull(entityId, "entityId is required"); this.assertionConsumerServiceUrl = Objects.requireNonNull(assertionConsumerServiceUrl, "assertionConsumerServiceUrl is required"); this.singleLogoutUrl = Objects.requireNonNull(singleLogoutUrl, "singleLogoutUrl is required"); @@ -135,7 +135,7 @@ public class EndpointSaml { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' + * authentication. default is 'ngrok.' * * @return the value of the property as a {@link String} */ @@ -201,16 +201,16 @@ public class EndpointSaml { * If present, only users who are a member of one of the listed groups may access * the target endpoint. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getAuthorizedGroups() { return this.authorizedGroups; } /** - * 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. + * 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 the value of the property as a {@link String} */ @@ -219,7 +219,7 @@ public class EndpointSaml { } /** - * The public URL of the SP's Assertion Consumer Service. This is where the IdP + * 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. * @@ -230,7 +230,7 @@ public class EndpointSaml { } /** - * The public URL of the SP's Single Logout Service. This is where the IdP will + * 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. * @@ -243,7 +243,7 @@ public class EndpointSaml { /** * 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 + * signing verification, but we highly recommend specifying this in the IdP's * configuration if it is supported. * * @return the value of the property as a {@link String} @@ -253,7 +253,7 @@ public class EndpointSaml { } /** - * A public URL where the SP's metadata is hosted. If an IdP supports dynamic + * 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 the value of the property as a {@link java.net.URI} diff --git a/src/main/java/com/ngrok/definitions/EndpointSamlMutate.java b/src/main/java/com/ngrok/definitions/EndpointSamlMutate.java index b2a0372..0dbaddf 100644 --- a/src/main/java/com/ngrok/definitions/EndpointSamlMutate.java +++ b/src/main/java/com/ngrok/definitions/EndpointSamlMutate.java @@ -25,7 +25,7 @@ public class EndpointSamlMutate { private Optional idpMetadata = Optional.empty(); private Optional forceAuthn = Optional.empty(); private Optional allowIdpInitiated = Optional.empty(); - private Optional> authorizedGroups = Optional.empty(); + private java.util.List authorizedGroups = java.util.Collections.emptyList(); private Optional nameidFormat = Optional.empty(); private Builder( @@ -35,10 +35,10 @@ public class EndpointSamlMutate { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -47,10 +47,10 @@ public class EndpointSamlMutate { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -59,10 +59,10 @@ public class EndpointSamlMutate { /** * Do not enforce authentication on HTTP OPTIONS requests. necessary if you are * supporting CORS. - * - * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean} + * @return this builder instance + */ public Builder optionsPassthrough(final boolean optionsPassthrough) { this.optionsPassthrough = Optional.of(Objects.requireNonNull(optionsPassthrough, "optionsPassthrough is required")); return this; @@ -71,10 +71,10 @@ public class EndpointSamlMutate { /** * Do not enforce authentication on HTTP OPTIONS requests. necessary if you are * supporting CORS. - * - * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param optionsPassthrough the value of the options_passthrough parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder optionsPassthrough(final Optional optionsPassthrough) { this.optionsPassthrough = Objects.requireNonNull(optionsPassthrough, "optionsPassthrough is required"); return this; @@ -82,11 +82,11 @@ public class EndpointSamlMutate { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' - * - * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String} - * @return this builder instance - */ + * authentication. default is 'ngrok.' + * + * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String} + * @return this builder instance + */ public Builder cookiePrefix(final String cookiePrefix) { this.cookiePrefix = Optional.of(Objects.requireNonNull(cookiePrefix, "cookiePrefix is required")); return this; @@ -94,11 +94,11 @@ public class EndpointSamlMutate { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' - * - * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * authentication. default is 'ngrok.' + * + * @param cookiePrefix the value of the cookie_prefix parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder cookiePrefix(final Optional cookiePrefix) { this.cookiePrefix = Objects.requireNonNull(cookiePrefix, "cookiePrefix is required"); return this; @@ -108,10 +108,10 @@ public class EndpointSamlMutate { * 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. - * - * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long} - * @return this builder instance - */ + * + * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long} + * @return this builder instance + */ public Builder inactivityTimeout(final long inactivityTimeout) { this.inactivityTimeout = Optional.of(Objects.requireNonNull(inactivityTimeout, "inactivityTimeout is required")); return this; @@ -121,10 +121,10 @@ public class EndpointSamlMutate { * 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. - * - * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param inactivityTimeout the value of the inactivity_timeout parameter as a {@link long}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder inactivityTimeout(final Optional inactivityTimeout) { this.inactivityTimeout = Objects.requireNonNull(inactivityTimeout, "inactivityTimeout is required"); return this; @@ -133,10 +133,10 @@ public class EndpointSamlMutate { /** * Integer number of seconds of the maximum duration of an authenticated session. * After this period is exceeded, a user must reauthenticate. - * - * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration} - * @return this builder instance - */ + * + * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration} + * @return this builder instance + */ public Builder maximumDuration(final java.time.Duration maximumDuration) { this.maximumDuration = Optional.of(Objects.requireNonNull(maximumDuration, "maximumDuration is required")); return this; @@ -145,10 +145,10 @@ public class EndpointSamlMutate { /** * Integer number of seconds of the maximum duration of an authenticated session. * After this period is exceeded, a user must reauthenticate. - * - * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param maximumDuration the value of the maximum_duration parameter as a {@link java.time.Duration}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder maximumDuration(final Optional maximumDuration) { this.maximumDuration = Objects.requireNonNull(maximumDuration, "maximumDuration is required"); return this; @@ -157,10 +157,10 @@ public class EndpointSamlMutate { /** * The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file * to download or as a URL. - * - * @param idpMetadata the value of the idp_metadata parameter as a {@link String} - * @return this builder instance - */ + * + * @param idpMetadata the value of the idp_metadata parameter as a {@link String} + * @return this builder instance + */ public Builder idpMetadata(final String idpMetadata) { this.idpMetadata = Optional.of(Objects.requireNonNull(idpMetadata, "idpMetadata is required")); return this; @@ -169,10 +169,10 @@ public class EndpointSamlMutate { /** * The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file * to download or as a URL. - * - * @param idpMetadata the value of the idp_metadata parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param idpMetadata the value of the idp_metadata parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder idpMetadata(final Optional idpMetadata) { this.idpMetadata = Objects.requireNonNull(idpMetadata, "idpMetadata is required"); return this; @@ -182,10 +182,10 @@ public class EndpointSamlMutate { * 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. - * - * @param forceAuthn the value of the force_authn parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param forceAuthn the value of the force_authn parameter as a {@link boolean} + * @return this builder instance + */ public Builder forceAuthn(final boolean forceAuthn) { this.forceAuthn = Optional.of(Objects.requireNonNull(forceAuthn, "forceAuthn is required")); return this; @@ -195,10 +195,10 @@ public class EndpointSamlMutate { * 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. - * - * @param forceAuthn the value of the force_authn parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param forceAuthn the value of the force_authn parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder forceAuthn(final Optional forceAuthn) { this.forceAuthn = Objects.requireNonNull(forceAuthn, "forceAuthn is required"); return this; @@ -209,10 +209,10 @@ public class EndpointSamlMutate { * 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. - * - * @param allowIdpInitiated the value of the allow_idp_initiated parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param allowIdpInitiated the value of the allow_idp_initiated parameter as a {@link boolean} + * @return this builder instance + */ public Builder allowIdpInitiated(final boolean allowIdpInitiated) { this.allowIdpInitiated = Optional.of(Objects.requireNonNull(allowIdpInitiated, "allowIdpInitiated is required")); return this; @@ -223,10 +223,10 @@ public class EndpointSamlMutate { * 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. - * - * @param allowIdpInitiated the value of the allow_idp_initiated parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param allowIdpInitiated the value of the allow_idp_initiated parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder allowIdpInitiated(final Optional allowIdpInitiated) { this.allowIdpInitiated = Objects.requireNonNull(allowIdpInitiated, "allowIdpInitiated is required"); return this; @@ -235,24 +235,24 @@ public class EndpointSamlMutate { /** * If present, only users who are a member of one of the listed groups may access * the target endpoint. - * - * @param authorizedGroups the value of the authorized_groups parameter as a {@link java.util.List} - * @return this builder instance - */ + * + * @param authorizedGroups the value of the authorized_groups parameter as a {@link java.util.List} of {@link String} + * @return this builder instance + */ public Builder authorizedGroups(final java.util.List authorizedGroups) { - this.authorizedGroups = Optional.of(Objects.requireNonNull(authorizedGroups, "authorizedGroups is required")); + this.authorizedGroups = Objects.requireNonNull(authorizedGroups, "authorizedGroups is required"); return this; } /** * If present, only users who are a member of one of the listed groups may access * the target endpoint. - * - * @param authorizedGroups the value of the authorized_groups parameter as a {@link java.util.List}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param authorizedGroups the value of the authorized_groups parameter as a {@link java.util.List} of {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder authorizedGroups(final Optional> authorizedGroups) { - this.authorizedGroups = Objects.requireNonNull(authorizedGroups, "authorizedGroups is required"); + this.authorizedGroups = Objects.requireNonNull(authorizedGroups, "authorizedGroups is required").orElse(java.util.Collections.emptyList()); return this; } @@ -262,10 +262,10 @@ public class EndpointSamlMutate { * urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. * A subset of the allowed values enumerated by the SAML specification are * supported. - * - * @param nameidFormat the value of the nameid_format parameter as a {@link String} - * @return this builder instance - */ + * + * @param nameidFormat the value of the nameid_format parameter as a {@link String} + * @return this builder instance + */ public Builder nameidFormat(final String nameidFormat) { this.nameidFormat = Optional.of(Objects.requireNonNull(nameidFormat, "nameidFormat is required")); return this; @@ -277,10 +277,10 @@ public class EndpointSamlMutate { * urn:oasis:names:tc:SAML:2.0:nameid-format:persistent will be used. * A subset of the allowed values enumerated by the SAML specification are * supported. - * - * @param nameidFormat the value of the nameid_format parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param nameidFormat the value of the nameid_format parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder nameidFormat(final Optional nameidFormat) { this.nameidFormat = Objects.requireNonNull(nameidFormat, "nameidFormat is required"); return this; @@ -301,7 +301,7 @@ public class EndpointSamlMutate { this.idpMetadata.orElse(""), this.forceAuthn.orElse(false), this.allowIdpInitiated, - this.authorizedGroups.orElse(java.util.Collections.emptyList()), + this.authorizedGroups, this.nameidFormat.orElse("") ); } @@ -354,7 +354,7 @@ public class EndpointSamlMutate { * * @param enabled true if the module will be applied to traffic, false to disable. default true if unspecified * @param optionsPassthrough Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. - * @param cookiePrefix the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' + * @param cookiePrefix the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' * @param inactivityTimeout 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. * @param maximumDuration Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. * @param idpMetadata The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. @@ -384,7 +384,7 @@ public class EndpointSamlMutate { this.idpMetadata = Objects.requireNonNull(idpMetadata, "idpMetadata is required"); this.forceAuthn = Objects.requireNonNull(forceAuthn, "forceAuthn is required"); this.allowIdpInitiated = allowIdpInitiated != null ? allowIdpInitiated : Optional.empty(); - this.authorizedGroups = Objects.requireNonNull(authorizedGroups, "authorizedGroups is required"); + this.authorizedGroups = authorizedGroups != null ? authorizedGroups : java.util.Collections.emptyList(); this.nameidFormat = Objects.requireNonNull(nameidFormat, "nameidFormat is required"); } @@ -410,7 +410,7 @@ public class EndpointSamlMutate { /** * the prefix of the session cookie that ngrok sets on the http client to cache - * authentication. default is 'ngrok.' + * authentication. default is 'ngrok.' * * @return the value of the property as a {@link String} */ @@ -476,7 +476,7 @@ public class EndpointSamlMutate { * If present, only users who are a member of one of the listed groups may access * the target endpoint. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getAuthorizedGroups() { return this.authorizedGroups; diff --git a/src/main/java/com/ngrok/definitions/EndpointTlsTermination.java b/src/main/java/com/ngrok/definitions/EndpointTlsTermination.java index 5e4a3eb..f4970e6 100644 --- a/src/main/java/com/ngrok/definitions/EndpointTlsTermination.java +++ b/src/main/java/com/ngrok/definitions/EndpointTlsTermination.java @@ -28,10 +28,10 @@ public class EndpointTlsTermination { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -40,10 +40,10 @@ public class EndpointTlsTermination { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -55,10 +55,10 @@ public class EndpointTlsTermination { * 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. - * - * @param terminateAt the value of the terminate_at parameter as a {@link String} - * @return this builder instance - */ + * + * @param terminateAt the value of the terminate_at parameter as a {@link String} + * @return this builder instance + */ public Builder terminateAt(final String terminateAt) { this.terminateAt = Optional.of(Objects.requireNonNull(terminateAt, "terminateAt is required")); return this; @@ -70,10 +70,10 @@ public class EndpointTlsTermination { * 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. - * - * @param terminateAt the value of the terminate_at parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param terminateAt the value of the terminate_at parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder terminateAt(final Optional terminateAt) { this.terminateAt = Objects.requireNonNull(terminateAt, "terminateAt is required"); return this; @@ -84,10 +84,10 @@ public class EndpointTlsTermination { * the TLS handshake. if unspecified, ngrok will choose an industry-safe default. * This value must be null if terminate_at is set to * upstream. - * - * @param minVersion the value of the min_version parameter as a {@link String} - * @return this builder instance - */ + * + * @param minVersion the value of the min_version parameter as a {@link String} + * @return this builder instance + */ public Builder minVersion(final String minVersion) { this.minVersion = Optional.of(Objects.requireNonNull(minVersion, "minVersion is required")); return this; @@ -98,10 +98,10 @@ public class EndpointTlsTermination { * the TLS handshake. if unspecified, ngrok will choose an industry-safe default. * This value must be null if terminate_at is set to * upstream. - * - * @param minVersion the value of the min_version parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param minVersion the value of the min_version parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder minVersion(final Optional minVersion) { this.minVersion = Objects.requireNonNull(minVersion, "minVersion is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EndpointTlsTerminationAtEdge.java b/src/main/java/com/ngrok/definitions/EndpointTlsTerminationAtEdge.java index 8ec703b..9c76e59 100644 --- a/src/main/java/com/ngrok/definitions/EndpointTlsTerminationAtEdge.java +++ b/src/main/java/com/ngrok/definitions/EndpointTlsTerminationAtEdge.java @@ -27,10 +27,10 @@ public class EndpointTlsTerminationAtEdge { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -39,10 +39,10 @@ public class EndpointTlsTerminationAtEdge { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -53,10 +53,10 @@ public class EndpointTlsTerminationAtEdge { * the TLS handshake. if unspecified, ngrok will choose an industry-safe default. * This value must be null if terminate_at is set to * upstream. - * - * @param minVersion the value of the min_version parameter as a {@link String} - * @return this builder instance - */ + * + * @param minVersion the value of the min_version parameter as a {@link String} + * @return this builder instance + */ public Builder minVersion(final String minVersion) { this.minVersion = Optional.of(Objects.requireNonNull(minVersion, "minVersion is required")); return this; @@ -67,10 +67,10 @@ public class EndpointTlsTerminationAtEdge { * the TLS handshake. if unspecified, ngrok will choose an industry-safe default. * This value must be null if terminate_at is set to * upstream. - * - * @param minVersion the value of the min_version parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param minVersion the value of the min_version parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder minVersion(final Optional minVersion) { this.minVersion = Objects.requireNonNull(minVersion, "minVersion is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EndpointWebhookValidation.java b/src/main/java/com/ngrok/definitions/EndpointWebhookValidation.java index 94e602d..0bff1fc 100644 --- a/src/main/java/com/ngrok/definitions/EndpointWebhookValidation.java +++ b/src/main/java/com/ngrok/definitions/EndpointWebhookValidation.java @@ -28,10 +28,10 @@ public class EndpointWebhookValidation { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -40,10 +40,10 @@ public class EndpointWebhookValidation { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; @@ -55,10 +55,10 @@ public class EndpointWebhookValidation { * SNS, STRIPE, GITHUB, TWILIO, * SHOPIFY, GITLAB, INTERCOM, * SENDGRID, XERO, PAGERDUTY. - * - * @param provider the value of the provider parameter as a {@link String} - * @return this builder instance - */ + * + * @param provider the value of the provider parameter as a {@link String} + * @return this builder instance + */ public Builder provider(final String provider) { this.provider = Optional.of(Objects.requireNonNull(provider, "provider is required")); return this; @@ -70,10 +70,10 @@ public class EndpointWebhookValidation { * SNS, STRIPE, GITHUB, TWILIO, * SHOPIFY, GITLAB, INTERCOM, * SENDGRID, XERO, PAGERDUTY. - * - * @param provider the value of the provider parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param provider the value of the provider parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder provider(final Optional provider) { this.provider = Objects.requireNonNull(provider, "provider is required"); return this; @@ -82,10 +82,10 @@ public class EndpointWebhookValidation { /** * a string secret used to validate requests from the given provider. All providers * except AWS SNS require a secret - * - * @param secret the value of the secret parameter as a {@link String} - * @return this builder instance - */ + * + * @param secret the value of the secret parameter as a {@link String} + * @return this builder instance + */ public Builder secret(final String secret) { this.secret = Optional.of(Objects.requireNonNull(secret, "secret is required")); return this; @@ -94,10 +94,10 @@ public class EndpointWebhookValidation { /** * a string secret used to validate requests from the given provider. All providers * except AWS SNS require a secret - * - * @param secret the value of the secret parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param secret the value of the secret parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder secret(final Optional secret) { this.secret = Objects.requireNonNull(secret, "secret is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EndpointWebsocketTcpConverter.java b/src/main/java/com/ngrok/definitions/EndpointWebsocketTcpConverter.java index 3b3e95e..2325a0c 100644 --- a/src/main/java/com/ngrok/definitions/EndpointWebsocketTcpConverter.java +++ b/src/main/java/com/ngrok/definitions/EndpointWebsocketTcpConverter.java @@ -26,10 +26,10 @@ public class EndpointWebsocketTcpConverter { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean} + * @return this builder instance + */ public Builder enabled(final boolean enabled) { this.enabled = Optional.of(Objects.requireNonNull(enabled, "enabled is required")); return this; @@ -38,10 +38,10 @@ public class EndpointWebsocketTcpConverter { /** * true if the module will be applied to traffic, false * to disable. default true if unspecified - * - * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param enabled the value of the enabled parameter as a {@link boolean}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder enabled(final Optional enabled) { this.enabled = Objects.requireNonNull(enabled, "enabled is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EventDestinationList.java b/src/main/java/com/ngrok/definitions/EventDestinationList.java index d47ed25..1e583a5 100644 --- a/src/main/java/com/ngrok/definitions/EventDestinationList.java +++ b/src/main/java/com/ngrok/definitions/EventDestinationList.java @@ -36,7 +36,7 @@ public class EventDestinationList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.eventDestinations = Objects.requireNonNull(eventDestinations, "eventDestinations is required"); + this.eventDestinations = eventDestinations != null ? eventDestinations : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class EventDestinationList implements Pageable { /** * The list of all Event Destinations on this account. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link EventDestination} */ public java.util.List getEventDestinations() { return this.eventDestinations; diff --git a/src/main/java/com/ngrok/definitions/EventSourceList.java b/src/main/java/com/ngrok/definitions/EventSourceList.java index 49d4d62..53c095d 100644 --- a/src/main/java/com/ngrok/definitions/EventSourceList.java +++ b/src/main/java/com/ngrok/definitions/EventSourceList.java @@ -31,14 +31,14 @@ public class EventSourceList { @JsonProperty("sources") final java.util.List sources, @JsonProperty("uri") final java.net.URI uri ) { - this.sources = Objects.requireNonNull(sources, "sources is required"); + this.sources = sources != null ? sources : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); } /** * The list of all Event Sources for an Event Subscription * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link EventSource} */ public java.util.List getSources() { return this.sources; diff --git a/src/main/java/com/ngrok/definitions/EventSourceReplace.java b/src/main/java/com/ngrok/definitions/EventSourceReplace.java index 083a9af..b176e2b 100644 --- a/src/main/java/com/ngrok/definitions/EventSourceReplace.java +++ b/src/main/java/com/ngrok/definitions/EventSourceReplace.java @@ -25,10 +25,10 @@ public class EventSourceReplace { /** * Type of event for which an event subscription will trigger - * - * @param type the value of the type parameter as a {@link String} - * @return this builder instance - */ + * + * @param type the value of the type parameter as a {@link String} + * @return this builder instance + */ public Builder type(final String type) { this.type = Optional.of(Objects.requireNonNull(type, "type is required")); return this; @@ -36,10 +36,10 @@ public class EventSourceReplace { /** * Type of event for which an event subscription will trigger - * - * @param type the value of the type parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param type the value of the type parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder type(final Optional type) { this.type = Objects.requireNonNull(type, "type is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EventSubscription.java b/src/main/java/com/ngrok/definitions/EventSubscription.java index 21f46e2..c65a293 100644 --- a/src/main/java/com/ngrok/definitions/EventSubscription.java +++ b/src/main/java/com/ngrok/definitions/EventSubscription.java @@ -61,8 +61,8 @@ public class EventSubscription { this.createdAt = Objects.requireNonNull(createdAt, "createdAt is required"); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); this.description = Objects.requireNonNull(description, "description is required"); - this.sources = Objects.requireNonNull(sources, "sources is required"); - this.destinations = Objects.requireNonNull(destinations, "destinations is required"); + this.sources = sources != null ? sources : java.util.Collections.emptyList(); + this.destinations = destinations != null ? destinations : java.util.Collections.emptyList(); } /** @@ -115,7 +115,7 @@ public class EventSubscription { /** * Sources containing the types for which this event subscription will trigger * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link EventSource} */ public java.util.List getSources() { return this.sources; @@ -124,7 +124,7 @@ public class EventSubscription { /** * Destinations to which these events will be sent * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link Ref} */ public java.util.List getDestinations() { return this.destinations; diff --git a/src/main/java/com/ngrok/definitions/EventSubscriptionList.java b/src/main/java/com/ngrok/definitions/EventSubscriptionList.java index 6a8ff3e..ab0abfd 100644 --- a/src/main/java/com/ngrok/definitions/EventSubscriptionList.java +++ b/src/main/java/com/ngrok/definitions/EventSubscriptionList.java @@ -36,7 +36,7 @@ public class EventSubscriptionList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.eventSubscriptions = Objects.requireNonNull(eventSubscriptions, "eventSubscriptions is required"); + this.eventSubscriptions = eventSubscriptions != null ? eventSubscriptions : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class EventSubscriptionList implements Pageable { /** * The list of all Event Subscriptions on this account. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link EventSubscription} */ public java.util.List getEventSubscriptions() { return this.eventSubscriptions; diff --git a/src/main/java/com/ngrok/definitions/EventTarget.java b/src/main/java/com/ngrok/definitions/EventTarget.java index 0afeae6..f19c031 100644 --- a/src/main/java/com/ngrok/definitions/EventTarget.java +++ b/src/main/java/com/ngrok/definitions/EventTarget.java @@ -27,10 +27,10 @@ public class EventTarget { /** * Configuration used to send events to Amazon Kinesis Data Firehose. - * - * @param firehose the value of the firehose parameter as a {@link EventTargetFirehose} - * @return this builder instance - */ + * + * @param firehose the value of the firehose parameter as a {@link EventTargetFirehose} + * @return this builder instance + */ public Builder firehose(final EventTargetFirehose firehose) { this.firehose = Optional.of(Objects.requireNonNull(firehose, "firehose is required")); return this; @@ -38,10 +38,10 @@ public class EventTarget { /** * Configuration used to send events to Amazon Kinesis Data Firehose. - * - * @param firehose the value of the firehose parameter as a {@link EventTargetFirehose}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param firehose the value of the firehose parameter as a {@link EventTargetFirehose}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder firehose(final Optional firehose) { this.firehose = Objects.requireNonNull(firehose, "firehose is required"); return this; @@ -49,10 +49,10 @@ public class EventTarget { /** * Configuration used to send events to Amazon Kinesis. - * - * @param kinesis the value of the kinesis parameter as a {@link EventTargetKinesis} - * @return this builder instance - */ + * + * @param kinesis the value of the kinesis parameter as a {@link EventTargetKinesis} + * @return this builder instance + */ public Builder kinesis(final EventTargetKinesis kinesis) { this.kinesis = Optional.of(Objects.requireNonNull(kinesis, "kinesis is required")); return this; @@ -60,10 +60,10 @@ public class EventTarget { /** * Configuration used to send events to Amazon Kinesis. - * - * @param kinesis the value of the kinesis parameter as a {@link EventTargetKinesis}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param kinesis the value of the kinesis parameter as a {@link EventTargetKinesis}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder kinesis(final Optional kinesis) { this.kinesis = Objects.requireNonNull(kinesis, "kinesis is required"); return this; @@ -71,10 +71,10 @@ public class EventTarget { /** * Configuration used to send events to Amazon CloudWatch Logs. - * - * @param cloudwatchLogs the value of the cloudwatch_logs parameter as a {@link EventTargetCloudwatchLogs} - * @return this builder instance - */ + * + * @param cloudwatchLogs the value of the cloudwatch_logs parameter as a {@link EventTargetCloudwatchLogs} + * @return this builder instance + */ public Builder cloudwatchLogs(final EventTargetCloudwatchLogs cloudwatchLogs) { this.cloudwatchLogs = Optional.of(Objects.requireNonNull(cloudwatchLogs, "cloudwatchLogs is required")); return this; @@ -82,10 +82,10 @@ public class EventTarget { /** * Configuration used to send events to Amazon CloudWatch Logs. - * - * @param cloudwatchLogs the value of the cloudwatch_logs parameter as a {@link EventTargetCloudwatchLogs}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param cloudwatchLogs the value of the cloudwatch_logs parameter as a {@link EventTargetCloudwatchLogs}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder cloudwatchLogs(final Optional cloudwatchLogs) { this.cloudwatchLogs = Objects.requireNonNull(cloudwatchLogs, "cloudwatchLogs is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EventTargetCloudwatchLogs.java b/src/main/java/com/ngrok/definitions/EventTargetCloudwatchLogs.java index 749f8e7..e23962c 100644 --- a/src/main/java/com/ngrok/definitions/EventTargetCloudwatchLogs.java +++ b/src/main/java/com/ngrok/definitions/EventTargetCloudwatchLogs.java @@ -27,10 +27,10 @@ public class EventTargetCloudwatchLogs { /** * Configuration for how to authenticate into your AWS account. Exactly one of * role or creds should be configured. - * - * @param auth the value of the auth parameter as a {@link AwsAuth} - * @return this builder instance - */ + * + * @param auth the value of the auth parameter as a {@link AwsAuth} + * @return this builder instance + */ public Builder auth(final AwsAuth auth) { this.auth = Optional.of(Objects.requireNonNull(auth, "auth is required")); return this; @@ -39,10 +39,10 @@ public class EventTargetCloudwatchLogs { /** * Configuration for how to authenticate into your AWS account. Exactly one of * role or creds should be configured. - * - * @param auth the value of the auth parameter as a {@link AwsAuth}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param auth the value of the auth parameter as a {@link AwsAuth}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder auth(final Optional auth) { this.auth = Objects.requireNonNull(auth, "auth is required"); return this; @@ -51,10 +51,10 @@ public class EventTargetCloudwatchLogs { /** * An Amazon Resource Name specifying the CloudWatch Logs group to deposit events * into. - * - * @param logGroupArn the value of the log_group_arn parameter as a {@link String} - * @return this builder instance - */ + * + * @param logGroupArn the value of the log_group_arn parameter as a {@link String} + * @return this builder instance + */ public Builder logGroupArn(final String logGroupArn) { this.logGroupArn = Optional.of(Objects.requireNonNull(logGroupArn, "logGroupArn is required")); return this; @@ -63,10 +63,10 @@ public class EventTargetCloudwatchLogs { /** * An Amazon Resource Name specifying the CloudWatch Logs group to deposit events * into. - * - * @param logGroupArn the value of the log_group_arn parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param logGroupArn the value of the log_group_arn parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder logGroupArn(final Optional logGroupArn) { this.logGroupArn = Objects.requireNonNull(logGroupArn, "logGroupArn is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EventTargetFirehose.java b/src/main/java/com/ngrok/definitions/EventTargetFirehose.java index 16f8331..6a1e35c 100644 --- a/src/main/java/com/ngrok/definitions/EventTargetFirehose.java +++ b/src/main/java/com/ngrok/definitions/EventTargetFirehose.java @@ -27,10 +27,10 @@ public class EventTargetFirehose { /** * Configuration for how to authenticate into your AWS account. Exactly one of * role or creds should be configured. - * - * @param auth the value of the auth parameter as a {@link AwsAuth} - * @return this builder instance - */ + * + * @param auth the value of the auth parameter as a {@link AwsAuth} + * @return this builder instance + */ public Builder auth(final AwsAuth auth) { this.auth = Optional.of(Objects.requireNonNull(auth, "auth is required")); return this; @@ -39,10 +39,10 @@ public class EventTargetFirehose { /** * Configuration for how to authenticate into your AWS account. Exactly one of * role or creds should be configured. - * - * @param auth the value of the auth parameter as a {@link AwsAuth}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param auth the value of the auth parameter as a {@link AwsAuth}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder auth(final Optional auth) { this.auth = Objects.requireNonNull(auth, "auth is required"); return this; @@ -51,10 +51,10 @@ public class EventTargetFirehose { /** * An Amazon Resource Name specifying the Firehose delivery stream to deposit * events into. - * - * @param deliveryStreamArn the value of the delivery_stream_arn parameter as a {@link String} - * @return this builder instance - */ + * + * @param deliveryStreamArn the value of the delivery_stream_arn parameter as a {@link String} + * @return this builder instance + */ public Builder deliveryStreamArn(final String deliveryStreamArn) { this.deliveryStreamArn = Optional.of(Objects.requireNonNull(deliveryStreamArn, "deliveryStreamArn is required")); return this; @@ -63,10 +63,10 @@ public class EventTargetFirehose { /** * An Amazon Resource Name specifying the Firehose delivery stream to deposit * events into. - * - * @param deliveryStreamArn the value of the delivery_stream_arn parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param deliveryStreamArn the value of the delivery_stream_arn parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder deliveryStreamArn(final Optional deliveryStreamArn) { this.deliveryStreamArn = Objects.requireNonNull(deliveryStreamArn, "deliveryStreamArn is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/EventTargetKinesis.java b/src/main/java/com/ngrok/definitions/EventTargetKinesis.java index bd049e1..872bdfb 100644 --- a/src/main/java/com/ngrok/definitions/EventTargetKinesis.java +++ b/src/main/java/com/ngrok/definitions/EventTargetKinesis.java @@ -27,10 +27,10 @@ public class EventTargetKinesis { /** * Configuration for how to authenticate into your AWS account. Exactly one of * role or creds should be configured. - * - * @param auth the value of the auth parameter as a {@link AwsAuth} - * @return this builder instance - */ + * + * @param auth the value of the auth parameter as a {@link AwsAuth} + * @return this builder instance + */ public Builder auth(final AwsAuth auth) { this.auth = Optional.of(Objects.requireNonNull(auth, "auth is required")); return this; @@ -39,10 +39,10 @@ public class EventTargetKinesis { /** * Configuration for how to authenticate into your AWS account. Exactly one of * role or creds should be configured. - * - * @param auth the value of the auth parameter as a {@link AwsAuth}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param auth the value of the auth parameter as a {@link AwsAuth}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder auth(final Optional auth) { this.auth = Objects.requireNonNull(auth, "auth is required"); return this; @@ -50,10 +50,10 @@ public class EventTargetKinesis { /** * An Amazon Resource Name specifying the Kinesis stream to deposit events into. - * - * @param streamArn the value of the stream_arn parameter as a {@link String} - * @return this builder instance - */ + * + * @param streamArn the value of the stream_arn parameter as a {@link String} + * @return this builder instance + */ public Builder streamArn(final String streamArn) { this.streamArn = Optional.of(Objects.requireNonNull(streamArn, "streamArn is required")); return this; @@ -61,10 +61,10 @@ public class EventTargetKinesis { /** * An Amazon Resource Name specifying the Kinesis stream to deposit events into. - * - * @param streamArn the value of the stream_arn parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param streamArn the value of the stream_arn parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder streamArn(final Optional streamArn) { this.streamArn = Objects.requireNonNull(streamArn, "streamArn is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/FailoverBackend.java b/src/main/java/com/ngrok/definitions/FailoverBackend.java index ade06b9..9800801 100644 --- a/src/main/java/com/ngrok/definitions/FailoverBackend.java +++ b/src/main/java/com/ngrok/definitions/FailoverBackend.java @@ -18,7 +18,7 @@ public class FailoverBackend { private final String id; @JsonProperty("uri") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String uri; + private final java.net.URI uri; @JsonProperty("created_at") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) private final java.time.OffsetDateTime createdAt; @@ -45,7 +45,7 @@ public class FailoverBackend { @JsonCreator public FailoverBackend( @JsonProperty("id") final String id, - @JsonProperty("uri") final String uri, + @JsonProperty("uri") final java.net.URI uri, @JsonProperty("created_at") final java.time.OffsetDateTime createdAt, @JsonProperty("description") final String description, @JsonProperty("metadata") final String metadata, @@ -56,7 +56,7 @@ public class FailoverBackend { this.createdAt = Objects.requireNonNull(createdAt, "createdAt is required"); this.description = Objects.requireNonNull(description, "description is required"); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); - this.backends = Objects.requireNonNull(backends, "backends is required"); + this.backends = backends != null ? backends : java.util.Collections.emptyList(); } /** @@ -71,9 +71,9 @@ public class FailoverBackend { /** * URI of the FailoverBackend API resource * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.net.URI} */ - public String getUri() { + public java.net.URI getUri() { return this.uri; } @@ -107,7 +107,7 @@ public class FailoverBackend { /** * the ids of the child backends in order * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getBackends() { return this.backends; diff --git a/src/main/java/com/ngrok/definitions/FailoverBackendList.java b/src/main/java/com/ngrok/definitions/FailoverBackendList.java index 42f5a3e..f48849e 100644 --- a/src/main/java/com/ngrok/definitions/FailoverBackendList.java +++ b/src/main/java/com/ngrok/definitions/FailoverBackendList.java @@ -36,7 +36,7 @@ public class FailoverBackendList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.backends = Objects.requireNonNull(backends, "backends is required"); + this.backends = backends != null ? backends : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class FailoverBackendList implements Pageable { /** * the list of all Failover backends on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link FailoverBackend} */ public java.util.List getBackends() { return this.backends; diff --git a/src/main/java/com/ngrok/definitions/HttpResponseBackend.java b/src/main/java/com/ngrok/definitions/HttpResponseBackend.java index 18ab600..3fcf695 100644 --- a/src/main/java/com/ngrok/definitions/HttpResponseBackend.java +++ b/src/main/java/com/ngrok/definitions/HttpResponseBackend.java @@ -18,7 +18,7 @@ public class HttpResponseBackend { private final String id; @JsonProperty("uri") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String uri; + private final java.net.URI uri; @JsonProperty("created_at") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) private final java.time.OffsetDateTime createdAt; @@ -53,7 +53,7 @@ public class HttpResponseBackend { @JsonCreator public HttpResponseBackend( @JsonProperty("id") final String id, - @JsonProperty("uri") final String uri, + @JsonProperty("uri") final java.net.URI uri, @JsonProperty("created_at") final java.time.OffsetDateTime createdAt, @JsonProperty("description") final String description, @JsonProperty("metadata") final String metadata, @@ -67,7 +67,7 @@ public class HttpResponseBackend { this.description = Objects.requireNonNull(description, "description is required"); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); this.body = Objects.requireNonNull(body, "body is required"); - this.headers = Objects.requireNonNull(headers, "headers is required"); + this.headers = headers != null ? headers : java.util.Collections.emptyMap(); this.statusCode = Objects.requireNonNull(statusCode, "statusCode is required"); } @@ -83,9 +83,9 @@ public class HttpResponseBackend { /** * URI of the HTTPResponseBackend API resource * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.net.URI} */ - public String getUri() { + public java.net.URI getUri() { return this.uri; } @@ -128,7 +128,7 @@ public class HttpResponseBackend { /** * headers to return * - * @return the value of the property as a {@link java.util.Map} + * @return the value of the property as a {@link java.util.Map} of {@link String} to {@link String} */ public java.util.Map getHeaders() { return this.headers; diff --git a/src/main/java/com/ngrok/definitions/HttpResponseBackendList.java b/src/main/java/com/ngrok/definitions/HttpResponseBackendList.java index 4708060..bdece27 100644 --- a/src/main/java/com/ngrok/definitions/HttpResponseBackendList.java +++ b/src/main/java/com/ngrok/definitions/HttpResponseBackendList.java @@ -26,7 +26,7 @@ public class HttpResponseBackendList implements Pageable { /** * Creates a new instance of {@link HttpResponseBackendList}. * - * @param backends the value of the backends parameter as a {@link java.util.List} + * @param backends the value of the backends parameter as a {@link java.util.List} of {@link HttpResponseBackend} * @param uri the value of the uri parameter as a {@link java.net.URI} * @param nextPageUri the value of the next_page_uri parameter as a {@link java.net.URI} */ @@ -36,7 +36,7 @@ public class HttpResponseBackendList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.backends = Objects.requireNonNull(backends, "backends is required"); + this.backends = backends != null ? backends : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class HttpResponseBackendList implements Pageable { /** * Fetches the value of the backends property. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link HttpResponseBackend} */ public java.util.List getBackends() { return this.backends; diff --git a/src/main/java/com/ngrok/definitions/HttpsEdge.java b/src/main/java/com/ngrok/definitions/HttpsEdge.java index c9704c0..511cbd6 100644 --- a/src/main/java/com/ngrok/definitions/HttpsEdge.java +++ b/src/main/java/com/ngrok/definitions/HttpsEdge.java @@ -24,10 +24,10 @@ public class HttpsEdge { private final String metadata; @JsonProperty("created_at") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String createdAt; + private final java.time.OffsetDateTime createdAt; @JsonProperty("uri") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String uri; + private final java.net.URI uri; @JsonProperty("hostports") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) private final Optional> hostports; @@ -59,8 +59,8 @@ public class HttpsEdge { @JsonProperty("id") final String id, @JsonProperty("description") final String description, @JsonProperty("metadata") final String metadata, - @JsonProperty("created_at") final String createdAt, - @JsonProperty("uri") final String uri, + @JsonProperty("created_at") final java.time.OffsetDateTime createdAt, + @JsonProperty("uri") final java.net.URI uri, @JsonProperty("hostports") final Optional> hostports, @JsonProperty("mutual_tls") final Optional mutualTls, @JsonProperty("tls_termination") final Optional tlsTermination, @@ -74,7 +74,7 @@ public class HttpsEdge { this.hostports = hostports != null ? hostports : Optional.empty(); this.mutualTls = mutualTls != null ? mutualTls : Optional.empty(); this.tlsTermination = tlsTermination != null ? tlsTermination : Optional.empty(); - this.routes = Objects.requireNonNull(routes, "routes is required"); + this.routes = routes != null ? routes : java.util.Collections.emptyList(); } /** @@ -109,25 +109,25 @@ public class HttpsEdge { /** * timestamp when the edge configuration was created, RFC 3339 format * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.time.OffsetDateTime} */ - public String getCreatedAt() { + public java.time.OffsetDateTime getCreatedAt() { return this.createdAt; } /** * URI of the edge API resource * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.net.URI} */ - public String getUri() { + public java.net.URI getUri() { return this.uri; } /** * hostports served by this edge * - * @return the value of the property as a {@link java.util.List} wrapped in an {@link Optional} + * @return the value of the property as a {@link java.util.List} of {@link String} wrapped in an {@link Optional} */ public Optional> getHostports() { return this.hostports; @@ -154,7 +154,7 @@ public class HttpsEdge { /** * routes * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link HttpsEdgeRoute} */ public java.util.List getRoutes() { return this.routes; diff --git a/src/main/java/com/ngrok/definitions/HttpsEdgeList.java b/src/main/java/com/ngrok/definitions/HttpsEdgeList.java index 5bd4cb3..f4a1708 100644 --- a/src/main/java/com/ngrok/definitions/HttpsEdgeList.java +++ b/src/main/java/com/ngrok/definitions/HttpsEdgeList.java @@ -36,7 +36,7 @@ public class HttpsEdgeList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.httpsEdges = Objects.requireNonNull(httpsEdges, "httpsEdges is required"); + this.httpsEdges = httpsEdges != null ? httpsEdges : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class HttpsEdgeList implements Pageable { /** * the list of all HTTPS Edges on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link HttpsEdge} */ public java.util.List getHttpsEdges() { return this.httpsEdges; diff --git a/src/main/java/com/ngrok/definitions/HttpsEdgeRoute.java b/src/main/java/com/ngrok/definitions/HttpsEdgeRoute.java index c01a356..bb32600 100644 --- a/src/main/java/com/ngrok/definitions/HttpsEdgeRoute.java +++ b/src/main/java/com/ngrok/definitions/HttpsEdgeRoute.java @@ -21,7 +21,7 @@ public class HttpsEdgeRoute { private final String id; @JsonProperty("created_at") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String createdAt; + private final java.time.OffsetDateTime createdAt; @JsonProperty("match_type") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) private final String matchType; @@ -30,7 +30,7 @@ public class HttpsEdgeRoute { private final String match; @JsonProperty("uri") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String uri; + private final java.net.URI uri; @JsonProperty("description") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) private final String description; @@ -77,8 +77,8 @@ public class HttpsEdgeRoute { * @param edgeId unique identifier of this edge * @param id unique identifier of this edge route * @param createdAt timestamp when the edge configuration was created, RFC 3339 format - * @param matchType Type of match to use for this route. Valid values are "exact_path" and "path_prefix". - * @param match Route selector: "/blog" or "example.com" or "example.com/blog" + * @param matchType Type of match to use for this route. Valid values are "exact_path" and "path_prefix". + * @param match Route selector: "/blog" or "example.com" or "example.com/blog" * @param uri URI of the edge API resource * @param description human-readable description of what this edge will be used for; optional, max 255 bytes. * @param metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. @@ -98,10 +98,10 @@ public class HttpsEdgeRoute { public HttpsEdgeRoute( @JsonProperty("edge_id") final String edgeId, @JsonProperty("id") final String id, - @JsonProperty("created_at") final String createdAt, + @JsonProperty("created_at") final java.time.OffsetDateTime createdAt, @JsonProperty("match_type") final String matchType, @JsonProperty("match") final String match, - @JsonProperty("uri") final String uri, + @JsonProperty("uri") final java.net.URI uri, @JsonProperty("description") final String description, @JsonProperty("metadata") final String metadata, @JsonProperty("backend") final Optional backend, @@ -158,15 +158,15 @@ public class HttpsEdgeRoute { /** * timestamp when the edge configuration was created, RFC 3339 format * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.time.OffsetDateTime} */ - public String getCreatedAt() { + public java.time.OffsetDateTime getCreatedAt() { return this.createdAt; } /** - * Type of match to use for this route. Valid values are "exact_path" and - * "path_prefix". + * Type of match to use for this route. Valid values are "exact_path" and + * "path_prefix". * * @return the value of the property as a {@link String} */ @@ -175,7 +175,8 @@ public class HttpsEdgeRoute { } /** - * Route selector: "/blog" or "example.com" or "example.com/blog" + * Route selector: "/blog" or "example.com" or + * "example.com/blog" * * @return the value of the property as a {@link String} */ @@ -186,9 +187,9 @@ public class HttpsEdgeRoute { /** * URI of the edge API resource * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.net.URI} */ - public String getUri() { + public java.net.URI getUri() { return this.uri; } diff --git a/src/main/java/com/ngrok/definitions/IpPolicyList.java b/src/main/java/com/ngrok/definitions/IpPolicyList.java index 3bbd325..7db5aec 100644 --- a/src/main/java/com/ngrok/definitions/IpPolicyList.java +++ b/src/main/java/com/ngrok/definitions/IpPolicyList.java @@ -36,7 +36,7 @@ public class IpPolicyList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.ipPolicies = Objects.requireNonNull(ipPolicies, "ipPolicies is required"); + this.ipPolicies = ipPolicies != null ? ipPolicies : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class IpPolicyList implements Pageable { /** * the list of all IP policies on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link IpPolicy} */ public java.util.List getIpPolicies() { return this.ipPolicies; diff --git a/src/main/java/com/ngrok/definitions/IpPolicyRuleList.java b/src/main/java/com/ngrok/definitions/IpPolicyRuleList.java index 3e8ee86..e27f868 100644 --- a/src/main/java/com/ngrok/definitions/IpPolicyRuleList.java +++ b/src/main/java/com/ngrok/definitions/IpPolicyRuleList.java @@ -36,7 +36,7 @@ public class IpPolicyRuleList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.ipPolicyRules = Objects.requireNonNull(ipPolicyRules, "ipPolicyRules is required"); + this.ipPolicyRules = ipPolicyRules != null ? ipPolicyRules : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class IpPolicyRuleList implements Pageable { /** * the list of all IP policy rules on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link IpPolicyRule} */ public java.util.List getIpPolicyRules() { return this.ipPolicyRules; diff --git a/src/main/java/com/ngrok/definitions/IpRestriction.java b/src/main/java/com/ngrok/definitions/IpRestriction.java index 24860a1..afe09d3 100644 --- a/src/main/java/com/ngrok/definitions/IpRestriction.java +++ b/src/main/java/com/ngrok/definitions/IpRestriction.java @@ -68,7 +68,7 @@ public class IpRestriction { this.metadata = Objects.requireNonNull(metadata, "metadata is required"); this.enforced = Objects.requireNonNull(enforced, "enforced is required"); this.type = Objects.requireNonNull(type, "type is required"); - this.ipPolicies = Objects.requireNonNull(ipPolicies, "ipPolicies is required"); + this.ipPolicies = ipPolicies != null ? ipPolicies : java.util.Collections.emptyList(); } /** @@ -142,7 +142,7 @@ public class IpRestriction { /** * the set of IP policies that are used to enforce the restriction * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link Ref} */ public java.util.List getIpPolicies() { return this.ipPolicies; diff --git a/src/main/java/com/ngrok/definitions/IpRestrictionList.java b/src/main/java/com/ngrok/definitions/IpRestrictionList.java index 5362f94..7158f95 100644 --- a/src/main/java/com/ngrok/definitions/IpRestrictionList.java +++ b/src/main/java/com/ngrok/definitions/IpRestrictionList.java @@ -36,7 +36,7 @@ public class IpRestrictionList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.ipRestrictions = Objects.requireNonNull(ipRestrictions, "ipRestrictions is required"); + this.ipRestrictions = ipRestrictions != null ? ipRestrictions : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class IpRestrictionList implements Pageable { /** * the list of all IP restrictions on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link IpRestriction} */ public java.util.List getIpRestrictions() { return this.ipRestrictions; diff --git a/src/main/java/com/ngrok/definitions/ReservedAddrList.java b/src/main/java/com/ngrok/definitions/ReservedAddrList.java index 78e546c..43ac611 100644 --- a/src/main/java/com/ngrok/definitions/ReservedAddrList.java +++ b/src/main/java/com/ngrok/definitions/ReservedAddrList.java @@ -36,7 +36,7 @@ public class ReservedAddrList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.reservedAddrs = Objects.requireNonNull(reservedAddrs, "reservedAddrs is required"); + this.reservedAddrs = reservedAddrs != null ? reservedAddrs : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class ReservedAddrList implements Pageable { /** * the list of all reserved addresses on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link ReservedAddr} */ public java.util.List getReservedAddrs() { return this.reservedAddrs; diff --git a/src/main/java/com/ngrok/definitions/ReservedDomainCertPolicy.java b/src/main/java/com/ngrok/definitions/ReservedDomainCertPolicy.java index 21088e9..ae43cbb 100644 --- a/src/main/java/com/ngrok/definitions/ReservedDomainCertPolicy.java +++ b/src/main/java/com/ngrok/definitions/ReservedDomainCertPolicy.java @@ -27,10 +27,10 @@ public class ReservedDomainCertPolicy { /** * certificate authority to request certificates from. The only supported value is * letsencrypt. - * - * @param authority the value of the authority parameter as a {@link String} - * @return this builder instance - */ + * + * @param authority the value of the authority parameter as a {@link String} + * @return this builder instance + */ public Builder authority(final String authority) { this.authority = Optional.of(Objects.requireNonNull(authority, "authority is required")); return this; @@ -39,10 +39,10 @@ public class ReservedDomainCertPolicy { /** * certificate authority to request certificates from. The only supported value is * letsencrypt. - * - * @param authority the value of the authority parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param authority the value of the authority parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder authority(final Optional authority) { this.authority = Objects.requireNonNull(authority, "authority is required"); return this; @@ -51,10 +51,10 @@ public class ReservedDomainCertPolicy { /** * type of private key to use when requesting certificates. Defaults to rsa, can be * either rsa or ecdsa. - * - * @param privateKeyType the value of the private_key_type parameter as a {@link String} - * @return this builder instance - */ + * + * @param privateKeyType the value of the private_key_type parameter as a {@link String} + * @return this builder instance + */ public Builder privateKeyType(final String privateKeyType) { this.privateKeyType = Optional.of(Objects.requireNonNull(privateKeyType, "privateKeyType is required")); return this; @@ -63,10 +63,10 @@ public class ReservedDomainCertPolicy { /** * type of private key to use when requesting certificates. Defaults to rsa, can be * either rsa or ecdsa. - * - * @param privateKeyType the value of the private_key_type parameter as a {@link String}, wrapped in an {@link Optional} - * @return this builder instance - */ + * + * @param privateKeyType the value of the private_key_type parameter as a {@link String}, wrapped in an {@link Optional} + * @return this builder instance + */ public Builder privateKeyType(final Optional privateKeyType) { this.privateKeyType = Objects.requireNonNull(privateKeyType, "privateKeyType is required"); return this; diff --git a/src/main/java/com/ngrok/definitions/ReservedDomainCertStatus.java b/src/main/java/com/ngrok/definitions/ReservedDomainCertStatus.java index 3a93d5c..c1ce3b0 100644 --- a/src/main/java/com/ngrok/definitions/ReservedDomainCertStatus.java +++ b/src/main/java/com/ngrok/definitions/ReservedDomainCertStatus.java @@ -24,7 +24,7 @@ public class ReservedDomainCertStatus { * Creates a new instance of {@link ReservedDomainCertStatus}. * * @param renewsAt timestamp when the next renewal will be requested, RFC 3339 format - * @param provisioningJob status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed + * @param provisioningJob status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed */ @JsonCreator public ReservedDomainCertStatus( @@ -45,8 +45,8 @@ public class ReservedDomainCertStatus { } /** - * status of the certificate provisioning job, or null if the certificiate isn't - * being provisioned or renewed + * status of the certificate provisioning job, or null if the certificiate + * isn't being provisioned or renewed * * @return the value of the property as a {@link ReservedDomainCertJob} wrapped in an {@link Optional} */ diff --git a/src/main/java/com/ngrok/definitions/ReservedDomainList.java b/src/main/java/com/ngrok/definitions/ReservedDomainList.java index 7fc1f06..487aaca 100644 --- a/src/main/java/com/ngrok/definitions/ReservedDomainList.java +++ b/src/main/java/com/ngrok/definitions/ReservedDomainList.java @@ -36,7 +36,7 @@ public class ReservedDomainList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.reservedDomains = Objects.requireNonNull(reservedDomains, "reservedDomains is required"); + this.reservedDomains = reservedDomains != null ? reservedDomains : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class ReservedDomainList implements Pageable { /** * the list of all reserved domains on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link ReservedDomain} */ public java.util.List getReservedDomains() { return this.reservedDomains; diff --git a/src/main/java/com/ngrok/definitions/SshCertificateAuthorityList.java b/src/main/java/com/ngrok/definitions/SshCertificateAuthorityList.java index ed6512d..f04df71 100644 --- a/src/main/java/com/ngrok/definitions/SshCertificateAuthorityList.java +++ b/src/main/java/com/ngrok/definitions/SshCertificateAuthorityList.java @@ -36,7 +36,7 @@ public class SshCertificateAuthorityList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.sshCertificateAuthorities = Objects.requireNonNull(sshCertificateAuthorities, "sshCertificateAuthorities is required"); + this.sshCertificateAuthorities = sshCertificateAuthorities != null ? sshCertificateAuthorities : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class SshCertificateAuthorityList implements Pageable { /** * the list of all certificate authorities on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link SshCertificateAuthority} */ public java.util.List getSshCertificateAuthorities() { return this.sshCertificateAuthorities; diff --git a/src/main/java/com/ngrok/definitions/SshCredential.java b/src/main/java/com/ngrok/definitions/SshCredential.java index 7ab6a1a..3b80908 100644 --- a/src/main/java/com/ngrok/definitions/SshCredential.java +++ b/src/main/java/com/ngrok/definitions/SshCredential.java @@ -44,7 +44,7 @@ public class SshCredential { * @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 publicKey the PEM-encoded public key of the SSH keypair that will be used to authenticate - * @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 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. */ @JsonCreator public SshCredential( @@ -62,7 +62,7 @@ public class SshCredential { this.description = Objects.requireNonNull(description, "description is required"); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); this.publicKey = Objects.requireNonNull(publicKey, "publicKey is required"); - this.acl = Objects.requireNonNull(acl, "acl is required"); + this.acl = acl != null ? acl : java.util.Collections.emptyList(); } /** @@ -131,10 +131,10 @@ public class SshCredential { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getAcl() { return this.acl; diff --git a/src/main/java/com/ngrok/definitions/SshCredentialList.java b/src/main/java/com/ngrok/definitions/SshCredentialList.java index 8d3a788..e9b0a65 100644 --- a/src/main/java/com/ngrok/definitions/SshCredentialList.java +++ b/src/main/java/com/ngrok/definitions/SshCredentialList.java @@ -36,7 +36,7 @@ public class SshCredentialList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.sshCredentials = Objects.requireNonNull(sshCredentials, "sshCredentials is required"); + this.sshCredentials = sshCredentials != null ? sshCredentials : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class SshCredentialList implements Pageable { /** * the list of all ssh credentials on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link SshCredential} */ public java.util.List getSshCredentials() { return this.sshCredentials; diff --git a/src/main/java/com/ngrok/definitions/SshHostCertificate.java b/src/main/java/com/ngrok/definitions/SshHostCertificate.java index 3b6e062..9fdd04b 100644 --- a/src/main/java/com/ngrok/definitions/SshHostCertificate.java +++ b/src/main/java/com/ngrok/definitions/SshHostCertificate.java @@ -89,7 +89,7 @@ public class SshHostCertificate { this.publicKey = Objects.requireNonNull(publicKey, "publicKey is required"); this.keyType = Objects.requireNonNull(keyType, "keyType is required"); this.sshCertificateAuthorityId = Objects.requireNonNull(sshCertificateAuthorityId, "sshCertificateAuthorityId is required"); - this.principals = Objects.requireNonNull(principals, "principals is required"); + this.principals = principals != null ? principals : java.util.Collections.emptyList(); this.validAfter = Objects.requireNonNull(validAfter, "validAfter is required"); this.validUntil = Objects.requireNonNull(validUntil, "validUntil is required"); this.certificate = Objects.requireNonNull(certificate, "certificate is required"); @@ -177,7 +177,7 @@ public class SshHostCertificate { * certificate. Dangerously, if no principals are specified, this certificate is * considered valid for all hosts. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getPrincipals() { return this.principals; diff --git a/src/main/java/com/ngrok/definitions/SshHostCertificateList.java b/src/main/java/com/ngrok/definitions/SshHostCertificateList.java index 68e7aa1..52b1180 100644 --- a/src/main/java/com/ngrok/definitions/SshHostCertificateList.java +++ b/src/main/java/com/ngrok/definitions/SshHostCertificateList.java @@ -36,7 +36,7 @@ public class SshHostCertificateList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.sshHostCertificates = Objects.requireNonNull(sshHostCertificates, "sshHostCertificates is required"); + this.sshHostCertificates = sshHostCertificates != null ? sshHostCertificates : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class SshHostCertificateList implements Pageable { /** * the list of all ssh host certificates on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link SshHostCertificate} */ public java.util.List getSshHostCertificates() { return this.sshHostCertificates; diff --git a/src/main/java/com/ngrok/definitions/SshUserCertificate.java b/src/main/java/com/ngrok/definitions/SshUserCertificate.java index 206913c..c925c26 100644 --- a/src/main/java/com/ngrok/definitions/SshUserCertificate.java +++ b/src/main/java/com/ngrok/definitions/SshUserCertificate.java @@ -69,7 +69,7 @@ public class SshUserCertificate { * @param sshCertificateAuthorityId the ssh certificate authority that is used to sign this ssh user certificate * @param 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 authorizing the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. * @param criticalOptions 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 for additional details. - * @param 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 for additional details. + * @param 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 for additional details. * @param validAfter the time when the ssh host certificate becomes valid, in RFC 3339 format. * @param validUntil the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this valid_before. * @param 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 @@ -99,9 +99,9 @@ public class SshUserCertificate { this.publicKey = Objects.requireNonNull(publicKey, "publicKey is required"); this.keyType = Objects.requireNonNull(keyType, "keyType is required"); this.sshCertificateAuthorityId = Objects.requireNonNull(sshCertificateAuthorityId, "sshCertificateAuthorityId is required"); - this.principals = Objects.requireNonNull(principals, "principals is required"); - this.criticalOptions = Objects.requireNonNull(criticalOptions, "criticalOptions is required"); - this.extensions = Objects.requireNonNull(extensions, "extensions is required"); + this.principals = principals != null ? principals : java.util.Collections.emptyList(); + this.criticalOptions = criticalOptions != null ? criticalOptions : java.util.Collections.emptyMap(); + this.extensions = extensions != null ? extensions : java.util.Collections.emptyMap(); this.validAfter = Objects.requireNonNull(validAfter, "validAfter is required"); this.validUntil = Objects.requireNonNull(validUntil, "validUntil is required"); this.certificate = Objects.requireNonNull(certificate, "certificate is required"); @@ -189,7 +189,7 @@ public class SshUserCertificate { * the signing certificate authority. Dangerously, if no principals are specified, * this certificate may be used to log in as any user. * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getPrincipals() { return this.principals; @@ -202,7 +202,7 @@ public class SshUserCertificate { * href="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys">the * OpenSSH certificate protocol spec for additional details. * - * @return the value of the property as a {@link java.util.Map} + * @return the value of the property as a {@link java.util.Map} of {@link String} to {@link String} */ public java.util.Map getCriticalOptions() { return this.criticalOptions; @@ -213,13 +213,13 @@ public class SshUserCertificate { * 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 {"permit-pty": + * "", "permit-user-rc": ""}
OpenSSH understands a + * number of predefined extensions. See the * OpenSSH certificate protocol spec for additional details. * - * @return the value of the property as a {@link java.util.Map} + * @return the value of the property as a {@link java.util.Map} of {@link String} to {@link String} */ public java.util.Map getExtensions() { return this.extensions; diff --git a/src/main/java/com/ngrok/definitions/SshUserCertificateList.java b/src/main/java/com/ngrok/definitions/SshUserCertificateList.java index 8a4da25..e545cec 100644 --- a/src/main/java/com/ngrok/definitions/SshUserCertificateList.java +++ b/src/main/java/com/ngrok/definitions/SshUserCertificateList.java @@ -36,7 +36,7 @@ public class SshUserCertificateList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.sshUserCertificates = Objects.requireNonNull(sshUserCertificates, "sshUserCertificates is required"); + this.sshUserCertificates = sshUserCertificates != null ? sshUserCertificates : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class SshUserCertificateList implements Pageable { /** * the list of all ssh user certificates on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link SshUserCertificate} */ public java.util.List getSshUserCertificates() { return this.sshUserCertificates; diff --git a/src/main/java/com/ngrok/definitions/TcpEdge.java b/src/main/java/com/ngrok/definitions/TcpEdge.java index 72b7ae5..c808d28 100644 --- a/src/main/java/com/ngrok/definitions/TcpEdge.java +++ b/src/main/java/com/ngrok/definitions/TcpEdge.java @@ -121,7 +121,7 @@ public class TcpEdge { /** * hostports served by this edge * - * @return the value of the property as a {@link java.util.List} wrapped in an {@link Optional} + * @return the value of the property as a {@link java.util.List} of {@link String} wrapped in an {@link Optional} */ public Optional> getHostports() { return this.hostports; diff --git a/src/main/java/com/ngrok/definitions/TcpEdgeList.java b/src/main/java/com/ngrok/definitions/TcpEdgeList.java index 20eead4..08787d6 100644 --- a/src/main/java/com/ngrok/definitions/TcpEdgeList.java +++ b/src/main/java/com/ngrok/definitions/TcpEdgeList.java @@ -36,7 +36,7 @@ public class TcpEdgeList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.tcpEdges = Objects.requireNonNull(tcpEdges, "tcpEdges is required"); + this.tcpEdges = tcpEdges != null ? tcpEdges : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class TcpEdgeList implements Pageable { /** * the list of all TCP Edges on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link TcpEdge} */ public java.util.List getTcpEdges() { return this.tcpEdges; diff --git a/src/main/java/com/ngrok/definitions/TlsCertificate.java b/src/main/java/com/ngrok/definitions/TlsCertificate.java index 269e7e9..237d9c4 100644 --- a/src/main/java/com/ngrok/definitions/TlsCertificate.java +++ b/src/main/java/com/ngrok/definitions/TlsCertificate.java @@ -137,8 +137,8 @@ public class TlsCertificate { this.issuedAt = issuedAt != null ? issuedAt : Optional.empty(); this.notBefore = Objects.requireNonNull(notBefore, "notBefore is required"); this.notAfter = Objects.requireNonNull(notAfter, "notAfter is required"); - this.keyUsages = Objects.requireNonNull(keyUsages, "keyUsages is required"); - this.extendedKeyUsages = Objects.requireNonNull(extendedKeyUsages, "extendedKeyUsages is required"); + this.keyUsages = keyUsages != null ? keyUsages : java.util.Collections.emptyList(); + this.extendedKeyUsages = extendedKeyUsages != null ? extendedKeyUsages : java.util.Collections.emptyList(); this.privateKeyType = Objects.requireNonNull(privateKeyType, "privateKeyType is required"); this.issuerCommonName = Objects.requireNonNull(issuerCommonName, "issuerCommonName is required"); this.serialNumber = Objects.requireNonNull(serialNumber, "serialNumber is required"); @@ -254,7 +254,7 @@ public class TlsCertificate { /** * set of actions the private key of this TLS certificate can be used for * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getKeyUsages() { return this.keyUsages; @@ -263,7 +263,7 @@ public class TlsCertificate { /** * extended set of actions the private key of this TLS certificate can be used for * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getExtendedKeyUsages() { return this.extendedKeyUsages; diff --git a/src/main/java/com/ngrok/definitions/TlsCertificateList.java b/src/main/java/com/ngrok/definitions/TlsCertificateList.java index 267cd56..b128ba4 100644 --- a/src/main/java/com/ngrok/definitions/TlsCertificateList.java +++ b/src/main/java/com/ngrok/definitions/TlsCertificateList.java @@ -36,7 +36,7 @@ public class TlsCertificateList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.tlsCertificates = Objects.requireNonNull(tlsCertificates, "tlsCertificates is required"); + this.tlsCertificates = tlsCertificates != null ? tlsCertificates : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class TlsCertificateList implements Pageable { /** * the list of all TLS certificates on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link TlsCertificate} */ public java.util.List getTlsCertificates() { return this.tlsCertificates; diff --git a/src/main/java/com/ngrok/definitions/TlsCertificateSaNs.java b/src/main/java/com/ngrok/definitions/TlsCertificateSaNs.java index 24c2189..e099faf 100644 --- a/src/main/java/com/ngrok/definitions/TlsCertificateSaNs.java +++ b/src/main/java/com/ngrok/definitions/TlsCertificateSaNs.java @@ -31,15 +31,15 @@ public class TlsCertificateSaNs { @JsonProperty("dns_names") final java.util.List dnsNames, @JsonProperty("ips") final java.util.List ips ) { - this.dnsNames = Objects.requireNonNull(dnsNames, "dnsNames is required"); - this.ips = Objects.requireNonNull(ips, "ips is required"); + this.dnsNames = dnsNames != null ? dnsNames : java.util.Collections.emptyList(); + this.ips = ips != null ? ips : java.util.Collections.emptyList(); } /** * set of additional domains (including wildcards) this TLS certificate is valid * for * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getDnsNames() { return this.dnsNames; @@ -48,7 +48,7 @@ public class TlsCertificateSaNs { /** * set of IP addresses this TLS certificate is also valid for * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link String} */ public java.util.List getIps() { return this.ips; diff --git a/src/main/java/com/ngrok/definitions/TlsEdge.java b/src/main/java/com/ngrok/definitions/TlsEdge.java index ac14f10..3b13be5 100644 --- a/src/main/java/com/ngrok/definitions/TlsEdge.java +++ b/src/main/java/com/ngrok/definitions/TlsEdge.java @@ -133,7 +133,7 @@ public class TlsEdge { /** * hostports served by this edge * - * @return the value of the property as a {@link java.util.List} wrapped in an {@link Optional} + * @return the value of the property as a {@link java.util.List} of {@link String} wrapped in an {@link Optional} */ public Optional> getHostports() { return this.hostports; diff --git a/src/main/java/com/ngrok/definitions/TlsEdgeList.java b/src/main/java/com/ngrok/definitions/TlsEdgeList.java index 85c6425..212ecfd 100644 --- a/src/main/java/com/ngrok/definitions/TlsEdgeList.java +++ b/src/main/java/com/ngrok/definitions/TlsEdgeList.java @@ -36,7 +36,7 @@ public class TlsEdgeList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.tlsEdges = Objects.requireNonNull(tlsEdges, "tlsEdges is required"); + this.tlsEdges = tlsEdges != null ? tlsEdges : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class TlsEdgeList implements Pageable { /** * the list of all TLS Edges on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link TlsEdge} */ public java.util.List getTlsEdges() { return this.tlsEdges; diff --git a/src/main/java/com/ngrok/definitions/Tunnel.java b/src/main/java/com/ngrok/definitions/Tunnel.java index 3af5c01..a0a6c84 100644 --- a/src/main/java/com/ngrok/definitions/Tunnel.java +++ b/src/main/java/com/ngrok/definitions/Tunnel.java @@ -51,7 +51,7 @@ public class Tunnel { * Creates a new instance of {@link Tunnel}. * * @param id unique tunnel resource identifier - * @param publicUrl URL of the ephemeral tunnel's public endpoint + * @param publicUrl URL of the ephemeral tunnel's public endpoint * @param startedAt timestamp when the tunnel was initiated in RFC 3339 format * @param metadata user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel metadata configuration option In API version 0, this value was instead pulled from the top-level metadata configuration option. * @param proto tunnel protocol for ephemeral tunnels. one of http, https, tcp or tls @@ -84,7 +84,7 @@ public class Tunnel { this.region = Objects.requireNonNull(region, "region is required"); this.tunnelSession = Objects.requireNonNull(tunnelSession, "tunnelSession is required"); this.endpoint = endpoint != null ? endpoint : Optional.empty(); - this.labels = Objects.requireNonNull(labels, "labels is required"); + this.labels = labels != null ? labels : java.util.Collections.emptyMap(); this.backends = backends != null ? backends : Optional.empty(); this.forwardsTo = Objects.requireNonNull(forwardsTo, "forwardsTo is required"); } @@ -99,7 +99,7 @@ public class Tunnel { } /** - * URL of the ephemeral tunnel's public endpoint + * URL of the ephemeral tunnel's public endpoint * * @return the value of the property as a {@link java.net.URI} */ @@ -171,7 +171,7 @@ public class Tunnel { * the labels the tunnel group backends will match against, if this is a backend * tunnel * - * @return the value of the property as a {@link java.util.Map} + * @return the value of the property as a {@link java.util.Map} of {@link String} to {@link String} */ public java.util.Map getLabels() { return this.labels; @@ -180,7 +180,7 @@ public class Tunnel { /** * tunnel group backends served by this backend tunnel * - * @return the value of the property as a {@link java.util.List} wrapped in an {@link Optional} + * @return the value of the property as a {@link java.util.List} of {@link Ref} wrapped in an {@link Optional} */ public Optional> getBackends() { return this.backends; diff --git a/src/main/java/com/ngrok/definitions/TunnelGroupBackend.java b/src/main/java/com/ngrok/definitions/TunnelGroupBackend.java index dc7ae9e..a4c0943 100644 --- a/src/main/java/com/ngrok/definitions/TunnelGroupBackend.java +++ b/src/main/java/com/ngrok/definitions/TunnelGroupBackend.java @@ -18,7 +18,7 @@ public class TunnelGroupBackend { private final String id; @JsonProperty("uri") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String uri; + private final java.net.URI uri; @JsonProperty("created_at") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) private final java.time.OffsetDateTime createdAt; @@ -43,13 +43,13 @@ public class TunnelGroupBackend { * @param createdAt timestamp when the backend was created, RFC 3339 format * @param description human-readable description of this backend. Optional * @param metadata arbitrary user-defined machine-readable data of this backend. Optional - * @param labels labels to watch for tunnels on, e.g. app->foo, dc->bar + * @param labels labels to watch for tunnels on, e.g. app->foo, dc->bar * @param tunnels tunnels matching this backend */ @JsonCreator public TunnelGroupBackend( @JsonProperty("id") final String id, - @JsonProperty("uri") final String uri, + @JsonProperty("uri") final java.net.URI uri, @JsonProperty("created_at") final java.time.OffsetDateTime createdAt, @JsonProperty("description") final String description, @JsonProperty("metadata") final String metadata, @@ -61,8 +61,8 @@ public class TunnelGroupBackend { this.createdAt = Objects.requireNonNull(createdAt, "createdAt is required"); this.description = Objects.requireNonNull(description, "description is required"); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); - this.labels = Objects.requireNonNull(labels, "labels is required"); - this.tunnels = Objects.requireNonNull(tunnels, "tunnels is required"); + this.labels = labels != null ? labels : java.util.Collections.emptyMap(); + this.tunnels = tunnels != null ? tunnels : java.util.Collections.emptyList(); } /** @@ -77,9 +77,9 @@ public class TunnelGroupBackend { /** * URI of the TunnelGroupBackend API resource * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.net.URI} */ - public String getUri() { + public java.net.URI getUri() { return this.uri; } @@ -111,9 +111,9 @@ public class TunnelGroupBackend { } /** - * labels to watch for tunnels on, e.g. app->foo, dc->bar + * labels to watch for tunnels on, e.g. app->foo, dc->bar * - * @return the value of the property as a {@link java.util.Map} + * @return the value of the property as a {@link java.util.Map} of {@link String} to {@link String} */ public java.util.Map getLabels() { return this.labels; @@ -122,7 +122,7 @@ public class TunnelGroupBackend { /** * tunnels matching this backend * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link Ref} */ public java.util.List getTunnels() { return this.tunnels; diff --git a/src/main/java/com/ngrok/definitions/TunnelGroupBackendList.java b/src/main/java/com/ngrok/definitions/TunnelGroupBackendList.java index 7eb80f9..8a778d3 100644 --- a/src/main/java/com/ngrok/definitions/TunnelGroupBackendList.java +++ b/src/main/java/com/ngrok/definitions/TunnelGroupBackendList.java @@ -36,7 +36,7 @@ public class TunnelGroupBackendList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.backends = Objects.requireNonNull(backends, "backends is required"); + this.backends = backends != null ? backends : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class TunnelGroupBackendList implements Pageable { /** * the list of all TunnelGroup backends on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link TunnelGroupBackend} */ public java.util.List getBackends() { return this.backends; diff --git a/src/main/java/com/ngrok/definitions/TunnelList.java b/src/main/java/com/ngrok/definitions/TunnelList.java index 399f0c9..126268d 100644 --- a/src/main/java/com/ngrok/definitions/TunnelList.java +++ b/src/main/java/com/ngrok/definitions/TunnelList.java @@ -36,7 +36,7 @@ public class TunnelList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.tunnels = Objects.requireNonNull(tunnels, "tunnels is required"); + this.tunnels = tunnels != null ? tunnels : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class TunnelList implements Pageable { /** * the list of all online tunnels on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link Tunnel} */ public java.util.List getTunnels() { return this.tunnels; diff --git a/src/main/java/com/ngrok/definitions/TunnelSessionList.java b/src/main/java/com/ngrok/definitions/TunnelSessionList.java index c84a5a2..7157b76 100644 --- a/src/main/java/com/ngrok/definitions/TunnelSessionList.java +++ b/src/main/java/com/ngrok/definitions/TunnelSessionList.java @@ -36,7 +36,7 @@ public class TunnelSessionList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.tunnelSessions = Objects.requireNonNull(tunnelSessions, "tunnelSessions is required"); + this.tunnelSessions = tunnelSessions != null ? tunnelSessions : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class TunnelSessionList implements Pageable { /** * list of all tunnel sessions on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link TunnelSession} */ public java.util.List getTunnelSessions() { return this.tunnelSessions; diff --git a/src/main/java/com/ngrok/definitions/WeightedBackend.java b/src/main/java/com/ngrok/definitions/WeightedBackend.java index 88e4d66..7e634ca 100644 --- a/src/main/java/com/ngrok/definitions/WeightedBackend.java +++ b/src/main/java/com/ngrok/definitions/WeightedBackend.java @@ -18,7 +18,7 @@ public class WeightedBackend { private final String id; @JsonProperty("uri") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) - private final String uri; + private final java.net.URI uri; @JsonProperty("created_at") @JsonInclude(value = JsonInclude.Include.NON_ABSENT) private final java.time.OffsetDateTime createdAt; @@ -45,7 +45,7 @@ public class WeightedBackend { @JsonCreator public WeightedBackend( @JsonProperty("id") final String id, - @JsonProperty("uri") final String uri, + @JsonProperty("uri") final java.net.URI uri, @JsonProperty("created_at") final java.time.OffsetDateTime createdAt, @JsonProperty("description") final String description, @JsonProperty("metadata") final String metadata, @@ -56,7 +56,7 @@ public class WeightedBackend { this.createdAt = Objects.requireNonNull(createdAt, "createdAt is required"); this.description = Objects.requireNonNull(description, "description is required"); this.metadata = Objects.requireNonNull(metadata, "metadata is required"); - this.backends = Objects.requireNonNull(backends, "backends is required"); + this.backends = backends != null ? backends : java.util.Collections.emptyMap(); } /** @@ -71,9 +71,9 @@ public class WeightedBackend { /** * URI of the WeightedBackend API resource * - * @return the value of the property as a {@link String} + * @return the value of the property as a {@link java.net.URI} */ - public String getUri() { + public java.net.URI getUri() { return this.uri; } @@ -107,7 +107,7 @@ public class WeightedBackend { /** * the ids of the child backends to their weights [0-10000] * - * @return the value of the property as a {@link java.util.Map} + * @return the value of the property as a {@link java.util.Map} of {@link String} to {@link Long} */ public java.util.Map getBackends() { return this.backends; diff --git a/src/main/java/com/ngrok/definitions/WeightedBackendList.java b/src/main/java/com/ngrok/definitions/WeightedBackendList.java index 5e8e1a1..8122834 100644 --- a/src/main/java/com/ngrok/definitions/WeightedBackendList.java +++ b/src/main/java/com/ngrok/definitions/WeightedBackendList.java @@ -36,7 +36,7 @@ public class WeightedBackendList implements Pageable { @JsonProperty("uri") final java.net.URI uri, @JsonProperty("next_page_uri") final Optional nextPageUri ) { - this.backends = Objects.requireNonNull(backends, "backends is required"); + this.backends = backends != null ? backends : java.util.Collections.emptyList(); this.uri = Objects.requireNonNull(uri, "uri is required"); this.nextPageUri = nextPageUri != null ? nextPageUri : Optional.empty(); } @@ -44,7 +44,7 @@ public class WeightedBackendList implements Pageable { /** * the list of all Weighted backends on this account * - * @return the value of the property as a {@link java.util.List} + * @return the value of the property as a {@link java.util.List} of {@link WeightedBackend} */ public java.util.List getBackends() { return this.backends; diff --git a/src/main/java/com/ngrok/services/AbuseReports.java b/src/main/java/com/ngrok/services/AbuseReports.java index 202d0e5..ec960da 100644 --- a/src/main/java/com/ngrok/services/AbuseReports.java +++ b/src/main/java/com/ngrok/services/AbuseReports.java @@ -13,7 +13,7 @@ import java.util.stream.Stream; /** * Abuse Reports allow you to submit take-down requests for URLs hosted by - * ngrok that violate ngrok's terms of service. + * ngrok that violate ngrok's terms of service. * * See also https://ngrok.com/docs/api#api-abuse-reports. */ @@ -33,8 +33,8 @@ public class AbuseReports { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private final java.util.List urls; - private String metadata = ""; + private java.util.List urls = java.util.Collections.emptyList(); + private Optional metadata = Optional.empty(); private CreateCallBuilder( final java.util.List urls @@ -49,7 +49,7 @@ public class AbuseReports { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -60,7 +60,7 @@ public class AbuseReports { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -75,8 +75,8 @@ public class AbuseReports { "/abuse_reports", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("urls", Optional.of(this.urls)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)) + new AbstractMap.SimpleEntry<>("urls", Optional.of(this.urls).filter(urls -> !urls.isEmpty()).map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())) ), Optional.of(AbuseReport.class) ); diff --git a/src/main/java/com/ngrok/services/AgentIngresses.java b/src/main/java/com/ngrok/services/AgentIngresses.java index 615ef95..c1a8e38 100644 --- a/src/main/java/com/ngrok/services/AgentIngresses.java +++ b/src/main/java/com/ngrok/services/AgentIngresses.java @@ -32,8 +32,8 @@ public class AgentIngresses { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private final String domain; private CreateCallBuilder( @@ -50,7 +50,7 @@ public class AgentIngresses { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -62,7 +62,7 @@ public class AgentIngresses { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -74,7 +74,7 @@ public class AgentIngresses { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -86,7 +86,7 @@ public class AgentIngresses { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -101,8 +101,8 @@ public class AgentIngresses { "/agent_ingresses", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("domain", Optional.of(this.domain)) ), Optional.of(AgentIngress.class) @@ -274,7 +274,7 @@ public class AgentIngresses { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -296,7 +296,7 @@ public class AgentIngresses { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -379,7 +379,7 @@ public class AgentIngresses { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -403,7 +403,7 @@ public class AgentIngresses { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/ApiKeys.java b/src/main/java/com/ngrok/services/ApiKeys.java index 0d3a59e..e7d3c79 100644 --- a/src/main/java/com/ngrok/services/ApiKeys.java +++ b/src/main/java/com/ngrok/services/ApiKeys.java @@ -15,7 +15,8 @@ import java.util.stream.Stream; * API Keys are used to authenticate to the ngrok * API. You may use the API itself - * to provision and manage API Keys but you'll need to provision your first API + * to provision and manage API Keys but you'll need to provision your first + * API * key from the API Keys page * on your * ngrok.com dashboard. @@ -38,8 +39,8 @@ public class ApiKeys { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private CreateCallBuilder( ) { @@ -53,7 +54,7 @@ public class ApiKeys { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -65,7 +66,7 @@ public class ApiKeys { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -76,7 +77,7 @@ public class ApiKeys { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -87,7 +88,7 @@ public class ApiKeys { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -102,8 +103,8 @@ public class ApiKeys { "/api_keys", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)) + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())) ), Optional.of(ApiKey.class) ); @@ -271,7 +272,7 @@ public class ApiKeys { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -293,7 +294,7 @@ public class ApiKeys { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -376,7 +377,7 @@ public class ApiKeys { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -399,7 +400,7 @@ public class ApiKeys { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/CertificateAuthorities.java b/src/main/java/com/ngrok/services/CertificateAuthorities.java index d17f63b..d0323ef 100644 --- a/src/main/java/com/ngrok/services/CertificateAuthorities.java +++ b/src/main/java/com/ngrok/services/CertificateAuthorities.java @@ -36,8 +36,8 @@ public class CertificateAuthorities { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private final String caPem; private CreateCallBuilder( @@ -54,7 +54,7 @@ public class CertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -66,7 +66,7 @@ public class CertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -78,7 +78,7 @@ public class CertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -90,7 +90,7 @@ public class CertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -105,8 +105,8 @@ public class CertificateAuthorities { "/certificate_authorities", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("ca_pem", Optional.of(this.caPem)) ), Optional.of(CertificateAuthority.class) @@ -277,7 +277,7 @@ public class CertificateAuthorities { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -299,7 +299,7 @@ public class CertificateAuthorities { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -382,7 +382,7 @@ public class CertificateAuthorities { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -406,7 +406,7 @@ public class CertificateAuthorities { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/Credentials.java b/src/main/java/com/ngrok/services/Credentials.java index 68287d3..1c6a618 100644 --- a/src/main/java/com/ngrok/services/Credentials.java +++ b/src/main/java/com/ngrok/services/Credentials.java @@ -14,7 +14,7 @@ import java.util.stream.Stream; /** * Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok * agent to connect the ngrok service as your account. They are installed with - * the ngrok authtoken command or by specifying it in the + * the ngrok config add-authtoken command or by specifying it in the * ngrok.yml * configuration file with the authtoken property. * @@ -36,8 +36,8 @@ public class Credentials { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private java.util.List acl = java.util.Collections.emptyList(); private CreateCallBuilder( @@ -52,7 +52,7 @@ public class Credentials { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -64,7 +64,7 @@ public class Credentials { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -76,7 +76,7 @@ public class Credentials { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -88,7 +88,7 @@ public class Credentials { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -102,10 +102,10 @@ public class Credentials { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @param acl the value of the acl parameter as a {@link java.util.List} + * @param acl the value of the acl parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder acl(final java.util.List acl) { @@ -123,10 +123,10 @@ public class Credentials { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @param acl the value of the acl parameter as an {@link Optional} of {@link java.util.List} + * @param acl the value of the acl parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder acl(final Optional> acl) { @@ -145,9 +145,9 @@ public class Credentials { "/credentials", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("acl", Optional.of(this.acl)) + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("acl", Optional.of(this.acl).filter(acl -> !acl.isEmpty()).map(Function.identity())) ), Optional.of(Credential.class) ); @@ -317,7 +317,7 @@ public class Credentials { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -339,7 +339,7 @@ public class Credentials { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -407,7 +407,7 @@ public class Credentials { private final String id; private Optional description = Optional.empty(); private Optional metadata = Optional.empty(); - private Optional> acl = Optional.empty(); + private java.util.List acl = java.util.Collections.emptyList(); private UpdateCallBuilder( final String id @@ -423,7 +423,7 @@ public class Credentials { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -447,7 +447,7 @@ public class Credentials { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -473,14 +473,14 @@ public class Credentials { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @param acl the value of the acl parameter as a {@link java.util.List} + * @param acl the value of the acl parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder acl(final java.util.List acl) { - this.acl = Optional.ofNullable(acl); + this.acl = Objects.requireNonNull(acl, "acl is required"); return this; } @@ -494,14 +494,14 @@ public class Credentials { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @param acl the value of the acl parameter as an {@link Optional} of {@link java.util.List} + * @param acl the value of the acl parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder acl(final Optional> acl) { - this.acl = Objects.requireNonNull(acl, "acl is required"); + this.acl = Objects.requireNonNull(acl, "acl is required").orElse(java.util.Collections.emptyList()); return this; } @@ -518,7 +518,7 @@ public class Credentials { Stream.of( new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), - new AbstractMap.SimpleEntry<>("acl", this.acl.map(Function.identity())) + new AbstractMap.SimpleEntry<>("acl", Optional.of(this.acl).filter(acl -> !acl.isEmpty()).map(Function.identity())) ), Optional.of(Credential.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteBackendModule.java b/src/main/java/com/ngrok/services/EdgeRouteBackendModule.java index c60a79c..88252b3 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteBackendModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteBackendModule.java @@ -34,7 +34,7 @@ public class EdgeRouteBackendModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointBackendMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteBackendModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointBackendMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteBackendModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteBackendModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/backend", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointBackend.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteCircuitBreakerModule.java b/src/main/java/com/ngrok/services/EdgeRouteCircuitBreakerModule.java index 1ed424a..7f23382 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteCircuitBreakerModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteCircuitBreakerModule.java @@ -34,7 +34,7 @@ public class EdgeRouteCircuitBreakerModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointCircuitBreaker module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteCircuitBreakerModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointCircuitBreaker module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteCircuitBreakerModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteCircuitBreakerModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/circuit_breaker", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointCircuitBreaker.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteCompressionModule.java b/src/main/java/com/ngrok/services/EdgeRouteCompressionModule.java index 22e5b45..c9af745 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteCompressionModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteCompressionModule.java @@ -34,7 +34,7 @@ public class EdgeRouteCompressionModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointCompression module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteCompressionModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointCompression module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteCompressionModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteCompressionModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/compression", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointCompression.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteIpRestrictionModule.java b/src/main/java/com/ngrok/services/EdgeRouteIpRestrictionModule.java index 3d64927..be44fa8 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteIpRestrictionModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteIpRestrictionModule.java @@ -34,7 +34,7 @@ public class EdgeRouteIpRestrictionModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointIpPolicyMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteIpRestrictionModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointIpPolicyMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteIpRestrictionModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteIpRestrictionModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/ip_restriction", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointIpPolicy.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteOAuthModule.java b/src/main/java/com/ngrok/services/EdgeRouteOAuthModule.java index 8301d4f..d2c3a1c 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteOAuthModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteOAuthModule.java @@ -34,7 +34,7 @@ public class EdgeRouteOAuthModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointOAuth module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteOAuthModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointOAuth module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteOAuthModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteOAuthModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/oauth", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointOAuth.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteOidcModule.java b/src/main/java/com/ngrok/services/EdgeRouteOidcModule.java index 99d6be9..fa82895 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteOidcModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteOidcModule.java @@ -34,7 +34,7 @@ public class EdgeRouteOidcModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointOidc module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteOidcModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointOidc module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteOidcModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteOidcModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/oidc", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointOidc.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteRequestHeadersModule.java b/src/main/java/com/ngrok/services/EdgeRouteRequestHeadersModule.java index 0a523d6..2dd8ceb 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteRequestHeadersModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteRequestHeadersModule.java @@ -34,7 +34,7 @@ public class EdgeRouteRequestHeadersModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointRequestHeaders module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteRequestHeadersModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointRequestHeaders module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteRequestHeadersModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteRequestHeadersModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/request_headers", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointRequestHeaders.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteResponseHeadersModule.java b/src/main/java/com/ngrok/services/EdgeRouteResponseHeadersModule.java index 85c66ea..01d4ab1 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteResponseHeadersModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteResponseHeadersModule.java @@ -34,7 +34,7 @@ public class EdgeRouteResponseHeadersModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointResponseHeaders module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteResponseHeadersModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointResponseHeaders module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteResponseHeadersModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteResponseHeadersModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/response_headers", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointResponseHeaders.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteSamlModule.java b/src/main/java/com/ngrok/services/EdgeRouteSamlModule.java index 1c90c29..2eae36b 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteSamlModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteSamlModule.java @@ -34,7 +34,7 @@ public class EdgeRouteSamlModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointSamlMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteSamlModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointSamlMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteSamlModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteSamlModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/saml", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointSaml.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteWebhookVerificationModule.java b/src/main/java/com/ngrok/services/EdgeRouteWebhookVerificationModule.java index 760d22e..078270d 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteWebhookVerificationModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteWebhookVerificationModule.java @@ -34,7 +34,7 @@ public class EdgeRouteWebhookVerificationModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointWebhookValidation module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteWebhookVerificationModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointWebhookValidation module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteWebhookVerificationModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteWebhookVerificationModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/webhook_verification", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointWebhookValidation.class) ); diff --git a/src/main/java/com/ngrok/services/EdgeRouteWebsocketTcpConverterModule.java b/src/main/java/com/ngrok/services/EdgeRouteWebsocketTcpConverterModule.java index ee7b667..ac8d6b3 100644 --- a/src/main/java/com/ngrok/services/EdgeRouteWebsocketTcpConverterModule.java +++ b/src/main/java/com/ngrok/services/EdgeRouteWebsocketTcpConverterModule.java @@ -34,7 +34,7 @@ public class EdgeRouteWebsocketTcpConverterModule { public class ReplaceCallBuilder { private final String edgeId; private final String id; - private EndpointWebsocketTcpConverter module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String edgeId, @@ -51,7 +51,7 @@ public class EdgeRouteWebsocketTcpConverterModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointWebsocketTcpConverter module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -62,7 +62,7 @@ public class EdgeRouteWebsocketTcpConverterModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -77,7 +77,7 @@ public class EdgeRouteWebsocketTcpConverterModule { "/edges/https/" + this.edgeId + "/routes/" + this.id + "/websocket_tcp_converter", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointWebsocketTcpConverter.class) ); diff --git a/src/main/java/com/ngrok/services/EdgesHttps.java b/src/main/java/com/ngrok/services/EdgesHttps.java index 385ccf8..b6325bb 100644 --- a/src/main/java/com/ngrok/services/EdgesHttps.java +++ b/src/main/java/com/ngrok/services/EdgesHttps.java @@ -32,9 +32,9 @@ public class EdgesHttps { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; - private Optional> hostports = Optional.empty(); + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); + private java.util.List hostports = java.util.Collections.emptyList(); private Optional mutualTls = Optional.empty(); private Optional tlsTermination = Optional.empty(); @@ -50,7 +50,7 @@ public class EdgesHttps { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -62,7 +62,7 @@ public class EdgesHttps { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -74,7 +74,7 @@ public class EdgesHttps { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -86,29 +86,29 @@ public class EdgesHttps { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as a {@link java.util.List} + * @param hostports the value of the hostports parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder hostports(final java.util.List hostports) { - this.hostports = Optional.ofNullable(hostports); + this.hostports = Objects.requireNonNull(hostports, "hostports is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} + * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder hostports(final Optional> hostports) { - this.hostports = Objects.requireNonNull(hostports, "hostports is required"); + this.hostports = Objects.requireNonNull(hostports, "hostports is required").orElse(java.util.Collections.emptyList()); return this; } @@ -119,7 +119,7 @@ public class EdgesHttps { * @return the call builder instance */ public CreateCallBuilder mutualTls(final EndpointMutualTlsMutate mutualTls) { - this.mutualTls = Optional.ofNullable(mutualTls); + this.mutualTls = Optional.of(Objects.requireNonNull(mutualTls, "mutualTls is required")); return this; } @@ -141,7 +141,7 @@ public class EdgesHttps { * @return the call builder instance */ public CreateCallBuilder tlsTermination(final EndpointTlsTerminationAtEdge tlsTermination) { - this.tlsTermination = Optional.ofNullable(tlsTermination); + this.tlsTermination = Optional.of(Objects.requireNonNull(tlsTermination, "tlsTermination is required")); return this; } @@ -167,9 +167,9 @@ public class EdgesHttps { "/edges/https", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("hostports", this.hostports.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("hostports", Optional.of(this.hostports).filter(hostports -> !hostports.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("mutual_tls", this.mutualTls.map(Function.identity())), new AbstractMap.SimpleEntry<>("tls_termination", this.tlsTermination.map(Function.identity())) ), @@ -281,7 +281,7 @@ public class EdgesHttps { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -303,7 +303,7 @@ public class EdgesHttps { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -371,7 +371,7 @@ public class EdgesHttps { private final String id; private Optional description = Optional.empty(); private Optional metadata = Optional.empty(); - private Optional> hostports = Optional.empty(); + private java.util.List hostports = java.util.Collections.emptyList(); private Optional mutualTls = Optional.empty(); private Optional tlsTermination = Optional.empty(); @@ -389,7 +389,7 @@ public class EdgesHttps { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -413,7 +413,7 @@ public class EdgesHttps { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -432,22 +432,22 @@ public class EdgesHttps { /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as a {@link java.util.List} + * @param hostports the value of the hostports parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder hostports(final java.util.List hostports) { - this.hostports = Optional.ofNullable(hostports); + this.hostports = Objects.requireNonNull(hostports, "hostports is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} + * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder hostports(final Optional> hostports) { - this.hostports = Objects.requireNonNull(hostports, "hostports is required"); + this.hostports = Objects.requireNonNull(hostports, "hostports is required").orElse(java.util.Collections.emptyList()); return this; } @@ -458,7 +458,7 @@ public class EdgesHttps { * @return the call builder instance */ public UpdateCallBuilder mutualTls(final EndpointMutualTlsMutate mutualTls) { - this.mutualTls = Optional.ofNullable(mutualTls); + this.mutualTls = Optional.of(Objects.requireNonNull(mutualTls, "mutualTls is required")); return this; } @@ -480,7 +480,7 @@ public class EdgesHttps { * @return the call builder instance */ public UpdateCallBuilder tlsTermination(final EndpointTlsTerminationAtEdge tlsTermination) { - this.tlsTermination = Optional.ofNullable(tlsTermination); + this.tlsTermination = Optional.of(Objects.requireNonNull(tlsTermination, "tlsTermination is required")); return this; } @@ -508,7 +508,7 @@ public class EdgesHttps { Stream.of( new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), - new AbstractMap.SimpleEntry<>("hostports", this.hostports.map(Function.identity())), + new AbstractMap.SimpleEntry<>("hostports", Optional.of(this.hostports).filter(hostports -> !hostports.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("mutual_tls", this.mutualTls.map(Function.identity())), new AbstractMap.SimpleEntry<>("tls_termination", this.tlsTermination.map(Function.identity())) ), diff --git a/src/main/java/com/ngrok/services/EdgesHttpsRoutes.java b/src/main/java/com/ngrok/services/EdgesHttpsRoutes.java index 5549e0e..205d157 100644 --- a/src/main/java/com/ngrok/services/EdgesHttpsRoutes.java +++ b/src/main/java/com/ngrok/services/EdgesHttpsRoutes.java @@ -35,8 +35,8 @@ public class EdgesHttpsRoutes { private final String edgeId; private final String matchType; private final String match; - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private Optional backend = Optional.empty(); private Optional ipRestriction = Optional.empty(); private Optional circuitBreaker = Optional.empty(); @@ -67,7 +67,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -79,7 +79,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -91,7 +91,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -103,7 +103,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -114,7 +114,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder backend(final EndpointBackendMutate backend) { - this.backend = Optional.ofNullable(backend); + this.backend = Optional.of(Objects.requireNonNull(backend, "backend is required")); return this; } @@ -136,7 +136,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder ipRestriction(final EndpointIpPolicyMutate ipRestriction) { - this.ipRestriction = Optional.ofNullable(ipRestriction); + this.ipRestriction = Optional.of(Objects.requireNonNull(ipRestriction, "ipRestriction is required")); return this; } @@ -158,7 +158,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder circuitBreaker(final EndpointCircuitBreaker circuitBreaker) { - this.circuitBreaker = Optional.ofNullable(circuitBreaker); + this.circuitBreaker = Optional.of(Objects.requireNonNull(circuitBreaker, "circuitBreaker is required")); return this; } @@ -180,7 +180,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder compression(final EndpointCompression compression) { - this.compression = Optional.ofNullable(compression); + this.compression = Optional.of(Objects.requireNonNull(compression, "compression is required")); return this; } @@ -202,7 +202,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder requestHeaders(final EndpointRequestHeaders requestHeaders) { - this.requestHeaders = Optional.ofNullable(requestHeaders); + this.requestHeaders = Optional.of(Objects.requireNonNull(requestHeaders, "requestHeaders is required")); return this; } @@ -224,7 +224,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder responseHeaders(final EndpointResponseHeaders responseHeaders) { - this.responseHeaders = Optional.ofNullable(responseHeaders); + this.responseHeaders = Optional.of(Objects.requireNonNull(responseHeaders, "responseHeaders is required")); return this; } @@ -246,7 +246,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder webhookVerification(final EndpointWebhookValidation webhookVerification) { - this.webhookVerification = Optional.ofNullable(webhookVerification); + this.webhookVerification = Optional.of(Objects.requireNonNull(webhookVerification, "webhookVerification is required")); return this; } @@ -268,7 +268,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder oauth(final EndpointOAuth oauth) { - this.oauth = Optional.ofNullable(oauth); + this.oauth = Optional.of(Objects.requireNonNull(oauth, "oauth is required")); return this; } @@ -290,7 +290,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder saml(final EndpointSamlMutate saml) { - this.saml = Optional.ofNullable(saml); + this.saml = Optional.of(Objects.requireNonNull(saml, "saml is required")); return this; } @@ -312,7 +312,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder oidc(final EndpointOidc oidc) { - this.oidc = Optional.ofNullable(oidc); + this.oidc = Optional.of(Objects.requireNonNull(oidc, "oidc is required")); return this; } @@ -334,7 +334,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public CreateCallBuilder websocketTcpConverter(final EndpointWebsocketTcpConverter websocketTcpConverter) { - this.websocketTcpConverter = Optional.ofNullable(websocketTcpConverter); + this.websocketTcpConverter = Optional.of(Objects.requireNonNull(websocketTcpConverter, "websocketTcpConverter is required")); return this; } @@ -362,8 +362,8 @@ public class EdgesHttpsRoutes { Stream.of( new AbstractMap.SimpleEntry<>("match_type", Optional.of(this.matchType)), new AbstractMap.SimpleEntry<>("match", Optional.of(this.match)), - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("backend", this.backend.map(Function.identity())), new AbstractMap.SimpleEntry<>("ip_restriction", this.ipRestriction.map(Function.identity())), new AbstractMap.SimpleEntry<>("circuit_breaker", this.circuitBreaker.map(Function.identity())), @@ -401,8 +401,8 @@ public class EdgesHttpsRoutes { * See also https://ngrok.com/docs/api#api-edges-https-routes-create. * * @param edgeId unique identifier of this edge - * @param matchType Type of match to use for this route. Valid values are "exact_path" and "path_prefix". - * @param match Route selector: "/blog" or "example.com" or "example.com/blog" + * @param matchType Type of match to use for this route. Valid values are "exact_path" and "path_prefix". + * @param match Route selector: "/blog" or "example.com" or "example.com/blog" * @return a call builder for this API call */ public CreateCallBuilder create( @@ -487,10 +487,10 @@ public class EdgesHttpsRoutes { public class UpdateCallBuilder { private final String edgeId; private final String id; - private String matchType = ""; - private String match = ""; - private String description = ""; - private String metadata = ""; + private Optional matchType = Optional.empty(); + private Optional match = Optional.empty(); + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private Optional backend = Optional.empty(); private Optional ipRestriction = Optional.empty(); private Optional circuitBreaker = Optional.empty(); @@ -512,48 +512,50 @@ public class EdgesHttpsRoutes { } /** - * Type of match to use for this route. Valid values are "exact_path" and - * "path_prefix". + * Type of match to use for this route. Valid values are "exact_path" and + * "path_prefix". * * @param matchType the value of the match_type parameter as a {@link String} * @return the call builder instance */ public UpdateCallBuilder matchType(final String matchType) { - this.matchType = Objects.requireNonNull(matchType, "matchType is required"); + this.matchType = Optional.of(Objects.requireNonNull(matchType, "matchType is required")); return this; } /** - * Type of match to use for this route. Valid values are "exact_path" and - * "path_prefix". + * Type of match to use for this route. Valid values are "exact_path" and + * "path_prefix". * * @param matchType the value of the match_type parameter as an {@link Optional} of {@link String} * @return the call builder instance */ public UpdateCallBuilder matchType(final Optional matchType) { - this.matchType = Objects.requireNonNull(matchType, "matchType is required").orElse(""); + this.matchType = Objects.requireNonNull(matchType, "matchType is required"); return this; } /** - * Route selector: "/blog" or "example.com" or "example.com/blog" + * Route selector: "/blog" or "example.com" or + * "example.com/blog" * * @param match the value of the match parameter as a {@link String} * @return the call builder instance */ public UpdateCallBuilder match(final String match) { - this.match = Objects.requireNonNull(match, "match is required"); + this.match = Optional.of(Objects.requireNonNull(match, "match is required")); return this; } /** - * Route selector: "/blog" or "example.com" or "example.com/blog" + * Route selector: "/blog" or "example.com" or + * "example.com/blog" * * @param match the value of the match parameter as an {@link Optional} of {@link String} * @return the call builder instance */ public UpdateCallBuilder match(final Optional match) { - this.match = Objects.requireNonNull(match, "match is required").orElse(""); + this.match = Objects.requireNonNull(match, "match is required"); return this; } @@ -565,7 +567,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -577,7 +579,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -589,7 +591,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -601,7 +603,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -612,7 +614,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder backend(final EndpointBackendMutate backend) { - this.backend = Optional.ofNullable(backend); + this.backend = Optional.of(Objects.requireNonNull(backend, "backend is required")); return this; } @@ -634,7 +636,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder ipRestriction(final EndpointIpPolicyMutate ipRestriction) { - this.ipRestriction = Optional.ofNullable(ipRestriction); + this.ipRestriction = Optional.of(Objects.requireNonNull(ipRestriction, "ipRestriction is required")); return this; } @@ -656,7 +658,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder circuitBreaker(final EndpointCircuitBreaker circuitBreaker) { - this.circuitBreaker = Optional.ofNullable(circuitBreaker); + this.circuitBreaker = Optional.of(Objects.requireNonNull(circuitBreaker, "circuitBreaker is required")); return this; } @@ -678,7 +680,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder compression(final EndpointCompression compression) { - this.compression = Optional.ofNullable(compression); + this.compression = Optional.of(Objects.requireNonNull(compression, "compression is required")); return this; } @@ -700,7 +702,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder requestHeaders(final EndpointRequestHeaders requestHeaders) { - this.requestHeaders = Optional.ofNullable(requestHeaders); + this.requestHeaders = Optional.of(Objects.requireNonNull(requestHeaders, "requestHeaders is required")); return this; } @@ -722,7 +724,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder responseHeaders(final EndpointResponseHeaders responseHeaders) { - this.responseHeaders = Optional.ofNullable(responseHeaders); + this.responseHeaders = Optional.of(Objects.requireNonNull(responseHeaders, "responseHeaders is required")); return this; } @@ -744,7 +746,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder webhookVerification(final EndpointWebhookValidation webhookVerification) { - this.webhookVerification = Optional.ofNullable(webhookVerification); + this.webhookVerification = Optional.of(Objects.requireNonNull(webhookVerification, "webhookVerification is required")); return this; } @@ -766,7 +768,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder oauth(final EndpointOAuth oauth) { - this.oauth = Optional.ofNullable(oauth); + this.oauth = Optional.of(Objects.requireNonNull(oauth, "oauth is required")); return this; } @@ -788,7 +790,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder saml(final EndpointSamlMutate saml) { - this.saml = Optional.ofNullable(saml); + this.saml = Optional.of(Objects.requireNonNull(saml, "saml is required")); return this; } @@ -810,7 +812,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder oidc(final EndpointOidc oidc) { - this.oidc = Optional.ofNullable(oidc); + this.oidc = Optional.of(Objects.requireNonNull(oidc, "oidc is required")); return this; } @@ -832,7 +834,7 @@ public class EdgesHttpsRoutes { * @return the call builder instance */ public UpdateCallBuilder websocketTcpConverter(final EndpointWebsocketTcpConverter websocketTcpConverter) { - this.websocketTcpConverter = Optional.ofNullable(websocketTcpConverter); + this.websocketTcpConverter = Optional.of(Objects.requireNonNull(websocketTcpConverter, "websocketTcpConverter is required")); return this; } @@ -858,10 +860,10 @@ public class EdgesHttpsRoutes { "/edges/https/" + this.edgeId + "/routes/" + this.id, Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("match_type", Optional.of(this.matchType)), - new AbstractMap.SimpleEntry<>("match", Optional.of(this.match)), - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), + new AbstractMap.SimpleEntry<>("match_type", this.matchType.map(Function.identity())), + new AbstractMap.SimpleEntry<>("match", this.match.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("backend", this.backend.map(Function.identity())), new AbstractMap.SimpleEntry<>("ip_restriction", this.ipRestriction.map(Function.identity())), new AbstractMap.SimpleEntry<>("circuit_breaker", this.circuitBreaker.map(Function.identity())), diff --git a/src/main/java/com/ngrok/services/EdgesTcp.java b/src/main/java/com/ngrok/services/EdgesTcp.java index 0a2635d..6dbe057 100644 --- a/src/main/java/com/ngrok/services/EdgesTcp.java +++ b/src/main/java/com/ngrok/services/EdgesTcp.java @@ -32,9 +32,9 @@ public class EdgesTcp { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; - private Optional> hostports = Optional.empty(); + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); + private java.util.List hostports = java.util.Collections.emptyList(); private Optional backend = Optional.empty(); private Optional ipRestriction = Optional.empty(); @@ -50,7 +50,7 @@ public class EdgesTcp { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -62,7 +62,7 @@ public class EdgesTcp { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -74,7 +74,7 @@ public class EdgesTcp { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -86,29 +86,29 @@ public class EdgesTcp { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as a {@link java.util.List} + * @param hostports the value of the hostports parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder hostports(final java.util.List hostports) { - this.hostports = Optional.ofNullable(hostports); + this.hostports = Objects.requireNonNull(hostports, "hostports is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} + * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder hostports(final Optional> hostports) { - this.hostports = Objects.requireNonNull(hostports, "hostports is required"); + this.hostports = Objects.requireNonNull(hostports, "hostports is required").orElse(java.util.Collections.emptyList()); return this; } @@ -119,7 +119,7 @@ public class EdgesTcp { * @return the call builder instance */ public CreateCallBuilder backend(final EndpointBackendMutate backend) { - this.backend = Optional.ofNullable(backend); + this.backend = Optional.of(Objects.requireNonNull(backend, "backend is required")); return this; } @@ -141,7 +141,7 @@ public class EdgesTcp { * @return the call builder instance */ public CreateCallBuilder ipRestriction(final EndpointIpPolicyMutate ipRestriction) { - this.ipRestriction = Optional.ofNullable(ipRestriction); + this.ipRestriction = Optional.of(Objects.requireNonNull(ipRestriction, "ipRestriction is required")); return this; } @@ -167,9 +167,9 @@ public class EdgesTcp { "/edges/tcp", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("hostports", this.hostports.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("hostports", Optional.of(this.hostports).filter(hostports -> !hostports.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("backend", this.backend.map(Function.identity())), new AbstractMap.SimpleEntry<>("ip_restriction", this.ipRestriction.map(Function.identity())) ), @@ -281,7 +281,7 @@ public class EdgesTcp { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -303,7 +303,7 @@ public class EdgesTcp { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -371,7 +371,7 @@ public class EdgesTcp { private final String id; private Optional description = Optional.empty(); private Optional metadata = Optional.empty(); - private Optional> hostports = Optional.empty(); + private java.util.List hostports = java.util.Collections.emptyList(); private Optional backend = Optional.empty(); private Optional ipRestriction = Optional.empty(); @@ -389,7 +389,7 @@ public class EdgesTcp { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -413,7 +413,7 @@ public class EdgesTcp { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -432,22 +432,22 @@ public class EdgesTcp { /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as a {@link java.util.List} + * @param hostports the value of the hostports parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder hostports(final java.util.List hostports) { - this.hostports = Optional.ofNullable(hostports); + this.hostports = Objects.requireNonNull(hostports, "hostports is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} + * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder hostports(final Optional> hostports) { - this.hostports = Objects.requireNonNull(hostports, "hostports is required"); + this.hostports = Objects.requireNonNull(hostports, "hostports is required").orElse(java.util.Collections.emptyList()); return this; } @@ -458,7 +458,7 @@ public class EdgesTcp { * @return the call builder instance */ public UpdateCallBuilder backend(final EndpointBackendMutate backend) { - this.backend = Optional.ofNullable(backend); + this.backend = Optional.of(Objects.requireNonNull(backend, "backend is required")); return this; } @@ -480,7 +480,7 @@ public class EdgesTcp { * @return the call builder instance */ public UpdateCallBuilder ipRestriction(final EndpointIpPolicyMutate ipRestriction) { - this.ipRestriction = Optional.ofNullable(ipRestriction); + this.ipRestriction = Optional.of(Objects.requireNonNull(ipRestriction, "ipRestriction is required")); return this; } @@ -508,7 +508,7 @@ public class EdgesTcp { Stream.of( new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), - new AbstractMap.SimpleEntry<>("hostports", this.hostports.map(Function.identity())), + new AbstractMap.SimpleEntry<>("hostports", Optional.of(this.hostports).filter(hostports -> !hostports.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("backend", this.backend.map(Function.identity())), new AbstractMap.SimpleEntry<>("ip_restriction", this.ipRestriction.map(Function.identity())) ), diff --git a/src/main/java/com/ngrok/services/EdgesTls.java b/src/main/java/com/ngrok/services/EdgesTls.java index 56c5207..a30139a 100644 --- a/src/main/java/com/ngrok/services/EdgesTls.java +++ b/src/main/java/com/ngrok/services/EdgesTls.java @@ -32,9 +32,9 @@ public class EdgesTls { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; - private Optional> hostports = Optional.empty(); + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); + private java.util.List hostports = java.util.Collections.emptyList(); private Optional backend = Optional.empty(); private Optional ipRestriction = Optional.empty(); private Optional mutualTls = Optional.empty(); @@ -52,7 +52,7 @@ public class EdgesTls { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -64,7 +64,7 @@ public class EdgesTls { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -76,7 +76,7 @@ public class EdgesTls { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -88,29 +88,29 @@ public class EdgesTls { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as a {@link java.util.List} + * @param hostports the value of the hostports parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder hostports(final java.util.List hostports) { - this.hostports = Optional.ofNullable(hostports); + this.hostports = Objects.requireNonNull(hostports, "hostports is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} + * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder hostports(final Optional> hostports) { - this.hostports = Objects.requireNonNull(hostports, "hostports is required"); + this.hostports = Objects.requireNonNull(hostports, "hostports is required").orElse(java.util.Collections.emptyList()); return this; } @@ -121,7 +121,7 @@ public class EdgesTls { * @return the call builder instance */ public CreateCallBuilder backend(final EndpointBackendMutate backend) { - this.backend = Optional.ofNullable(backend); + this.backend = Optional.of(Objects.requireNonNull(backend, "backend is required")); return this; } @@ -143,7 +143,7 @@ public class EdgesTls { * @return the call builder instance */ public CreateCallBuilder ipRestriction(final EndpointIpPolicyMutate ipRestriction) { - this.ipRestriction = Optional.ofNullable(ipRestriction); + this.ipRestriction = Optional.of(Objects.requireNonNull(ipRestriction, "ipRestriction is required")); return this; } @@ -165,7 +165,7 @@ public class EdgesTls { * @return the call builder instance */ public CreateCallBuilder mutualTls(final EndpointMutualTlsMutate mutualTls) { - this.mutualTls = Optional.ofNullable(mutualTls); + this.mutualTls = Optional.of(Objects.requireNonNull(mutualTls, "mutualTls is required")); return this; } @@ -187,7 +187,7 @@ public class EdgesTls { * @return the call builder instance */ public CreateCallBuilder tlsTermination(final EndpointTlsTermination tlsTermination) { - this.tlsTermination = Optional.ofNullable(tlsTermination); + this.tlsTermination = Optional.of(Objects.requireNonNull(tlsTermination, "tlsTermination is required")); return this; } @@ -213,9 +213,9 @@ public class EdgesTls { "/edges/tls", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("hostports", this.hostports.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("hostports", Optional.of(this.hostports).filter(hostports -> !hostports.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("backend", this.backend.map(Function.identity())), new AbstractMap.SimpleEntry<>("ip_restriction", this.ipRestriction.map(Function.identity())), new AbstractMap.SimpleEntry<>("mutual_tls", this.mutualTls.map(Function.identity())), @@ -329,7 +329,7 @@ public class EdgesTls { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -351,7 +351,7 @@ public class EdgesTls { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -419,7 +419,7 @@ public class EdgesTls { private final String id; private Optional description = Optional.empty(); private Optional metadata = Optional.empty(); - private Optional> hostports = Optional.empty(); + private java.util.List hostports = java.util.Collections.emptyList(); private Optional backend = Optional.empty(); private Optional ipRestriction = Optional.empty(); private Optional mutualTls = Optional.empty(); @@ -439,7 +439,7 @@ public class EdgesTls { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -463,7 +463,7 @@ public class EdgesTls { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -482,22 +482,22 @@ public class EdgesTls { /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as a {@link java.util.List} + * @param hostports the value of the hostports parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder hostports(final java.util.List hostports) { - this.hostports = Optional.ofNullable(hostports); + this.hostports = Objects.requireNonNull(hostports, "hostports is required"); return this; } /** * hostports served by this edge * - * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} + * @param hostports the value of the hostports parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder hostports(final Optional> hostports) { - this.hostports = Objects.requireNonNull(hostports, "hostports is required"); + this.hostports = Objects.requireNonNull(hostports, "hostports is required").orElse(java.util.Collections.emptyList()); return this; } @@ -508,7 +508,7 @@ public class EdgesTls { * @return the call builder instance */ public UpdateCallBuilder backend(final EndpointBackendMutate backend) { - this.backend = Optional.ofNullable(backend); + this.backend = Optional.of(Objects.requireNonNull(backend, "backend is required")); return this; } @@ -530,7 +530,7 @@ public class EdgesTls { * @return the call builder instance */ public UpdateCallBuilder ipRestriction(final EndpointIpPolicyMutate ipRestriction) { - this.ipRestriction = Optional.ofNullable(ipRestriction); + this.ipRestriction = Optional.of(Objects.requireNonNull(ipRestriction, "ipRestriction is required")); return this; } @@ -552,7 +552,7 @@ public class EdgesTls { * @return the call builder instance */ public UpdateCallBuilder mutualTls(final EndpointMutualTlsMutate mutualTls) { - this.mutualTls = Optional.ofNullable(mutualTls); + this.mutualTls = Optional.of(Objects.requireNonNull(mutualTls, "mutualTls is required")); return this; } @@ -574,7 +574,7 @@ public class EdgesTls { * @return the call builder instance */ public UpdateCallBuilder tlsTermination(final EndpointTlsTermination tlsTermination) { - this.tlsTermination = Optional.ofNullable(tlsTermination); + this.tlsTermination = Optional.of(Objects.requireNonNull(tlsTermination, "tlsTermination is required")); return this; } @@ -602,7 +602,7 @@ public class EdgesTls { Stream.of( new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), - new AbstractMap.SimpleEntry<>("hostports", this.hostports.map(Function.identity())), + new AbstractMap.SimpleEntry<>("hostports", Optional.of(this.hostports).filter(hostports -> !hostports.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("backend", this.backend.map(Function.identity())), new AbstractMap.SimpleEntry<>("ip_restriction", this.ipRestriction.map(Function.identity())), new AbstractMap.SimpleEntry<>("mutual_tls", this.mutualTls.map(Function.identity())), diff --git a/src/main/java/com/ngrok/services/Endpoints.java b/src/main/java/com/ngrok/services/Endpoints.java index 28d4ba4..72d53ef 100644 --- a/src/main/java/com/ngrok/services/Endpoints.java +++ b/src/main/java/com/ngrok/services/Endpoints.java @@ -48,7 +48,7 @@ public class Endpoints { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -70,7 +70,7 @@ public class Endpoints { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } diff --git a/src/main/java/com/ngrok/services/EventDestinations.java b/src/main/java/com/ngrok/services/EventDestinations.java index 3cf7e8a..034a21d 100644 --- a/src/main/java/com/ngrok/services/EventDestinations.java +++ b/src/main/java/com/ngrok/services/EventDestinations.java @@ -32,10 +32,10 @@ public class EventDestinations { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String metadata = ""; - private String description = ""; - private String format = ""; - private EventTarget target = null; + private Optional metadata = Optional.empty(); + private Optional description = Optional.empty(); + private Optional format = Optional.empty(); + private Optional target = Optional.empty(); private CreateCallBuilder( ) { @@ -49,7 +49,7 @@ public class EventDestinations { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -61,7 +61,7 @@ public class EventDestinations { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -72,7 +72,7 @@ public class EventDestinations { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -83,7 +83,7 @@ public class EventDestinations { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -95,7 +95,7 @@ public class EventDestinations { * @return the call builder instance */ public CreateCallBuilder format(final String format) { - this.format = Objects.requireNonNull(format, "format is required"); + this.format = Optional.of(Objects.requireNonNull(format, "format is required")); return this; } @@ -107,7 +107,7 @@ public class EventDestinations { * @return the call builder instance */ public CreateCallBuilder format(final Optional format) { - this.format = Objects.requireNonNull(format, "format is required").orElse(""); + this.format = Objects.requireNonNull(format, "format is required"); return this; } @@ -121,7 +121,7 @@ public class EventDestinations { * @return the call builder instance */ public CreateCallBuilder target(final EventTarget target) { - this.target = Objects.requireNonNull(target, "target is required"); + this.target = Optional.of(Objects.requireNonNull(target, "target is required")); return this; } @@ -135,7 +135,7 @@ public class EventDestinations { * @return the call builder instance */ public CreateCallBuilder target(final Optional target) { - this.target = Objects.requireNonNull(target, "target is required").orElse(null); + this.target = Objects.requireNonNull(target, "target is required"); return this; } @@ -150,10 +150,10 @@ public class EventDestinations { "/event_destinations", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("format", Optional.of(this.format)), - new AbstractMap.SimpleEntry<>("target", Optional.of(this.target)) + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("format", this.format.map(Function.identity())), + new AbstractMap.SimpleEntry<>("target", this.target.map(Function.identity())) ), Optional.of(EventDestination.class) ); @@ -323,7 +323,7 @@ public class EventDestinations { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -345,7 +345,7 @@ public class EventDestinations { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -430,7 +430,7 @@ public class EventDestinations { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -453,7 +453,7 @@ public class EventDestinations { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -476,7 +476,7 @@ public class EventDestinations { * @return the call builder instance */ public UpdateCallBuilder format(final String format) { - this.format = Optional.ofNullable(format); + this.format = Optional.of(Objects.requireNonNull(format, "format is required")); return this; } @@ -502,7 +502,7 @@ public class EventDestinations { * @return the call builder instance */ public UpdateCallBuilder target(final EventTarget target) { - this.target = Optional.ofNullable(target); + this.target = Optional.of(Objects.requireNonNull(target, "target is required")); return this; } diff --git a/src/main/java/com/ngrok/services/EventSources.java b/src/main/java/com/ngrok/services/EventSources.java index 880ba6d..f6fdf71 100644 --- a/src/main/java/com/ngrok/services/EventSources.java +++ b/src/main/java/com/ngrok/services/EventSources.java @@ -33,7 +33,7 @@ public class EventSources { */ public class CreateCallBuilder { private final String subscriptionId; - private String type = ""; + private Optional type = Optional.empty(); private CreateCallBuilder( final String subscriptionId @@ -48,7 +48,7 @@ public class EventSources { * @return the call builder instance */ public CreateCallBuilder type(final String type) { - this.type = Objects.requireNonNull(type, "type is required"); + this.type = Optional.of(Objects.requireNonNull(type, "type is required")); return this; } @@ -59,7 +59,7 @@ public class EventSources { * @return the call builder instance */ public CreateCallBuilder type(final Optional type) { - this.type = Objects.requireNonNull(type, "type is required").orElse(""); + this.type = Objects.requireNonNull(type, "type is required"); return this; } @@ -74,7 +74,7 @@ public class EventSources { "/event_subscriptions/" + this.subscriptionId + "/sources", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("type", Optional.of(this.type)) + new AbstractMap.SimpleEntry<>("type", this.type.map(Function.identity())) ), Optional.of(EventSource.class) ); diff --git a/src/main/java/com/ngrok/services/EventSubscriptions.java b/src/main/java/com/ngrok/services/EventSubscriptions.java index 02658bc..3534a69 100644 --- a/src/main/java/com/ngrok/services/EventSubscriptions.java +++ b/src/main/java/com/ngrok/services/EventSubscriptions.java @@ -32,8 +32,8 @@ public class EventSubscriptions { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String metadata = ""; - private String description = ""; + private Optional metadata = Optional.empty(); + private Optional description = Optional.empty(); private java.util.List sources = java.util.Collections.emptyList(); private java.util.List destinationIds = java.util.Collections.emptyList(); @@ -49,7 +49,7 @@ public class EventSubscriptions { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -61,7 +61,7 @@ public class EventSubscriptions { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -73,7 +73,7 @@ public class EventSubscriptions { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -85,14 +85,14 @@ public class EventSubscriptions { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } /** * Sources containing the types for which this event subscription will trigger * - * @param sources the value of the sources parameter as a {@link java.util.List} + * @param sources the value of the sources parameter as a {@link java.util.List} of {@link EventSourceReplace} * @return the call builder instance */ public CreateCallBuilder sources(final java.util.List sources) { @@ -103,7 +103,7 @@ public class EventSubscriptions { /** * Sources containing the types for which this event subscription will trigger * - * @param sources the value of the sources parameter as an {@link Optional} of {@link java.util.List} + * @param sources the value of the sources parameter as an {@link Optional} of {@link java.util.List} of {@link EventSourceReplace} * @return the call builder instance */ public CreateCallBuilder sources(final Optional> sources) { @@ -115,7 +115,7 @@ public class EventSubscriptions { * A list of Event Destination IDs which should be used for this Event * Subscription. * - * @param destinationIds the value of the destination_ids parameter as a {@link java.util.List} + * @param destinationIds the value of the destination_ids parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder destinationIds(final java.util.List destinationIds) { @@ -127,7 +127,7 @@ public class EventSubscriptions { * A list of Event Destination IDs which should be used for this Event * Subscription. * - * @param destinationIds the value of the destination_ids parameter as an {@link Optional} of {@link java.util.List} + * @param destinationIds the value of the destination_ids parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder destinationIds(final Optional> destinationIds) { @@ -146,10 +146,10 @@ public class EventSubscriptions { "/event_subscriptions", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("sources", Optional.of(this.sources)), - new AbstractMap.SimpleEntry<>("destination_ids", Optional.of(this.destinationIds)) + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("sources", Optional.of(this.sources).filter(sources -> !sources.isEmpty()).map(Function.identity())), + new AbstractMap.SimpleEntry<>("destination_ids", Optional.of(this.destinationIds).filter(destinationIds -> !destinationIds.isEmpty()).map(Function.identity())) ), Optional.of(EventSubscription.class) ); @@ -316,7 +316,7 @@ public class EventSubscriptions { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -338,7 +338,7 @@ public class EventSubscriptions { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -387,7 +387,7 @@ public class EventSubscriptions { } /** - * List this Account's Event Subscriptions. + * List this Account's Event Subscriptions. * * See also https://ngrok.com/docs/api#api-event-subscriptions-list. * @@ -406,8 +406,8 @@ public class EventSubscriptions { private final String id; private Optional metadata = Optional.empty(); private Optional description = Optional.empty(); - private Optional> sources = Optional.empty(); - private Optional> destinationIds = Optional.empty(); + private java.util.List sources = java.util.Collections.emptyList(); + private java.util.List destinationIds = java.util.Collections.emptyList(); private UpdateCallBuilder( final String id @@ -423,7 +423,7 @@ public class EventSubscriptions { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -447,7 +447,7 @@ public class EventSubscriptions { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -466,22 +466,22 @@ public class EventSubscriptions { /** * Sources containing the types for which this event subscription will trigger * - * @param sources the value of the sources parameter as a {@link java.util.List} + * @param sources the value of the sources parameter as a {@link java.util.List} of {@link EventSourceReplace} * @return the call builder instance */ public UpdateCallBuilder sources(final java.util.List sources) { - this.sources = Optional.ofNullable(sources); + this.sources = Objects.requireNonNull(sources, "sources is required"); return this; } /** * Sources containing the types for which this event subscription will trigger * - * @param sources the value of the sources parameter as an {@link Optional} of {@link java.util.List} + * @param sources the value of the sources parameter as an {@link Optional} of {@link java.util.List} of {@link EventSourceReplace} * @return the call builder instance */ public UpdateCallBuilder sources(final Optional> sources) { - this.sources = Objects.requireNonNull(sources, "sources is required"); + this.sources = Objects.requireNonNull(sources, "sources is required").orElse(java.util.Collections.emptyList()); return this; } @@ -489,11 +489,11 @@ public class EventSubscriptions { * A list of Event Destination IDs which should be used for this Event * Subscription. * - * @param destinationIds the value of the destination_ids parameter as a {@link java.util.List} + * @param destinationIds the value of the destination_ids parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder destinationIds(final java.util.List destinationIds) { - this.destinationIds = Optional.ofNullable(destinationIds); + this.destinationIds = Objects.requireNonNull(destinationIds, "destinationIds is required"); return this; } @@ -501,11 +501,11 @@ public class EventSubscriptions { * A list of Event Destination IDs which should be used for this Event * Subscription. * - * @param destinationIds the value of the destination_ids parameter as an {@link Optional} of {@link java.util.List} + * @param destinationIds the value of the destination_ids parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder destinationIds(final Optional> destinationIds) { - this.destinationIds = Objects.requireNonNull(destinationIds, "destinationIds is required"); + this.destinationIds = Objects.requireNonNull(destinationIds, "destinationIds is required").orElse(java.util.Collections.emptyList()); return this; } @@ -522,8 +522,8 @@ public class EventSubscriptions { Stream.of( new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), - new AbstractMap.SimpleEntry<>("sources", this.sources.map(Function.identity())), - new AbstractMap.SimpleEntry<>("destination_ids", this.destinationIds.map(Function.identity())) + new AbstractMap.SimpleEntry<>("sources", Optional.of(this.sources).filter(sources -> !sources.isEmpty()).map(Function.identity())), + new AbstractMap.SimpleEntry<>("destination_ids", Optional.of(this.destinationIds).filter(destinationIds -> !destinationIds.isEmpty()).map(Function.identity())) ), Optional.of(EventSubscription.class) ); diff --git a/src/main/java/com/ngrok/services/FailoverBackends.java b/src/main/java/com/ngrok/services/FailoverBackends.java index 89d07a3..f87e2cf 100644 --- a/src/main/java/com/ngrok/services/FailoverBackends.java +++ b/src/main/java/com/ngrok/services/FailoverBackends.java @@ -35,8 +35,8 @@ public class FailoverBackends { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private java.util.List backends = java.util.Collections.emptyList(); private CreateCallBuilder( @@ -50,7 +50,7 @@ public class FailoverBackends { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -61,7 +61,7 @@ public class FailoverBackends { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -72,7 +72,7 @@ public class FailoverBackends { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -83,14 +83,14 @@ public class FailoverBackends { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } /** * the ids of the child backends in order * - * @param backends the value of the backends parameter as a {@link java.util.List} + * @param backends the value of the backends parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder backends(final java.util.List backends) { @@ -101,7 +101,7 @@ public class FailoverBackends { /** * the ids of the child backends in order * - * @param backends the value of the backends parameter as an {@link Optional} of {@link java.util.List} + * @param backends the value of the backends parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder backends(final Optional> backends) { @@ -120,9 +120,9 @@ public class FailoverBackends { "/backends/failover", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("backends", Optional.of(this.backends)) + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("backends", Optional.of(this.backends).filter(backends -> !backends.isEmpty()).map(Function.identity())) ), Optional.of(FailoverBackend.class) ); @@ -289,7 +289,7 @@ public class FailoverBackends { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -311,7 +311,7 @@ public class FailoverBackends { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -394,7 +394,7 @@ public class FailoverBackends { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -416,7 +416,7 @@ public class FailoverBackends { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -434,7 +434,7 @@ public class FailoverBackends { /** * the ids of the child backends in order * - * @param backends the value of the backends parameter as a {@link java.util.List} + * @param backends the value of the backends parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder backends(final java.util.List backends) { @@ -445,7 +445,7 @@ public class FailoverBackends { /** * the ids of the child backends in order * - * @param backends the value of the backends parameter as an {@link Optional} of {@link java.util.List} + * @param backends the value of the backends parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder backends(final Optional> backends) { @@ -466,7 +466,7 @@ public class FailoverBackends { Stream.of( new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), - new AbstractMap.SimpleEntry<>("backends", Optional.of(this.backends)) + new AbstractMap.SimpleEntry<>("backends", Optional.of(this.backends).filter(backends -> !backends.isEmpty()).map(Function.identity())) ), Optional.of(FailoverBackend.class) ); diff --git a/src/main/java/com/ngrok/services/HttpResponseBackends.java b/src/main/java/com/ngrok/services/HttpResponseBackends.java index 5d2c966..94f6439 100644 --- a/src/main/java/com/ngrok/services/HttpResponseBackends.java +++ b/src/main/java/com/ngrok/services/HttpResponseBackends.java @@ -32,9 +32,9 @@ public class HttpResponseBackends { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; - private String body = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); + private Optional body = Optional.empty(); private java.util.Map headers = java.util.Collections.emptyMap(); private Optional statusCode = Optional.empty(); @@ -49,7 +49,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -60,7 +60,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -71,7 +71,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -82,7 +82,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -93,7 +93,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public CreateCallBuilder body(final String body) { - this.body = Objects.requireNonNull(body, "body is required"); + this.body = Optional.of(Objects.requireNonNull(body, "body is required")); return this; } @@ -104,14 +104,14 @@ public class HttpResponseBackends { * @return the call builder instance */ public CreateCallBuilder body(final Optional body) { - this.body = Objects.requireNonNull(body, "body is required").orElse(""); + this.body = Objects.requireNonNull(body, "body is required"); return this; } /** * headers to return * - * @param headers the value of the headers parameter as a {@link java.util.Map} + * @param headers the value of the headers parameter as a {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public CreateCallBuilder headers(final java.util.Map headers) { @@ -122,7 +122,7 @@ public class HttpResponseBackends { /** * headers to return * - * @param headers the value of the headers parameter as an {@link Optional} of {@link java.util.Map} + * @param headers the value of the headers parameter as an {@link Optional} of {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public CreateCallBuilder headers(final Optional> headers) { @@ -137,7 +137,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public CreateCallBuilder statusCode(final int statusCode) { - this.statusCode = Optional.ofNullable(statusCode); + this.statusCode = Optional.of(Objects.requireNonNull(statusCode, "statusCode is required")); return this; } @@ -163,10 +163,10 @@ public class HttpResponseBackends { "/backends/http_response", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("body", Optional.of(this.body)), - new AbstractMap.SimpleEntry<>("headers", Optional.of(this.headers)), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("body", this.body.map(Function.identity())), + new AbstractMap.SimpleEntry<>("headers", Optional.of(this.headers).filter(headers -> !headers.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("status_code", this.statusCode.map(Function.identity())) ), Optional.of(HttpResponseBackend.class) @@ -334,7 +334,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -356,7 +356,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -425,7 +425,7 @@ public class HttpResponseBackends { private Optional description = Optional.empty(); private Optional metadata = Optional.empty(); private Optional body = Optional.empty(); - private Optional> headers = Optional.empty(); + private java.util.Map headers = java.util.Collections.emptyMap(); private Optional statusCode = Optional.empty(); private UpdateCallBuilder( @@ -441,7 +441,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -463,7 +463,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -485,7 +485,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public UpdateCallBuilder body(final String body) { - this.body = Optional.ofNullable(body); + this.body = Optional.of(Objects.requireNonNull(body, "body is required")); return this; } @@ -503,22 +503,22 @@ public class HttpResponseBackends { /** * headers to return * - * @param headers the value of the headers parameter as a {@link java.util.Map} + * @param headers the value of the headers parameter as a {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public UpdateCallBuilder headers(final java.util.Map headers) { - this.headers = Optional.ofNullable(headers); + this.headers = Objects.requireNonNull(headers, "headers is required"); return this; } /** * headers to return * - * @param headers the value of the headers parameter as an {@link Optional} of {@link java.util.Map} + * @param headers the value of the headers parameter as an {@link Optional} of {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public UpdateCallBuilder headers(final Optional> headers) { - this.headers = Objects.requireNonNull(headers, "headers is required"); + this.headers = Objects.requireNonNull(headers, "headers is required").orElse(java.util.Collections.emptyMap()); return this; } @@ -529,7 +529,7 @@ public class HttpResponseBackends { * @return the call builder instance */ public UpdateCallBuilder statusCode(final int statusCode) { - this.statusCode = Optional.ofNullable(statusCode); + this.statusCode = Optional.of(Objects.requireNonNull(statusCode, "statusCode is required")); return this; } @@ -558,7 +558,7 @@ public class HttpResponseBackends { new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("body", this.body.map(Function.identity())), - new AbstractMap.SimpleEntry<>("headers", this.headers.map(Function.identity())), + new AbstractMap.SimpleEntry<>("headers", Optional.of(this.headers).filter(headers -> !headers.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("status_code", this.statusCode.map(Function.identity())) ), Optional.of(HttpResponseBackend.class) diff --git a/src/main/java/com/ngrok/services/HttpsEdgeMutualTlsModule.java b/src/main/java/com/ngrok/services/HttpsEdgeMutualTlsModule.java index 4fe7e70..3bccab5 100644 --- a/src/main/java/com/ngrok/services/HttpsEdgeMutualTlsModule.java +++ b/src/main/java/com/ngrok/services/HttpsEdgeMutualTlsModule.java @@ -33,7 +33,7 @@ public class HttpsEdgeMutualTlsModule { */ public class ReplaceCallBuilder { private final String id; - private EndpointMutualTlsMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String id @@ -48,7 +48,7 @@ public class HttpsEdgeMutualTlsModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointMutualTlsMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -59,7 +59,7 @@ public class HttpsEdgeMutualTlsModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -74,7 +74,7 @@ public class HttpsEdgeMutualTlsModule { "/edges/https/" + this.id + "/mutual_tls", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointMutualTls.class) ); diff --git a/src/main/java/com/ngrok/services/HttpsEdgeTlsTerminationModule.java b/src/main/java/com/ngrok/services/HttpsEdgeTlsTerminationModule.java index 6eab8ec..84ee75a 100644 --- a/src/main/java/com/ngrok/services/HttpsEdgeTlsTerminationModule.java +++ b/src/main/java/com/ngrok/services/HttpsEdgeTlsTerminationModule.java @@ -33,7 +33,7 @@ public class HttpsEdgeTlsTerminationModule { */ public class ReplaceCallBuilder { private final String id; - private EndpointTlsTerminationAtEdge module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String id @@ -48,7 +48,7 @@ public class HttpsEdgeTlsTerminationModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointTlsTerminationAtEdge module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -59,7 +59,7 @@ public class HttpsEdgeTlsTerminationModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -74,7 +74,7 @@ public class HttpsEdgeTlsTerminationModule { "/edges/https/" + this.id + "/tls_termination", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointTlsTermination.class) ); diff --git a/src/main/java/com/ngrok/services/IpPolicies.java b/src/main/java/com/ngrok/services/IpPolicies.java index 4baa746..912aef0 100644 --- a/src/main/java/com/ngrok/services/IpPolicies.java +++ b/src/main/java/com/ngrok/services/IpPolicies.java @@ -36,8 +36,8 @@ public class IpPolicies { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private CreateCallBuilder( ) { @@ -51,7 +51,7 @@ public class IpPolicies { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -63,7 +63,7 @@ public class IpPolicies { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -75,7 +75,7 @@ public class IpPolicies { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -87,7 +87,7 @@ public class IpPolicies { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -102,8 +102,8 @@ public class IpPolicies { "/ip_policies", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)) + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())) ), Optional.of(IpPolicy.class) ); @@ -273,7 +273,7 @@ public class IpPolicies { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -295,7 +295,7 @@ public class IpPolicies { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -378,7 +378,7 @@ public class IpPolicies { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -402,7 +402,7 @@ public class IpPolicies { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/IpPolicyRules.java b/src/main/java/com/ngrok/services/IpPolicyRules.java index 10fdaaf..85215b0 100644 --- a/src/main/java/com/ngrok/services/IpPolicyRules.java +++ b/src/main/java/com/ngrok/services/IpPolicyRules.java @@ -33,18 +33,20 @@ public class IpPolicyRules { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private final String cidr; private final String ipPolicyId; - private Optional action = Optional.empty(); + private final String action; private CreateCallBuilder( final String cidr, - final String ipPolicyId + final String ipPolicyId, + final String action ) { this.cidr = Objects.requireNonNull(cidr, "cidr is required"); this.ipPolicyId = Objects.requireNonNull(ipPolicyId, "ipPolicyId is required"); + this.action = Objects.requireNonNull(action, "action is required"); } /** @@ -55,7 +57,7 @@ public class IpPolicyRules { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -67,7 +69,7 @@ public class IpPolicyRules { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -79,7 +81,7 @@ public class IpPolicyRules { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -91,31 +93,7 @@ public class IpPolicyRules { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); - return this; - } - - /** - * the action to apply to the policy rule, either allow or - * deny - * - * @param action the value of the action parameter as a {@link String} - * @return the call builder instance - */ - public CreateCallBuilder action(final String action) { - this.action = Optional.ofNullable(action); - return this; - } - - /** - * the action to apply to the policy rule, either allow or - * deny - * - * @param action the value of the action parameter as an {@link Optional} of {@link String} - * @return the call builder instance - */ - public CreateCallBuilder action(final Optional action) { - this.action = Objects.requireNonNull(action, "action is required"); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -130,11 +108,11 @@ public class IpPolicyRules { "/ip_policy_rules", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("cidr", Optional.of(this.cidr)), new AbstractMap.SimpleEntry<>("ip_policy_id", Optional.of(this.ipPolicyId)), - new AbstractMap.SimpleEntry<>("action", this.action.map(Function.identity())) + new AbstractMap.SimpleEntry<>("action", Optional.of(this.action)) ), Optional.of(IpPolicyRule.class) ); @@ -162,15 +140,18 @@ public class IpPolicyRules { * * @param cidr an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. * @param ipPolicyId ID of the IP policy this IP policy rule will be attached to + * @param action the action to apply to the policy rule, either allow or deny * @return a call builder for this API call */ public CreateCallBuilder create( final String cidr, - final String ipPolicyId + final String ipPolicyId, + final String action ) { return new CreateCallBuilder( cidr, - ipPolicyId + ipPolicyId, + action ); } @@ -307,7 +288,7 @@ public class IpPolicyRules { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -329,7 +310,7 @@ public class IpPolicyRules { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -413,7 +394,7 @@ public class IpPolicyRules { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -437,7 +418,7 @@ public class IpPolicyRules { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -460,7 +441,7 @@ public class IpPolicyRules { * @return the call builder instance */ public UpdateCallBuilder cidr(final String cidr) { - this.cidr = Optional.ofNullable(cidr); + this.cidr = Optional.of(Objects.requireNonNull(cidr, "cidr is required")); return this; } diff --git a/src/main/java/com/ngrok/services/IpRestrictions.java b/src/main/java/com/ngrok/services/IpRestrictions.java index 76f371e..43b0e32 100644 --- a/src/main/java/com/ngrok/services/IpRestrictions.java +++ b/src/main/java/com/ngrok/services/IpRestrictions.java @@ -37,11 +37,11 @@ public class IpRestrictions { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; - private boolean enforced = false; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); + private Optional enforced = Optional.empty(); private final String type; - private final java.util.List ipPolicyIds; + private java.util.List ipPolicyIds = java.util.Collections.emptyList(); private CreateCallBuilder( final String type, @@ -58,7 +58,7 @@ public class IpRestrictions { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -69,7 +69,7 @@ public class IpRestrictions { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -81,7 +81,7 @@ public class IpRestrictions { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -93,7 +93,7 @@ public class IpRestrictions { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -105,7 +105,7 @@ public class IpRestrictions { * @return the call builder instance */ public CreateCallBuilder enforced(final boolean enforced) { - this.enforced = Objects.requireNonNull(enforced, "enforced is required"); + this.enforced = Optional.of(Objects.requireNonNull(enforced, "enforced is required")); return this; } @@ -117,7 +117,7 @@ public class IpRestrictions { * @return the call builder instance */ public CreateCallBuilder enforced(final Optional enforced) { - this.enforced = Objects.requireNonNull(enforced, "enforced is required").orElse(false); + this.enforced = Objects.requireNonNull(enforced, "enforced is required"); return this; } @@ -132,11 +132,11 @@ public class IpRestrictions { "/ip_restrictions", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("enforced", Optional.of(this.enforced)), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("enforced", this.enforced.map(Function.identity())), new AbstractMap.SimpleEntry<>("type", Optional.of(this.type)), - new AbstractMap.SimpleEntry<>("ip_policy_ids", Optional.of(this.ipPolicyIds)) + new AbstractMap.SimpleEntry<>("ip_policy_ids", Optional.of(this.ipPolicyIds).filter(ipPolicyIds -> !ipPolicyIds.isEmpty()).map(Function.identity())) ), Optional.of(IpRestriction.class) ); @@ -309,7 +309,7 @@ public class IpRestrictions { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -331,7 +331,7 @@ public class IpRestrictions { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -415,7 +415,7 @@ public class IpRestrictions { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -438,7 +438,7 @@ public class IpRestrictions { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -462,7 +462,7 @@ public class IpRestrictions { * @return the call builder instance */ public UpdateCallBuilder enforced(final boolean enforced) { - this.enforced = Optional.ofNullable(enforced); + this.enforced = Optional.of(Objects.requireNonNull(enforced, "enforced is required")); return this; } @@ -481,7 +481,7 @@ public class IpRestrictions { /** * the set of IP policy identifiers that are used to enforce the restriction * - * @param ipPolicyIds the value of the ip_policy_ids parameter as a {@link java.util.List} + * @param ipPolicyIds the value of the ip_policy_ids parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder ipPolicyIds(final java.util.List ipPolicyIds) { @@ -492,7 +492,7 @@ public class IpRestrictions { /** * the set of IP policy identifiers that are used to enforce the restriction * - * @param ipPolicyIds the value of the ip_policy_ids parameter as an {@link Optional} of {@link java.util.List} + * @param ipPolicyIds the value of the ip_policy_ids parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder ipPolicyIds(final Optional> ipPolicyIds) { @@ -514,7 +514,7 @@ public class IpRestrictions { new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("enforced", this.enforced.map(Function.identity())), - new AbstractMap.SimpleEntry<>("ip_policy_ids", Optional.of(this.ipPolicyIds)) + new AbstractMap.SimpleEntry<>("ip_policy_ids", Optional.of(this.ipPolicyIds).filter(ipPolicyIds -> !ipPolicyIds.isEmpty()).map(Function.identity())) ), Optional.of(IpRestriction.class) ); diff --git a/src/main/java/com/ngrok/services/ReservedAddrs.java b/src/main/java/com/ngrok/services/ReservedAddrs.java index fc3bcdd..2dc3f33 100644 --- a/src/main/java/com/ngrok/services/ReservedAddrs.java +++ b/src/main/java/com/ngrok/services/ReservedAddrs.java @@ -34,9 +34,9 @@ public class ReservedAddrs { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; - private String region = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); + private Optional region = Optional.empty(); private CreateCallBuilder( ) { @@ -49,7 +49,7 @@ public class ReservedAddrs { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -60,7 +60,7 @@ public class ReservedAddrs { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -72,7 +72,7 @@ public class ReservedAddrs { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -84,7 +84,7 @@ public class ReservedAddrs { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -96,7 +96,7 @@ public class ReservedAddrs { * @return the call builder instance */ public CreateCallBuilder region(final String region) { - this.region = Objects.requireNonNull(region, "region is required"); + this.region = Optional.of(Objects.requireNonNull(region, "region is required")); return this; } @@ -108,7 +108,7 @@ public class ReservedAddrs { * @return the call builder instance */ public CreateCallBuilder region(final Optional region) { - this.region = Objects.requireNonNull(region, "region is required").orElse(""); + this.region = Objects.requireNonNull(region, "region is required"); return this; } @@ -123,9 +123,9 @@ public class ReservedAddrs { "/reserved_addrs", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("region", Optional.of(this.region)) + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("region", this.region.map(Function.identity())) ), Optional.of(ReservedAddr.class) ); @@ -292,7 +292,7 @@ public class ReservedAddrs { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -314,7 +314,7 @@ public class ReservedAddrs { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -396,7 +396,7 @@ public class ReservedAddrs { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -419,7 +419,7 @@ public class ReservedAddrs { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/ReservedDomains.java b/src/main/java/com/ngrok/services/ReservedDomains.java index b597e79..f18e18c 100644 --- a/src/main/java/com/ngrok/services/ReservedDomains.java +++ b/src/main/java/com/ngrok/services/ReservedDomains.java @@ -15,7 +15,7 @@ import java.util.stream.Stream; * Reserved Domains are hostnames that you can listen for traffic on. Domains * can be used to listen for http, https or tls traffic. You may use a domain * that you own by creating a CNAME record specified in the returned resource. - * This CNAME record points traffic for that domain to ngrok's edge servers. + * This CNAME record points traffic for that domain to ngrok's edge servers. * * See also https://ngrok.com/docs/api#api-reserved-domains. */ @@ -36,9 +36,9 @@ public class ReservedDomains { */ public class CreateCallBuilder { private final String name; - private String region = ""; - private String description = ""; - private String metadata = ""; + private Optional region = Optional.empty(); + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private Optional certificateId = Optional.empty(); private Optional certificateManagementPolicy = Optional.empty(); @@ -56,7 +56,7 @@ public class ReservedDomains { * @return the call builder instance */ public CreateCallBuilder region(final String region) { - this.region = Objects.requireNonNull(region, "region is required"); + this.region = Optional.of(Objects.requireNonNull(region, "region is required")); return this; } @@ -68,7 +68,7 @@ public class ReservedDomains { * @return the call builder instance */ public CreateCallBuilder region(final Optional region) { - this.region = Objects.requireNonNull(region, "region is required").orElse(""); + this.region = Objects.requireNonNull(region, "region is required"); return this; } @@ -79,7 +79,7 @@ public class ReservedDomains { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -90,7 +90,7 @@ public class ReservedDomains { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -102,7 +102,7 @@ public class ReservedDomains { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -114,7 +114,7 @@ public class ReservedDomains { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -127,7 +127,7 @@ public class ReservedDomains { * @return the call builder instance */ public CreateCallBuilder certificateId(final String certificateId) { - this.certificateId = Optional.ofNullable(certificateId); + this.certificateId = Optional.of(Objects.requireNonNull(certificateId, "certificateId is required")); return this; } @@ -153,7 +153,7 @@ public class ReservedDomains { * @return the call builder instance */ public CreateCallBuilder certificateManagementPolicy(final ReservedDomainCertPolicy certificateManagementPolicy) { - this.certificateManagementPolicy = Optional.ofNullable(certificateManagementPolicy); + this.certificateManagementPolicy = Optional.of(Objects.requireNonNull(certificateManagementPolicy, "certificateManagementPolicy is required")); return this; } @@ -182,9 +182,9 @@ public class ReservedDomains { Stream.empty(), Stream.of( new AbstractMap.SimpleEntry<>("name", Optional.of(this.name)), - new AbstractMap.SimpleEntry<>("region", Optional.of(this.region)), - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), + new AbstractMap.SimpleEntry<>("region", this.region.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("certificate_id", this.certificateId.map(Function.identity())), new AbstractMap.SimpleEntry<>("certificate_management_policy", this.certificateManagementPolicy.map(Function.identity())) ), @@ -212,7 +212,7 @@ public class ReservedDomains { * * See also https://ngrok.com/docs/api#api-reserved-domains-create. * - * @param name the domain name to reserve. It may be a full domain name like app.example.com. If the name does not contain a '.' it will reserve that subdomain on ngrok.io. + * @param name the domain name to reserve. It may be a full domain name like app.example.com. If the name does not contain a '.' it will reserve that subdomain on ngrok.io. * @return a call builder for this API call */ public CreateCallBuilder create( @@ -356,7 +356,7 @@ public class ReservedDomains { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -378,7 +378,7 @@ public class ReservedDomains { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -462,7 +462,7 @@ public class ReservedDomains { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -485,7 +485,7 @@ public class ReservedDomains { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -510,7 +510,7 @@ public class ReservedDomains { * @return the call builder instance */ public UpdateCallBuilder certificateId(final String certificateId) { - this.certificateId = Optional.ofNullable(certificateId); + this.certificateId = Optional.of(Objects.requireNonNull(certificateId, "certificateId is required")); return this; } @@ -536,7 +536,7 @@ public class ReservedDomains { * @return the call builder instance */ public UpdateCallBuilder certificateManagementPolicy(final ReservedDomainCertPolicy certificateManagementPolicy) { - this.certificateManagementPolicy = Optional.ofNullable(certificateManagementPolicy); + this.certificateManagementPolicy = Optional.of(Objects.requireNonNull(certificateManagementPolicy, "certificateManagementPolicy is required")); return this; } diff --git a/src/main/java/com/ngrok/services/SshCertificateAuthorities.java b/src/main/java/com/ngrok/services/SshCertificateAuthorities.java index ae26f70..aea1cb7 100644 --- a/src/main/java/com/ngrok/services/SshCertificateAuthorities.java +++ b/src/main/java/com/ngrok/services/SshCertificateAuthorities.java @@ -33,11 +33,11 @@ public class SshCertificateAuthorities { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; - private String privateKeyType = ""; - private String ellipticCurve = ""; - private long keySize = 0L; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); + private Optional privateKeyType = Optional.empty(); + private Optional ellipticCurve = Optional.empty(); + private Optional keySize = Optional.empty(); private CreateCallBuilder( ) { @@ -51,7 +51,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -63,7 +63,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -75,7 +75,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -87,7 +87,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -99,7 +99,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder privateKeyType(final String privateKeyType) { - this.privateKeyType = Objects.requireNonNull(privateKeyType, "privateKeyType is required"); + this.privateKeyType = Optional.of(Objects.requireNonNull(privateKeyType, "privateKeyType is required")); return this; } @@ -111,7 +111,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder privateKeyType(final Optional privateKeyType) { - this.privateKeyType = Objects.requireNonNull(privateKeyType, "privateKeyType is required").orElse(""); + this.privateKeyType = Objects.requireNonNull(privateKeyType, "privateKeyType is required"); return this; } @@ -122,7 +122,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder ellipticCurve(final String ellipticCurve) { - this.ellipticCurve = Objects.requireNonNull(ellipticCurve, "ellipticCurve is required"); + this.ellipticCurve = Optional.of(Objects.requireNonNull(ellipticCurve, "ellipticCurve is required")); return this; } @@ -133,7 +133,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder ellipticCurve(final Optional ellipticCurve) { - this.ellipticCurve = Objects.requireNonNull(ellipticCurve, "ellipticCurve is required").orElse(""); + this.ellipticCurve = Objects.requireNonNull(ellipticCurve, "ellipticCurve is required"); return this; } @@ -145,7 +145,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder keySize(final long keySize) { - this.keySize = Objects.requireNonNull(keySize, "keySize is required"); + this.keySize = Optional.of(Objects.requireNonNull(keySize, "keySize is required")); return this; } @@ -157,7 +157,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public CreateCallBuilder keySize(final Optional keySize) { - this.keySize = Objects.requireNonNull(keySize, "keySize is required").orElse(0L); + this.keySize = Objects.requireNonNull(keySize, "keySize is required"); return this; } @@ -172,11 +172,11 @@ public class SshCertificateAuthorities { "/ssh_certificate_authorities", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("private_key_type", Optional.of(this.privateKeyType)), - new AbstractMap.SimpleEntry<>("elliptic_curve", Optional.of(this.ellipticCurve)), - new AbstractMap.SimpleEntry<>("key_size", Optional.of(this.keySize)) + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("private_key_type", this.privateKeyType.map(Function.identity())), + new AbstractMap.SimpleEntry<>("elliptic_curve", this.ellipticCurve.map(Function.identity())), + new AbstractMap.SimpleEntry<>("key_size", this.keySize.map(Function.identity())) ), Optional.of(SshCertificateAuthority.class) ); @@ -343,7 +343,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -365,7 +365,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -448,7 +448,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -472,7 +472,7 @@ public class SshCertificateAuthorities { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/SshCredentials.java b/src/main/java/com/ngrok/services/SshCredentials.java index afee199..2c7453c 100644 --- a/src/main/java/com/ngrok/services/SshCredentials.java +++ b/src/main/java/com/ngrok/services/SshCredentials.java @@ -33,8 +33,8 @@ public class SshCredentials { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private java.util.List acl = java.util.Collections.emptyList(); private final String publicKey; @@ -52,7 +52,7 @@ public class SshCredentials { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -64,7 +64,7 @@ public class SshCredentials { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -76,7 +76,7 @@ public class SshCredentials { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -88,7 +88,7 @@ public class SshCredentials { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -102,10 +102,10 @@ public class SshCredentials { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @param acl the value of the acl parameter as a {@link java.util.List} + * @param acl the value of the acl parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder acl(final java.util.List acl) { @@ -123,10 +123,10 @@ public class SshCredentials { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @param acl the value of the acl parameter as an {@link Optional} of {@link java.util.List} + * @param acl the value of the acl parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder acl(final Optional> acl) { @@ -145,9 +145,9 @@ public class SshCredentials { "/ssh_credentials", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("acl", Optional.of(this.acl)), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("acl", Optional.of(this.acl).filter(acl -> !acl.isEmpty()).map(Function.identity())), new AbstractMap.SimpleEntry<>("public_key", Optional.of(this.publicKey)) ), Optional.of(SshCredential.class) @@ -171,7 +171,7 @@ public class SshCredentials { /** * Create a new ssh_credential from an uploaded public SSH key. This ssh credential - * can be used to start new tunnels via ngrok's SSH gateway. + * can be used to start new tunnels via ngrok's SSH gateway. * * See also https://ngrok.com/docs/api#api-ssh-credentials-create. * @@ -319,7 +319,7 @@ public class SshCredentials { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -341,7 +341,7 @@ public class SshCredentials { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -409,7 +409,7 @@ public class SshCredentials { private final String id; private Optional description = Optional.empty(); private Optional metadata = Optional.empty(); - private Optional> acl = Optional.empty(); + private java.util.List acl = java.util.Collections.emptyList(); private UpdateCallBuilder( final String id @@ -425,7 +425,7 @@ public class SshCredentials { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -449,7 +449,7 @@ public class SshCredentials { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -475,14 +475,14 @@ public class SshCredentials { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @param acl the value of the acl parameter as a {@link java.util.List} + * @param acl the value of the acl parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder acl(final java.util.List acl) { - this.acl = Optional.ofNullable(acl); + this.acl = Objects.requireNonNull(acl, "acl is required"); return this; } @@ -496,14 +496,14 @@ public class SshCredentials { * 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. + * '*' is equivalent to no acl at all and will explicitly + * permit all actions. * - * @param acl the value of the acl parameter as an {@link Optional} of {@link java.util.List} + * @param acl the value of the acl parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public UpdateCallBuilder acl(final Optional> acl) { - this.acl = Objects.requireNonNull(acl, "acl is required"); + this.acl = Objects.requireNonNull(acl, "acl is required").orElse(java.util.Collections.emptyList()); return this; } @@ -520,7 +520,7 @@ public class SshCredentials { Stream.of( new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), - new AbstractMap.SimpleEntry<>("acl", this.acl.map(Function.identity())) + new AbstractMap.SimpleEntry<>("acl", Optional.of(this.acl).filter(acl -> !acl.isEmpty()).map(Function.identity())) ), Optional.of(SshCredential.class) ); diff --git a/src/main/java/com/ngrok/services/SshHostCertificates.java b/src/main/java/com/ngrok/services/SshHostCertificates.java index e6b412b..0b9ace9 100644 --- a/src/main/java/com/ngrok/services/SshHostCertificates.java +++ b/src/main/java/com/ngrok/services/SshHostCertificates.java @@ -37,10 +37,10 @@ public class SshHostCertificates { private final String sshCertificateAuthorityId; private final String publicKey; private java.util.List principals = java.util.Collections.emptyList(); - private java.time.OffsetDateTime validAfter = null; - private java.time.OffsetDateTime validUntil = null; - private String description = ""; - private String metadata = ""; + private Optional validAfter = Optional.empty(); + private Optional validUntil = Optional.empty(); + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private CreateCallBuilder( final String sshCertificateAuthorityId, @@ -56,7 +56,7 @@ public class SshHostCertificates { * certificate. Dangerously, if no principals are specified, this certificate is * considered valid for all hosts. * - * @param principals the value of the principals parameter as a {@link java.util.List} + * @param principals the value of the principals parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder principals(final java.util.List principals) { @@ -70,7 +70,7 @@ public class SshHostCertificates { * certificate. Dangerously, if no principals are specified, this certificate is * considered valid for all hosts. * - * @param principals the value of the principals parameter as an {@link Optional} of {@link java.util.List} + * @param principals the value of the principals parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder principals(final Optional> principals) { @@ -86,7 +86,7 @@ public class SshHostCertificates { * @return the call builder instance */ public CreateCallBuilder validAfter(final java.time.OffsetDateTime validAfter) { - this.validAfter = Objects.requireNonNull(validAfter, "validAfter is required"); + this.validAfter = Optional.of(Objects.requireNonNull(validAfter, "validAfter is required")); return this; } @@ -98,7 +98,7 @@ public class SshHostCertificates { * @return the call builder instance */ public CreateCallBuilder validAfter(final Optional validAfter) { - this.validAfter = Objects.requireNonNull(validAfter, "validAfter is required").orElse(null); + this.validAfter = Objects.requireNonNull(validAfter, "validAfter is required"); return this; } @@ -111,7 +111,7 @@ public class SshHostCertificates { * @return the call builder instance */ public CreateCallBuilder validUntil(final java.time.OffsetDateTime validUntil) { - this.validUntil = Objects.requireNonNull(validUntil, "validUntil is required"); + this.validUntil = Optional.of(Objects.requireNonNull(validUntil, "validUntil is required")); return this; } @@ -124,7 +124,7 @@ public class SshHostCertificates { * @return the call builder instance */ public CreateCallBuilder validUntil(final Optional validUntil) { - this.validUntil = Objects.requireNonNull(validUntil, "validUntil is required").orElse(null); + this.validUntil = Objects.requireNonNull(validUntil, "validUntil is required"); return this; } @@ -136,7 +136,7 @@ public class SshHostCertificates { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -148,7 +148,7 @@ public class SshHostCertificates { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -160,7 +160,7 @@ public class SshHostCertificates { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -172,7 +172,7 @@ public class SshHostCertificates { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -189,11 +189,11 @@ public class SshHostCertificates { Stream.of( new AbstractMap.SimpleEntry<>("ssh_certificate_authority_id", Optional.of(this.sshCertificateAuthorityId)), new AbstractMap.SimpleEntry<>("public_key", Optional.of(this.publicKey)), - new AbstractMap.SimpleEntry<>("principals", Optional.of(this.principals)), - new AbstractMap.SimpleEntry<>("valid_after", Optional.of(this.validAfter)), - new AbstractMap.SimpleEntry<>("valid_until", Optional.of(this.validUntil)), - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)) + new AbstractMap.SimpleEntry<>("principals", Optional.of(this.principals).filter(principals -> !principals.isEmpty()).map(Function.identity())), + new AbstractMap.SimpleEntry<>("valid_after", this.validAfter.map(Function.identity())), + new AbstractMap.SimpleEntry<>("valid_until", this.validUntil.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())) ), Optional.of(SshHostCertificate.class) ); @@ -366,7 +366,7 @@ public class SshHostCertificates { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -388,7 +388,7 @@ public class SshHostCertificates { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -471,7 +471,7 @@ public class SshHostCertificates { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -495,7 +495,7 @@ public class SshHostCertificates { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/SshUserCertificates.java b/src/main/java/com/ngrok/services/SshUserCertificates.java index 02edccd..70b9629 100644 --- a/src/main/java/com/ngrok/services/SshUserCertificates.java +++ b/src/main/java/com/ngrok/services/SshUserCertificates.java @@ -39,10 +39,10 @@ public class SshUserCertificates { private java.util.List principals = java.util.Collections.emptyList(); private java.util.Map criticalOptions = java.util.Collections.emptyMap(); private java.util.Map extensions = java.util.Collections.emptyMap(); - private java.time.OffsetDateTime validAfter = null; - private java.time.OffsetDateTime validUntil = null; - private String description = ""; - private String metadata = ""; + private Optional validAfter = Optional.empty(); + private Optional validUntil = Optional.empty(); + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private CreateCallBuilder( final String sshCertificateAuthorityId, @@ -58,7 +58,7 @@ public class SshUserCertificates { * the signing certificate authority. Dangerously, if no principals are specified, * this certificate may be used to log in as any user. * - * @param principals the value of the principals parameter as a {@link java.util.List} + * @param principals the value of the principals parameter as a {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder principals(final java.util.List principals) { @@ -72,7 +72,7 @@ public class SshUserCertificates { * the signing certificate authority. Dangerously, if no principals are specified, * this certificate may be used to log in as any user. * - * @param principals the value of the principals parameter as an {@link Optional} of {@link java.util.List} + * @param principals the value of the principals parameter as an {@link Optional} of {@link java.util.List} of {@link String} * @return the call builder instance */ public CreateCallBuilder principals(final Optional> principals) { @@ -87,7 +87,7 @@ public class SshUserCertificates { * href="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys">the * OpenSSH certificate protocol spec for additional details. * - * @param criticalOptions the value of the critical_options parameter as a {@link java.util.Map} + * @param criticalOptions the value of the critical_options parameter as a {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public CreateCallBuilder criticalOptions(final java.util.Map criticalOptions) { @@ -102,7 +102,7 @@ public class SshUserCertificates { * href="https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys">the * OpenSSH certificate protocol spec for additional details. * - * @param criticalOptions the value of the critical_options parameter as an {@link Optional} of {@link java.util.Map} + * @param criticalOptions the value of the critical_options parameter as an {@link Optional} of {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public CreateCallBuilder criticalOptions(final Optional> criticalOptions) { @@ -115,13 +115,13 @@ public class SshUserCertificates { * 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 {"permit-pty": + * "", "permit-user-rc": ""}
OpenSSH understands a + * number of predefined extensions. See the * OpenSSH certificate protocol spec for additional details. * - * @param extensions the value of the extensions parameter as a {@link java.util.Map} + * @param extensions the value of the extensions parameter as a {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public CreateCallBuilder extensions(final java.util.Map extensions) { @@ -134,13 +134,13 @@ public class SshUserCertificates { * 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 {"permit-pty": + * "", "permit-user-rc": ""} OpenSSH understands a + * number of predefined extensions. See the * OpenSSH certificate protocol spec for additional details. * - * @param extensions the value of the extensions parameter as an {@link Optional} of {@link java.util.Map} + * @param extensions the value of the extensions parameter as an {@link Optional} of {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public CreateCallBuilder extensions(final Optional> extensions) { @@ -156,7 +156,7 @@ public class SshUserCertificates { * @return the call builder instance */ public CreateCallBuilder validAfter(final java.time.OffsetDateTime validAfter) { - this.validAfter = Objects.requireNonNull(validAfter, "validAfter is required"); + this.validAfter = Optional.of(Objects.requireNonNull(validAfter, "validAfter is required")); return this; } @@ -168,7 +168,7 @@ public class SshUserCertificates { * @return the call builder instance */ public CreateCallBuilder validAfter(final Optional validAfter) { - this.validAfter = Objects.requireNonNull(validAfter, "validAfter is required").orElse(null); + this.validAfter = Objects.requireNonNull(validAfter, "validAfter is required"); return this; } @@ -181,7 +181,7 @@ public class SshUserCertificates { * @return the call builder instance */ public CreateCallBuilder validUntil(final java.time.OffsetDateTime validUntil) { - this.validUntil = Objects.requireNonNull(validUntil, "validUntil is required"); + this.validUntil = Optional.of(Objects.requireNonNull(validUntil, "validUntil is required")); return this; } @@ -194,7 +194,7 @@ public class SshUserCertificates { * @return the call builder instance */ public CreateCallBuilder validUntil(final Optional validUntil) { - this.validUntil = Objects.requireNonNull(validUntil, "validUntil is required").orElse(null); + this.validUntil = Objects.requireNonNull(validUntil, "validUntil is required"); return this; } @@ -206,7 +206,7 @@ public class SshUserCertificates { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -218,7 +218,7 @@ public class SshUserCertificates { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -230,7 +230,7 @@ public class SshUserCertificates { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -242,7 +242,7 @@ public class SshUserCertificates { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -259,13 +259,13 @@ public class SshUserCertificates { Stream.of( new AbstractMap.SimpleEntry<>("ssh_certificate_authority_id", Optional.of(this.sshCertificateAuthorityId)), new AbstractMap.SimpleEntry<>("public_key", Optional.of(this.publicKey)), - new AbstractMap.SimpleEntry<>("principals", Optional.of(this.principals)), - new AbstractMap.SimpleEntry<>("critical_options", Optional.of(this.criticalOptions)), - new AbstractMap.SimpleEntry<>("extensions", Optional.of(this.extensions)), - new AbstractMap.SimpleEntry<>("valid_after", Optional.of(this.validAfter)), - new AbstractMap.SimpleEntry<>("valid_until", Optional.of(this.validUntil)), - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)) + new AbstractMap.SimpleEntry<>("principals", Optional.of(this.principals).filter(principals -> !principals.isEmpty()).map(Function.identity())), + new AbstractMap.SimpleEntry<>("critical_options", Optional.of(this.criticalOptions).filter(criticalOptions -> !criticalOptions.isEmpty()).map(Function.identity())), + new AbstractMap.SimpleEntry<>("extensions", Optional.of(this.extensions).filter(extensions -> !extensions.isEmpty()).map(Function.identity())), + new AbstractMap.SimpleEntry<>("valid_after", this.validAfter.map(Function.identity())), + new AbstractMap.SimpleEntry<>("valid_until", this.validUntil.map(Function.identity())), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())) ), Optional.of(SshUserCertificate.class) ); @@ -438,7 +438,7 @@ public class SshUserCertificates { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -460,7 +460,7 @@ public class SshUserCertificates { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -543,7 +543,7 @@ public class SshUserCertificates { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -567,7 +567,7 @@ public class SshUserCertificates { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/TcpEdgeBackendModule.java b/src/main/java/com/ngrok/services/TcpEdgeBackendModule.java index d2b8158..3bb4727 100644 --- a/src/main/java/com/ngrok/services/TcpEdgeBackendModule.java +++ b/src/main/java/com/ngrok/services/TcpEdgeBackendModule.java @@ -33,7 +33,7 @@ public class TcpEdgeBackendModule { */ public class ReplaceCallBuilder { private final String id; - private EndpointBackendMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String id @@ -48,7 +48,7 @@ public class TcpEdgeBackendModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointBackendMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -59,7 +59,7 @@ public class TcpEdgeBackendModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -74,7 +74,7 @@ public class TcpEdgeBackendModule { "/edges/tcp/" + this.id + "/backend", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointBackend.class) ); diff --git a/src/main/java/com/ngrok/services/TcpEdgeIpRestrictionModule.java b/src/main/java/com/ngrok/services/TcpEdgeIpRestrictionModule.java index bae86b5..df35324 100644 --- a/src/main/java/com/ngrok/services/TcpEdgeIpRestrictionModule.java +++ b/src/main/java/com/ngrok/services/TcpEdgeIpRestrictionModule.java @@ -33,7 +33,7 @@ public class TcpEdgeIpRestrictionModule { */ public class ReplaceCallBuilder { private final String id; - private EndpointIpPolicyMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String id @@ -48,7 +48,7 @@ public class TcpEdgeIpRestrictionModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointIpPolicyMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -59,7 +59,7 @@ public class TcpEdgeIpRestrictionModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -74,7 +74,7 @@ public class TcpEdgeIpRestrictionModule { "/edges/tcp/" + this.id + "/ip_restriction", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointIpPolicy.class) ); diff --git a/src/main/java/com/ngrok/services/TlsCertificates.java b/src/main/java/com/ngrok/services/TlsCertificates.java index c449568..9a5b04f 100644 --- a/src/main/java/com/ngrok/services/TlsCertificates.java +++ b/src/main/java/com/ngrok/services/TlsCertificates.java @@ -36,8 +36,8 @@ public class TlsCertificates { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private final String certificatePem; private final String privateKeyPem; @@ -56,7 +56,7 @@ public class TlsCertificates { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -67,7 +67,7 @@ public class TlsCertificates { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -79,7 +79,7 @@ public class TlsCertificates { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -91,7 +91,7 @@ public class TlsCertificates { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } @@ -106,8 +106,8 @@ public class TlsCertificates { "/tls_certificates", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), new AbstractMap.SimpleEntry<>("certificate_pem", Optional.of(this.certificatePem)), new AbstractMap.SimpleEntry<>("private_key_pem", Optional.of(this.privateKeyPem)) ), @@ -282,7 +282,7 @@ public class TlsCertificates { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -304,7 +304,7 @@ public class TlsCertificates { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -386,7 +386,7 @@ public class TlsCertificates { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -409,7 +409,7 @@ public class TlsCertificates { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } diff --git a/src/main/java/com/ngrok/services/TlsEdgeBackendModule.java b/src/main/java/com/ngrok/services/TlsEdgeBackendModule.java index 3dc0561..a78d795 100644 --- a/src/main/java/com/ngrok/services/TlsEdgeBackendModule.java +++ b/src/main/java/com/ngrok/services/TlsEdgeBackendModule.java @@ -33,7 +33,7 @@ public class TlsEdgeBackendModule { */ public class ReplaceCallBuilder { private final String id; - private EndpointBackendMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String id @@ -48,7 +48,7 @@ public class TlsEdgeBackendModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointBackendMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -59,7 +59,7 @@ public class TlsEdgeBackendModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -74,7 +74,7 @@ public class TlsEdgeBackendModule { "/edges/tls/" + this.id + "/backend", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointBackend.class) ); diff --git a/src/main/java/com/ngrok/services/TlsEdgeIpRestrictionModule.java b/src/main/java/com/ngrok/services/TlsEdgeIpRestrictionModule.java index ef2a2db..a1b507d 100644 --- a/src/main/java/com/ngrok/services/TlsEdgeIpRestrictionModule.java +++ b/src/main/java/com/ngrok/services/TlsEdgeIpRestrictionModule.java @@ -33,7 +33,7 @@ public class TlsEdgeIpRestrictionModule { */ public class ReplaceCallBuilder { private final String id; - private EndpointIpPolicyMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String id @@ -48,7 +48,7 @@ public class TlsEdgeIpRestrictionModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointIpPolicyMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -59,7 +59,7 @@ public class TlsEdgeIpRestrictionModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -74,7 +74,7 @@ public class TlsEdgeIpRestrictionModule { "/edges/tls/" + this.id + "/ip_restriction", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointIpPolicy.class) ); diff --git a/src/main/java/com/ngrok/services/TlsEdgeMutualTlsModule.java b/src/main/java/com/ngrok/services/TlsEdgeMutualTlsModule.java index 7315c18..e8f23e7 100644 --- a/src/main/java/com/ngrok/services/TlsEdgeMutualTlsModule.java +++ b/src/main/java/com/ngrok/services/TlsEdgeMutualTlsModule.java @@ -33,7 +33,7 @@ public class TlsEdgeMutualTlsModule { */ public class ReplaceCallBuilder { private final String id; - private EndpointMutualTlsMutate module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String id @@ -48,7 +48,7 @@ public class TlsEdgeMutualTlsModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointMutualTlsMutate module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -59,7 +59,7 @@ public class TlsEdgeMutualTlsModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -74,7 +74,7 @@ public class TlsEdgeMutualTlsModule { "/edges/tls/" + this.id + "/mutual_tls", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointMutualTls.class) ); diff --git a/src/main/java/com/ngrok/services/TlsEdgeTlsTerminationModule.java b/src/main/java/com/ngrok/services/TlsEdgeTlsTerminationModule.java index b2db023..a70a61f 100644 --- a/src/main/java/com/ngrok/services/TlsEdgeTlsTerminationModule.java +++ b/src/main/java/com/ngrok/services/TlsEdgeTlsTerminationModule.java @@ -33,7 +33,7 @@ public class TlsEdgeTlsTerminationModule { */ public class ReplaceCallBuilder { private final String id; - private EndpointTlsTermination module = null; + private Optional module = Optional.empty(); private ReplaceCallBuilder( final String id @@ -48,7 +48,7 @@ public class TlsEdgeTlsTerminationModule { * @return the call builder instance */ public ReplaceCallBuilder module(final EndpointTlsTermination module) { - this.module = Objects.requireNonNull(module, "module is required"); + this.module = Optional.of(Objects.requireNonNull(module, "module is required")); return this; } @@ -59,7 +59,7 @@ public class TlsEdgeTlsTerminationModule { * @return the call builder instance */ public ReplaceCallBuilder module(final Optional module) { - this.module = Objects.requireNonNull(module, "module is required").orElse(null); + this.module = Objects.requireNonNull(module, "module is required"); return this; } @@ -74,7 +74,7 @@ public class TlsEdgeTlsTerminationModule { "/edges/tls/" + this.id + "/tls_termination", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("module", Optional.of(this.module)) + new AbstractMap.SimpleEntry<>("module", this.module.map(Function.identity())) ), Optional.of(EndpointTlsTermination.class) ); diff --git a/src/main/java/com/ngrok/services/TunnelGroupBackends.java b/src/main/java/com/ngrok/services/TunnelGroupBackends.java index d6f5dd8..93fa1b7 100644 --- a/src/main/java/com/ngrok/services/TunnelGroupBackends.java +++ b/src/main/java/com/ngrok/services/TunnelGroupBackends.java @@ -33,8 +33,8 @@ public class TunnelGroupBackends { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private java.util.Map labels = java.util.Collections.emptyMap(); private CreateCallBuilder( @@ -48,7 +48,7 @@ public class TunnelGroupBackends { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -59,7 +59,7 @@ public class TunnelGroupBackends { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -70,7 +70,7 @@ public class TunnelGroupBackends { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -81,14 +81,14 @@ public class TunnelGroupBackends { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } /** - * labels to watch for tunnels on, e.g. app->foo, dc->bar + * labels to watch for tunnels on, e.g. app->foo, dc->bar * - * @param labels the value of the labels parameter as a {@link java.util.Map} + * @param labels the value of the labels parameter as a {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public CreateCallBuilder labels(final java.util.Map labels) { @@ -97,9 +97,9 @@ public class TunnelGroupBackends { } /** - * labels to watch for tunnels on, e.g. app->foo, dc->bar + * labels to watch for tunnels on, e.g. app->foo, dc->bar * - * @param labels the value of the labels parameter as an {@link Optional} of {@link java.util.Map} + * @param labels the value of the labels parameter as an {@link Optional} of {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public CreateCallBuilder labels(final Optional> labels) { @@ -118,9 +118,9 @@ public class TunnelGroupBackends { "/backends/tunnel_group", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("labels", Optional.of(this.labels)) + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("labels", Optional.of(this.labels).filter(labels -> !labels.isEmpty()).map(Function.identity())) ), Optional.of(TunnelGroupBackend.class) ); @@ -287,7 +287,7 @@ public class TunnelGroupBackends { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -309,7 +309,7 @@ public class TunnelGroupBackends { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -392,7 +392,7 @@ public class TunnelGroupBackends { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -414,7 +414,7 @@ public class TunnelGroupBackends { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -430,9 +430,9 @@ public class TunnelGroupBackends { } /** - * labels to watch for tunnels on, e.g. app->foo, dc->bar + * labels to watch for tunnels on, e.g. app->foo, dc->bar * - * @param labels the value of the labels parameter as a {@link java.util.Map} + * @param labels the value of the labels parameter as a {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public UpdateCallBuilder labels(final java.util.Map labels) { @@ -441,9 +441,9 @@ public class TunnelGroupBackends { } /** - * labels to watch for tunnels on, e.g. app->foo, dc->bar + * labels to watch for tunnels on, e.g. app->foo, dc->bar * - * @param labels the value of the labels parameter as an {@link Optional} of {@link java.util.Map} + * @param labels the value of the labels parameter as an {@link Optional} of {@link java.util.Map} of {@link String} to {@link String} * @return the call builder instance */ public UpdateCallBuilder labels(final Optional> labels) { @@ -464,7 +464,7 @@ public class TunnelGroupBackends { Stream.of( new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), - new AbstractMap.SimpleEntry<>("labels", Optional.of(this.labels)) + new AbstractMap.SimpleEntry<>("labels", Optional.of(this.labels).filter(labels -> !labels.isEmpty()).map(Function.identity())) ), Optional.of(TunnelGroupBackend.class) ); diff --git a/src/main/java/com/ngrok/services/TunnelSessions.java b/src/main/java/com/ngrok/services/TunnelSessions.java index 11148fa..9462240 100644 --- a/src/main/java/com/ngrok/services/TunnelSessions.java +++ b/src/main/java/com/ngrok/services/TunnelSessions.java @@ -48,7 +48,7 @@ public class TunnelSessions { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -70,7 +70,7 @@ public class TunnelSessions { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -358,7 +358,7 @@ public class TunnelSessions { * 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 + * 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 * diff --git a/src/main/java/com/ngrok/services/Tunnels.java b/src/main/java/com/ngrok/services/Tunnels.java index 019fb28..a98dc35 100644 --- a/src/main/java/com/ngrok/services/Tunnels.java +++ b/src/main/java/com/ngrok/services/Tunnels.java @@ -47,7 +47,7 @@ public class Tunnels { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -69,7 +69,7 @@ public class Tunnels { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } diff --git a/src/main/java/com/ngrok/services/WeightedBackends.java b/src/main/java/com/ngrok/services/WeightedBackends.java index 2d705ab..df2809d 100644 --- a/src/main/java/com/ngrok/services/WeightedBackends.java +++ b/src/main/java/com/ngrok/services/WeightedBackends.java @@ -14,7 +14,7 @@ import java.util.stream.Stream; /** * A Weighted Backend balances traffic among the referenced backends. Traffic * is assigned proportionally to each based on its weight. The percentage of - * traffic is calculated by dividing a backend's weight by the sum of all + * traffic is calculated by dividing a backend's weight by the sum of all * weights. * * See also https://ngrok.com/docs/api#api-weighted-backends. @@ -35,8 +35,8 @@ public class WeightedBackends { * A builder object encapsulating state for an unsent Create API call. */ public class CreateCallBuilder { - private String description = ""; - private String metadata = ""; + private Optional description = Optional.empty(); + private Optional metadata = Optional.empty(); private java.util.Map backends = java.util.Collections.emptyMap(); private CreateCallBuilder( @@ -50,7 +50,7 @@ public class WeightedBackends { * @return the call builder instance */ public CreateCallBuilder description(final String description) { - this.description = Objects.requireNonNull(description, "description is required"); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -61,7 +61,7 @@ public class WeightedBackends { * @return the call builder instance */ public CreateCallBuilder description(final Optional description) { - this.description = Objects.requireNonNull(description, "description is required").orElse(""); + this.description = Objects.requireNonNull(description, "description is required"); return this; } @@ -72,7 +72,7 @@ public class WeightedBackends { * @return the call builder instance */ public CreateCallBuilder metadata(final String metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required"); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -83,14 +83,14 @@ public class WeightedBackends { * @return the call builder instance */ public CreateCallBuilder metadata(final Optional metadata) { - this.metadata = Objects.requireNonNull(metadata, "metadata is required").orElse(""); + this.metadata = Objects.requireNonNull(metadata, "metadata is required"); return this; } /** * the ids of the child backends to their weights [0-10000] * - * @param backends the value of the backends parameter as a {@link java.util.Map} + * @param backends the value of the backends parameter as a {@link java.util.Map} of {@link String} to {@link Long} * @return the call builder instance */ public CreateCallBuilder backends(final java.util.Map backends) { @@ -101,7 +101,7 @@ public class WeightedBackends { /** * the ids of the child backends to their weights [0-10000] * - * @param backends the value of the backends parameter as an {@link Optional} of {@link java.util.Map} + * @param backends the value of the backends parameter as an {@link Optional} of {@link java.util.Map} of {@link String} to {@link Long} * @return the call builder instance */ public CreateCallBuilder backends(final Optional> backends) { @@ -120,9 +120,9 @@ public class WeightedBackends { "/backends/weighted", Stream.empty(), Stream.of( - new AbstractMap.SimpleEntry<>("description", Optional.of(this.description)), - new AbstractMap.SimpleEntry<>("metadata", Optional.of(this.metadata)), - new AbstractMap.SimpleEntry<>("backends", Optional.of(this.backends)) + new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), + new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), + new AbstractMap.SimpleEntry<>("backends", Optional.of(this.backends).filter(backends -> !backends.isEmpty()).map(Function.identity())) ), Optional.of(WeightedBackend.class) ); @@ -289,7 +289,7 @@ public class WeightedBackends { * @return the call builder instance */ public ListCallBuilder beforeId(final String beforeId) { - this.beforeId = Optional.ofNullable(beforeId); + this.beforeId = Optional.of(Objects.requireNonNull(beforeId, "beforeId is required")); return this; } @@ -311,7 +311,7 @@ public class WeightedBackends { * @return the call builder instance */ public ListCallBuilder limit(final String limit) { - this.limit = Optional.ofNullable(limit); + this.limit = Optional.of(Objects.requireNonNull(limit, "limit is required")); return this; } @@ -394,7 +394,7 @@ public class WeightedBackends { * @return the call builder instance */ public UpdateCallBuilder description(final String description) { - this.description = Optional.ofNullable(description); + this.description = Optional.of(Objects.requireNonNull(description, "description is required")); return this; } @@ -416,7 +416,7 @@ public class WeightedBackends { * @return the call builder instance */ public UpdateCallBuilder metadata(final String metadata) { - this.metadata = Optional.ofNullable(metadata); + this.metadata = Optional.of(Objects.requireNonNull(metadata, "metadata is required")); return this; } @@ -434,7 +434,7 @@ public class WeightedBackends { /** * the ids of the child backends to their weights [0-10000] * - * @param backends the value of the backends parameter as a {@link java.util.Map} + * @param backends the value of the backends parameter as a {@link java.util.Map} of {@link String} to {@link Long} * @return the call builder instance */ public UpdateCallBuilder backends(final java.util.Map backends) { @@ -445,7 +445,7 @@ public class WeightedBackends { /** * the ids of the child backends to their weights [0-10000] * - * @param backends the value of the backends parameter as an {@link Optional} of {@link java.util.Map} + * @param backends the value of the backends parameter as an {@link Optional} of {@link java.util.Map} of {@link String} to {@link Long} * @return the call builder instance */ public UpdateCallBuilder backends(final Optional> backends) { @@ -466,7 +466,7 @@ public class WeightedBackends { Stream.of( new AbstractMap.SimpleEntry<>("description", this.description.map(Function.identity())), new AbstractMap.SimpleEntry<>("metadata", this.metadata.map(Function.identity())), - new AbstractMap.SimpleEntry<>("backends", Optional.of(this.backends)) + new AbstractMap.SimpleEntry<>("backends", Optional.of(this.backends).filter(backends -> !backends.isEmpty()).map(Function.identity())) ), Optional.of(WeightedBackend.class) ); diff --git a/src/test/java/com/ngrok/TestBase.java b/src/test/java/com/ngrok/TestBase.java index 4ac3916..aedd4ca 100644 --- a/src/test/java/com/ngrok/TestBase.java +++ b/src/test/java/com/ngrok/TestBase.java @@ -13,6 +13,8 @@ import java.util.Optional; public abstract class TestBase { public static final String FAKE_API_SECRET ="s3kr1t"; + public static final String USER_AGENT = "ngrok-api-java/" + Version.CLIENT_VERSION + "/" + System.getProperty("java.version"); + public static final boolean USE_LIVE_API = Optional.ofNullable(System.getenv("TEST_NO_MOCK")) .map(Boolean::valueOf) .orElse(false); diff --git a/src/test/java/com/ngrok/services/ApiKeysTest.java b/src/test/java/com/ngrok/services/ApiKeysTest.java index 5195065..ba9e28e 100644 --- a/src/test/java/com/ngrok/services/ApiKeysTest.java +++ b/src/test/java/com/ngrok/services/ApiKeysTest.java @@ -77,7 +77,7 @@ public class ApiKeysTest extends ApiKeyTestBase { wireMock.stubFor( post(urlPathEqualTo("/api_keys")) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), containing("application/json")) .withRequestBody(equalToJson(MAPPER.writeValueAsString(API_KEY_CREATE))) @@ -89,7 +89,7 @@ public class ApiKeysTest extends ApiKeyTestBase { wireMock.stubFor( get(urlPathEqualTo("/api_keys/" + API_KEY.getId())) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .willReturn(ok(MAPPER.writeValueAsString(API_KEY_NO_TOKEN)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/json") @@ -100,7 +100,7 @@ public class ApiKeysTest extends ApiKeyTestBase { get(urlPathEqualTo("/api_keys")) .withQueryParam("limit", equalTo("10")) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .willReturn(ok(MAPPER.writeValueAsString(API_KEY_LIST)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/json") @@ -110,7 +110,7 @@ public class ApiKeysTest extends ApiKeyTestBase { wireMock.stubFor( patch(urlPathEqualTo("/api_keys/" + API_KEY.getId())) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), containing("application/json")) .withRequestBody(equalToJson(MAPPER.writeValueAsString(API_KEY_UPDATE))) @@ -122,7 +122,7 @@ public class ApiKeysTest extends ApiKeyTestBase { wireMock.stubFor( delete(urlPathEqualTo("/api_keys/" + API_KEY.getId())) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .willReturn(noContent()) ); diff --git a/src/test/java/com/ngrok/services/EventSubscriptionsTest.java b/src/test/java/com/ngrok/services/EventSubscriptionsTest.java index 9914124..f69a238 100644 --- a/src/test/java/com/ngrok/services/EventSubscriptionsTest.java +++ b/src/test/java/com/ngrok/services/EventSubscriptionsTest.java @@ -86,7 +86,7 @@ public class EventSubscriptionsTest extends EventSubscriptionTestBase { wireMock.stubFor( post(urlPathEqualTo("/event_destinations")) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), containing("application/json")) .withRequestBody(equalToJson(MAPPER.writeValueAsString(EVENT_DESTINATION_CREATE))) @@ -98,7 +98,7 @@ public class EventSubscriptionsTest extends EventSubscriptionTestBase { wireMock.stubFor( delete(urlPathEqualTo("/event_destinations/" + EVENT_DESTINATION.getId())) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .willReturn(noContent()) ); @@ -106,7 +106,7 @@ public class EventSubscriptionsTest extends EventSubscriptionTestBase { wireMock.stubFor( post(urlPathEqualTo("/event_subscriptions")) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), containing("application/json")) .withRequestBody(equalToJson(MAPPER.writeValueAsString(EVENT_SUBSCRIPTION_CREATE))) @@ -118,7 +118,7 @@ public class EventSubscriptionsTest extends EventSubscriptionTestBase { wireMock.stubFor( get(urlPathEqualTo("/event_subscriptions/" + EVENT_SUBSCRIPTION.getId())) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .willReturn(ok(MAPPER.writeValueAsString(EVENT_SUBSCRIPTION)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/json") @@ -129,7 +129,7 @@ public class EventSubscriptionsTest extends EventSubscriptionTestBase { get(urlPathEqualTo("/event_subscriptions")) .withQueryParam("limit", equalTo("10")) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .willReturn(ok(MAPPER.writeValueAsString(EVENT_SUBSCRIPTION_LIST)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/json") @@ -139,7 +139,7 @@ public class EventSubscriptionsTest extends EventSubscriptionTestBase { wireMock.stubFor( patch(urlPathEqualTo("/event_subscriptions/" + EVENT_SUBSCRIPTION.getId())) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), containing("application/json")) .withRequestBody(equalToJson(MAPPER.writeValueAsString(EVENT_SUBSCRIPTION_UPDATE))) @@ -151,7 +151,7 @@ public class EventSubscriptionsTest extends EventSubscriptionTestBase { wireMock.stubFor( delete(urlPathEqualTo("/event_subscriptions/" + EVENT_SUBSCRIPTION.getId())) .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) - .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo("ngrok-api-client-java/" + Version.CLIENT_VERSION)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) .withHeader("ngrok-version", equalTo(Version.API_VERSION)) .willReturn(noContent()) ); diff --git a/src/test/java/com/ngrok/services/HttpsEdgesTest.java b/src/test/java/com/ngrok/services/HttpsEdgesTest.java new file mode 100644 index 0000000..6c61ca3 --- /dev/null +++ b/src/test/java/com/ngrok/services/HttpsEdgesTest.java @@ -0,0 +1,150 @@ +package com.ngrok.services; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.linecorp.armeria.common.HttpHeaderNames; +import com.ngrok.Ngrok; +import com.ngrok.TestBase; +import com.ngrok.Version; +import com.ngrok.definitions.HttpsEdge; +import com.ngrok.definitions.HttpsEdgeList; +import de.mkammerer.wiremock.WireMockExtension; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import java.net.URI; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static org.assertj.core.api.Assertions.assertThat; + +public class HttpsEdgesTest extends TestBase { + private static final Optional LIVE_HOSTPORT = Optional.ofNullable(System.getenv("NGROK_HOSTPORT")); + private static final String TEST_HOSTPORT = "test-hostport-123.ngrok.io:443"; + + private static final HttpsEdge MOCK_EDGE = new HttpsEdge( + "some-id", + "", + "test scala client", + OffsetDateTime.now(), + URI.create("https://api.ngrok.com/edges/https/some-id"), + Optional.of(Collections.singletonList(TEST_HOSTPORT)), + Optional.empty(), + Optional.empty(), + Collections.emptyList() + ); + + private static final HttpsEdgeList MOCK_EDGE_LIST = new HttpsEdgeList( + Collections.singletonList(MOCK_EDGE), + URI.create("https://api.ngrok.com/edges/https"), + Optional.empty() + ); + + private final List testHostports; + private final Map mockEdgeCreate; + + private HttpsEdgesTest() { + if (USE_LIVE_API) { + testHostports = Collections.singletonList(LIVE_HOSTPORT.get()); + } else { + testHostports = Collections.singletonList(TEST_HOSTPORT); + } + + mockEdgeCreate = Stream.of( + entry("metadata", MOCK_EDGE.getMetadata()), + entry("hostports", testHostports) + ).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + } + + @RegisterExtension + final WireMockExtension wireMock = new WireMockExtension(); + + private Ngrok ngrok() { + return TestBase.ngrok(wireMock.getBaseUri()); + } + + @BeforeEach + public void stubHttpsEdges() throws JsonProcessingException { + if (USE_LIVE_API) { + return; + } + + wireMock.resetAll(); + + wireMock.stubFor( + post(urlPathEqualTo("/edges/https")) + .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) + .withHeader("ngrok-version", equalTo(Version.API_VERSION)) + .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), containing("application/json")) + .withRequestBody(equalToJson(MAPPER.writeValueAsString(mockEdgeCreate))) + .willReturn( + ok(MAPPER.writeValueAsString(MOCK_EDGE)) + .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/json") + ) + ); + + wireMock.stubFor( + get(urlPathEqualTo("/edges/https")) + .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) + .withHeader("ngrok-version", equalTo(Version.API_VERSION)) + .willReturn( + ok(MAPPER.writeValueAsString(MOCK_EDGE_LIST)) + .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/json") + ) + ); + + wireMock.stubFor( + delete(urlPathEqualTo("/edges/https/" + MOCK_EDGE.getId())) + .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) + .withHeader("ngrok-version", equalTo(Version.API_VERSION)) + .willReturn(noContent()) + ); + } + + @Test + public void testHttpsEdges() throws InterruptedException { + if (USE_LIVE_API) { + if (!LIVE_HOSTPORT.isPresent()) { + throw new IllegalStateException("Please set NGROK_HOSTPORT to a valid endpoint HOST:PORT before running this test live"); + } + } + + final String edgesId = assertCreateHttpsEdge(testHostports); + try { + assertListHttpsEdges(edgesId, testHostports); + } finally { + deleteHttpsEdge(edgesId); + } + } + + private String assertCreateHttpsEdge(final List hostports) throws InterruptedException { + final HttpsEdge edge = ngrok().edges().https().create() + .metadata(MOCK_EDGE.getMetadata()) + .hostports(hostports) + .blockingCall(); + assertThat(edge.getHostports().get()).containsExactlyElementsOf(testHostports); + return edge.getId(); + } + + private void assertListHttpsEdges(final String expectedId, final List expectedHostports) throws InterruptedException { + final HttpsEdge edge = ngrok().edges().https().list().blockingCall().getPage().getHttpsEdges().stream() + .filter(e -> e.getMetadata().equals(MOCK_EDGE.getMetadata())) + .findFirst() + .get(); + assertThat(edge.getId()).isEqualTo(expectedId); + assertThat(edge.getHostports().get()).containsExactlyElementsOf(expectedHostports); + } + + private void deleteHttpsEdge(final String id) throws InterruptedException { + ngrok().edges().https().delete(id).blockingCall(); + } +} diff --git a/src/test/java/com/ngrok/services/IpPolicyRulesTest.java b/src/test/java/com/ngrok/services/IpPolicyRulesTest.java new file mode 100644 index 0000000..259440e --- /dev/null +++ b/src/test/java/com/ngrok/services/IpPolicyRulesTest.java @@ -0,0 +1,139 @@ +package com.ngrok.services; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.linecorp.armeria.common.HttpHeaderNames; +import com.ngrok.Ngrok; +import com.ngrok.TestBase; +import com.ngrok.Version; +import com.ngrok.definitions.IpPolicy; +import com.ngrok.definitions.IpPolicyRule; +import com.ngrok.definitions.Ref; +import de.mkammerer.wiremock.WireMockExtension; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import java.net.URI; +import java.time.OffsetDateTime; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static org.assertj.core.api.Assertions.assertThat; + +public class IpPolicyRulesTest extends TestBase { + private static final IpPolicy MOCK_IP_POLICY = new IpPolicy( + "some-id", + URI.create("https://api.ngrok.com/ip_policies/some-id"), + OffsetDateTime.now(), + "", + "" + ); + + private static final IpPolicyRule MOCK_IP_POLICY_RULE = new IpPolicyRule( + "some-rule-id", + URI.create("https://api.ngrok.com/ip_policy_rules/some-rule-id"), + OffsetDateTime.now(), + "", + "", + "10.1.2.0/24", + new Ref("some-id", URI.create("https://api.ngrok.com/ip_policy/some-id")), + "allow" + ); + + private static final Map IP_POLICY_RULE_CREATE = Stream.of( + entry("ip_policy_id", MOCK_IP_POLICY.getId()), + entry("cidr", MOCK_IP_POLICY_RULE.getCidr()), + entry("action", MOCK_IP_POLICY_RULE.getAction()) + ).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + + @RegisterExtension + final WireMockExtension wireMock = new WireMockExtension(); + + private Ngrok ngrok() { + return TestBase.ngrok(wireMock.getBaseUri()); + } + + @BeforeEach + public void stubIpPolicies() throws JsonProcessingException { + if (USE_LIVE_API) { + return; + } + + wireMock.resetAll(); + + wireMock.stubFor( + post(urlPathEqualTo("/ip_policies")) + .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) + .withHeader("ngrok-version", equalTo(Version.API_VERSION)) + .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), containing("application/json")) + .withRequestBody(equalToJson("{}")) + .willReturn( + ok(MAPPER.writeValueAsString(MOCK_IP_POLICY)) + .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/json") + ) + ); + + wireMock.stubFor( + delete(urlPathEqualTo("/ip_policies/" + MOCK_IP_POLICY.getId())) + .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) + .withHeader("ngrok-version", equalTo(Version.API_VERSION)) + .willReturn(noContent()) + ); + + wireMock.stubFor( + post(urlPathEqualTo("/ip_policy_rules")) + .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) + .withHeader("ngrok-version", equalTo(Version.API_VERSION)) + .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), containing("application/json")) + .withRequestBody(equalToJson(MAPPER.writeValueAsString(IP_POLICY_RULE_CREATE))) + .willReturn( + ok(MAPPER.writeValueAsString(MOCK_IP_POLICY_RULE)) + .withHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/json") + ) + ); + + wireMock.stubFor( + delete(urlPathEqualTo("/ip_policy_rules/" + MOCK_IP_POLICY_RULE.getId())) + .withHeader(HttpHeaderNames.AUTHORIZATION.toString(), equalTo("Bearer " + FAKE_API_SECRET)) + .withHeader(HttpHeaderNames.USER_AGENT.toString(), equalTo(USER_AGENT)) + .withHeader("ngrok-version", equalTo(Version.API_VERSION)) + .willReturn(noContent()) + ); + } + + @Test + public void testIpPoliciesAndRules() throws InterruptedException { + final String policyId = createIpPolicy(); + try { + final String ruleId = assertCreateIpPolicyRule(policyId); + deleteIpPolicyRule(ruleId); + } finally { + deleteIpPolicy(policyId); + } + } + + private String createIpPolicy() throws InterruptedException { + return ngrok().ipPolicies().create().blockingCall().getId(); + } + + private void deleteIpPolicy(final String id) throws InterruptedException { + ngrok().ipPolicies().delete(id).blockingCall(); + } + + private String assertCreateIpPolicyRule(final String policyId) throws InterruptedException { + final IpPolicyRule rule = ngrok().ipPolicyRules().create("10.1.2.0/24", policyId, "allow").blockingCall(); + assertThat(rule.getIpPolicy().getId()).isEqualTo(policyId); + assertThat(rule.getAction()).isEqualTo("allow"); + assertThat(rule.getCidr()).isEqualTo("10.1.2.0/24"); + return rule.getId(); + } + + private void deleteIpPolicyRule(final String id) throws InterruptedException { + ngrok().ipPolicyRules().delete(id).blockingCall(); + } +}