ngrok-api 0.9.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/doc/.gitkeep +0 -0
- data/doc/NgrokAPI/Client.html +1499 -125
- data/doc/NgrokAPI/Error.html +1 -1
- data/doc/NgrokAPI/Errors/NotFoundError.html +1 -1
- data/doc/NgrokAPI/Errors.html +1 -1
- data/doc/NgrokAPI/HttpClient.html +1 -1
- data/doc/NgrokAPI/Models/{ApiKey.html → APIKey.html} +108 -177
- data/doc/NgrokAPI/Models/AWSAuth.html +617 -0
- data/doc/NgrokAPI/Models/AWSCredentials.html +617 -0
- data/doc/NgrokAPI/Models/AWSRole.html +543 -0
- data/doc/NgrokAPI/Models/AbuseReport.html +987 -0
- data/doc/NgrokAPI/Models/AbuseReportHostname.html +617 -0
- data/doc/NgrokAPI/Models/CertificateAuthority.html +1439 -0
- data/doc/NgrokAPI/Models/Credential.html +1149 -0
- data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +913 -0
- data/doc/NgrokAPI/Models/EndpointCompression.html +543 -0
- data/doc/NgrokAPI/Models/EndpointConfiguration.html +1321 -510
- data/doc/NgrokAPI/Models/EndpointIPPolicy.html +617 -0
- data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +617 -0
- data/doc/NgrokAPI/Models/EndpointLogging.html +617 -0
- data/doc/NgrokAPI/Models/EndpointLoggingMutate.html +617 -0
- data/doc/NgrokAPI/Models/EndpointMutualTLS.html +617 -0
- data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +617 -0
- data/doc/NgrokAPI/Models/EndpointOAuth.html +987 -0
- data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +839 -0
- data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +987 -0
- data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +839 -0
- data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +839 -0
- data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +765 -0
- data/doc/NgrokAPI/Models/EndpointOIDC.html +1135 -0
- data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +691 -0
- data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +691 -0
- data/doc/NgrokAPI/Models/EndpointSAML.html +1653 -0
- data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +1283 -0
- data/doc/NgrokAPI/Models/EndpointTLSTermination.html +691 -0
- data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +691 -0
- data/doc/NgrokAPI/Models/EventDestination.html +1058 -0
- data/doc/NgrokAPI/Models/EventSource.html +765 -0
- data/doc/NgrokAPI/Models/EventSourceReplace.html +691 -0
- data/doc/NgrokAPI/Models/EventStream.html +1309 -0
- data/doc/NgrokAPI/Models/EventSubscription.html +1058 -0
- data/doc/NgrokAPI/Models/EventTarget.html +765 -0
- data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +617 -0
- data/doc/NgrokAPI/Models/EventTargetFirehose.html +617 -0
- data/doc/NgrokAPI/Models/EventTargetKinesis.html +617 -0
- data/doc/NgrokAPI/Models/IPPolicy.html +1069 -0
- data/doc/NgrokAPI/Models/IPPolicyRule.html +1149 -0
- data/doc/NgrokAPI/Models/IPRestriction.html +1132 -0
- data/doc/NgrokAPI/Models/{TlsCertificate.html → IPWhitelistEntry.html} +168 -163
- data/doc/NgrokAPI/Models/Listable.html +1 -1
- data/doc/NgrokAPI/Models/Ref.html +617 -0
- data/doc/NgrokAPI/Models/ReservedAddr.html +1132 -0
- data/doc/NgrokAPI/Models/ReservedDomain.html +111 -1107
- data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +839 -0
- data/doc/NgrokAPI/Models/ReservedDomainCertNSTarget.html +617 -0
- data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +617 -0
- data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +617 -0
- data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +1143 -0
- data/doc/NgrokAPI/Models/SSHCredential.html +1149 -0
- data/doc/NgrokAPI/Models/SSHHostCertificate.html +1513 -0
- data/doc/NgrokAPI/Models/SSHUserCertificate.html +1661 -0
- data/doc/NgrokAPI/Models/TLSCertificate.html +2179 -0
- data/doc/NgrokAPI/Models/TLSCertificateSANs.html +617 -0
- data/doc/NgrokAPI/Models/Tunnel.html +987 -0
- data/doc/NgrokAPI/Models/TunnelSession.html +1209 -0
- data/doc/NgrokAPI/Models.html +4 -4
- data/doc/NgrokAPI/PagedIterator.html +1 -1
- data/{docs/NgrokAPI/Services/ApiKeysClient.html → doc/NgrokAPI/Services/APIKeysClient.html} +287 -151
- data/doc/NgrokAPI/Services/AbuseReportsClient.html +723 -0
- data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +1489 -0
- data/doc/NgrokAPI/Services/CredentialsClient.html +1534 -0
- data/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointConfigurationsClient.html +473 -371
- data/doc/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointLoggingModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointOAuthModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointOIDCModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointSAMLModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EventDestinationsClient.html +1609 -0
- data/doc/NgrokAPI/Services/EventSourcesClient.html +1348 -0
- data/doc/NgrokAPI/Services/EventStreamsClient.html +1691 -0
- data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +1603 -0
- data/doc/NgrokAPI/Services/IPPoliciesClient.html +1488 -0
- data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +1550 -0
- data/doc/NgrokAPI/Services/IPRestrictionsClient.html +1620 -0
- data/doc/NgrokAPI/Services/IPWhitelistClient.html +1488 -0
- data/doc/NgrokAPI/Services/ReservedAddrsClient.html +1793 -0
- data/doc/NgrokAPI/Services/ReservedDomainsClient.html +518 -333
- data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1532 -0
- data/doc/NgrokAPI/Services/SSHCredentialsClient.html +1552 -0
- data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +1573 -0
- data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +1617 -0
- data/{docs/NgrokAPI/Services/TlsCertificatesClient.html → doc/NgrokAPI/Services/TLSCertificatesClient.html} +290 -198
- data/doc/NgrokAPI/Services/TunnelSessionsClient.html +1468 -0
- data/doc/NgrokAPI/Services/TunnelsClient.html +513 -0
- data/doc/NgrokAPI/Services.html +4 -4
- data/doc/NgrokAPI.html +3 -3
- data/doc/_index.html +624 -28
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +1 -1
- data/doc/index.html +1 -1
- data/doc/method_list.html +7318 -286
- data/doc/top-level-namespace.html +1 -1
- data/docs/.gitkeep +0 -0
- data/docs/NgrokAPI/Client.html +1499 -125
- data/docs/NgrokAPI/Error.html +1 -1
- data/docs/NgrokAPI/Errors/NotFoundError.html +1 -1
- data/docs/NgrokAPI/Errors.html +1 -1
- data/docs/NgrokAPI/HttpClient.html +1 -1
- data/docs/NgrokAPI/Models/{ApiKey.html → APIKey.html} +108 -177
- data/docs/NgrokAPI/Models/AWSAuth.html +617 -0
- data/docs/NgrokAPI/Models/AWSCredentials.html +617 -0
- data/docs/NgrokAPI/Models/AWSRole.html +543 -0
- data/docs/NgrokAPI/Models/AbuseReport.html +987 -0
- data/docs/NgrokAPI/Models/AbuseReportHostname.html +617 -0
- data/docs/NgrokAPI/Models/CertificateAuthority.html +1439 -0
- data/docs/NgrokAPI/Models/Credential.html +1149 -0
- data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +913 -0
- data/docs/NgrokAPI/Models/EndpointCompression.html +543 -0
- data/docs/NgrokAPI/Models/EndpointConfiguration.html +1321 -510
- data/docs/NgrokAPI/Models/EndpointIPPolicy.html +617 -0
- data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +617 -0
- data/docs/NgrokAPI/Models/EndpointLogging.html +617 -0
- data/docs/NgrokAPI/Models/EndpointLoggingMutate.html +617 -0
- data/docs/NgrokAPI/Models/EndpointMutualTLS.html +617 -0
- data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +617 -0
- data/docs/NgrokAPI/Models/EndpointOAuth.html +987 -0
- data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +839 -0
- data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +987 -0
- data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +839 -0
- data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +839 -0
- data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +765 -0
- data/docs/NgrokAPI/Models/EndpointOIDC.html +1135 -0
- data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +691 -0
- data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +691 -0
- data/docs/NgrokAPI/Models/EndpointSAML.html +1653 -0
- data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +1283 -0
- data/docs/NgrokAPI/Models/EndpointTLSTermination.html +691 -0
- data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +691 -0
- data/docs/NgrokAPI/Models/EventDestination.html +1058 -0
- data/docs/NgrokAPI/Models/EventSource.html +765 -0
- data/docs/NgrokAPI/Models/EventSourceReplace.html +691 -0
- data/docs/NgrokAPI/Models/EventStream.html +1309 -0
- data/docs/NgrokAPI/Models/EventSubscription.html +1058 -0
- data/docs/NgrokAPI/Models/EventTarget.html +765 -0
- data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +617 -0
- data/docs/NgrokAPI/Models/EventTargetFirehose.html +617 -0
- data/docs/NgrokAPI/Models/EventTargetKinesis.html +617 -0
- data/docs/NgrokAPI/Models/IPPolicy.html +1069 -0
- data/docs/NgrokAPI/Models/IPPolicyRule.html +1149 -0
- data/docs/NgrokAPI/Models/IPRestriction.html +1132 -0
- data/docs/NgrokAPI/Models/{TlsCertificate.html → IPWhitelistEntry.html} +168 -163
- data/docs/NgrokAPI/Models/Listable.html +1 -1
- data/docs/NgrokAPI/Models/Ref.html +617 -0
- data/docs/NgrokAPI/Models/ReservedAddr.html +1132 -0
- data/docs/NgrokAPI/Models/ReservedDomain.html +111 -1107
- data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +839 -0
- data/docs/NgrokAPI/Models/ReservedDomainCertNSTarget.html +617 -0
- data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +617 -0
- data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +617 -0
- data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +1143 -0
- data/docs/NgrokAPI/Models/SSHCredential.html +1149 -0
- data/docs/NgrokAPI/Models/SSHHostCertificate.html +1513 -0
- data/docs/NgrokAPI/Models/SSHUserCertificate.html +1661 -0
- data/docs/NgrokAPI/Models/TLSCertificate.html +2179 -0
- data/docs/NgrokAPI/Models/TLSCertificateSANs.html +617 -0
- data/docs/NgrokAPI/Models/Tunnel.html +987 -0
- data/docs/NgrokAPI/Models/TunnelSession.html +1209 -0
- data/docs/NgrokAPI/Models.html +4 -4
- data/docs/NgrokAPI/PagedIterator.html +1 -1
- data/{doc/NgrokAPI/Services/ApiKeysClient.html → docs/NgrokAPI/Services/APIKeysClient.html} +287 -151
- data/docs/NgrokAPI/Services/AbuseReportsClient.html +723 -0
- data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +1489 -0
- data/docs/NgrokAPI/Services/CredentialsClient.html +1534 -0
- data/docs/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointCompressionModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointConfigurationsClient.html +473 -371
- data/docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointLoggingModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointOAuthModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointOIDCModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointSAMLModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EventDestinationsClient.html +1609 -0
- data/docs/NgrokAPI/Services/EventSourcesClient.html +1348 -0
- data/docs/NgrokAPI/Services/EventStreamsClient.html +1691 -0
- data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +1603 -0
- data/docs/NgrokAPI/Services/IPPoliciesClient.html +1488 -0
- data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +1550 -0
- data/docs/NgrokAPI/Services/IPRestrictionsClient.html +1620 -0
- data/docs/NgrokAPI/Services/IPWhitelistClient.html +1488 -0
- data/docs/NgrokAPI/Services/ReservedAddrsClient.html +1793 -0
- data/docs/NgrokAPI/Services/ReservedDomainsClient.html +518 -333
- data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1532 -0
- data/docs/NgrokAPI/Services/SSHCredentialsClient.html +1552 -0
- data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +1573 -0
- data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +1617 -0
- data/{doc/NgrokAPI/Services/TlsCertificatesClient.html → docs/NgrokAPI/Services/TLSCertificatesClient.html} +290 -198
- data/docs/NgrokAPI/Services/TunnelSessionsClient.html +1468 -0
- data/docs/NgrokAPI/Services/TunnelsClient.html +513 -0
- data/docs/NgrokAPI/Services.html +4 -4
- data/docs/NgrokAPI.html +3 -3
- data/docs/_index.html +624 -28
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +1 -1
- data/docs/index.html +1 -1
- data/docs/method_list.html +7318 -286
- data/docs/top-level-namespace.html +1 -1
- data/lib/ngrokapi/client.rb +218 -49
- data/lib/ngrokapi/models/abuse_report.rb +37 -0
- data/lib/ngrokapi/models/abuse_report_hostname.rb +27 -0
- data/lib/ngrokapi/models/api_key.rb +62 -64
- data/lib/ngrokapi/models/aws_auth.rb +27 -0
- data/lib/ngrokapi/models/aws_credentials.rb +27 -0
- data/lib/ngrokapi/models/aws_role.rb +25 -0
- data/lib/ngrokapi/models/certificate_authority.rb +72 -0
- data/lib/ngrokapi/models/credential.rb +67 -0
- data/lib/ngrokapi/models/endpoint_circuit_breaker.rb +35 -0
- data/lib/ngrokapi/models/endpoint_compression.rb +25 -0
- data/lib/ngrokapi/models/endpoint_configuration.rb +130 -119
- data/lib/ngrokapi/models/endpoint_ip_policy.rb +27 -0
- data/lib/ngrokapi/models/endpoint_ip_policy_mutate.rb +27 -0
- data/lib/ngrokapi/models/endpoint_logging.rb +27 -0
- data/lib/ngrokapi/models/endpoint_logging_mutate.rb +27 -0
- data/lib/ngrokapi/models/endpoint_mutual_tls.rb +27 -0
- data/lib/ngrokapi/models/endpoint_mutual_tls_mutate.rb +27 -0
- data/lib/ngrokapi/models/endpoint_o_auth.rb +37 -0
- data/lib/ngrokapi/models/endpoint_o_auth_facebook.rb +33 -0
- data/lib/ngrokapi/models/endpoint_o_auth_git_hub.rb +37 -0
- data/lib/ngrokapi/models/endpoint_o_auth_google.rb +33 -0
- data/lib/ngrokapi/models/endpoint_o_auth_microsoft.rb +33 -0
- data/lib/ngrokapi/models/endpoint_o_auth_provider.rb +31 -0
- data/lib/ngrokapi/models/endpoint_oidc.rb +41 -0
- data/lib/ngrokapi/models/endpoint_request_headers.rb +29 -0
- data/lib/ngrokapi/models/endpoint_response_headers.rb +29 -0
- data/lib/ngrokapi/models/endpoint_saml.rb +55 -0
- data/lib/ngrokapi/models/endpoint_saml_mutate.rb +45 -0
- data/lib/ngrokapi/models/endpoint_tls_termination.rb +29 -0
- data/lib/ngrokapi/models/endpoint_webhook_validation.rb +29 -0
- data/lib/ngrokapi/models/event_destination.rb +49 -0
- data/lib/ngrokapi/models/event_source.rb +31 -0
- data/lib/ngrokapi/models/event_source_replace.rb +29 -0
- data/lib/ngrokapi/models/event_stream.rb +77 -0
- data/lib/ngrokapi/models/event_subscription.rb +47 -0
- data/lib/ngrokapi/models/event_target.rb +31 -0
- data/lib/ngrokapi/models/event_target_cloudwatch_logs.rb +27 -0
- data/lib/ngrokapi/models/event_target_firehose.rb +27 -0
- data/lib/ngrokapi/models/event_target_kinesis.rb +27 -0
- data/lib/ngrokapi/models/ip_policy.rb +64 -0
- data/lib/ngrokapi/models/ip_policy_rule.rb +67 -0
- data/lib/ngrokapi/models/ip_restriction.rb +49 -0
- data/lib/ngrokapi/models/ip_whitelist_entry.rb +62 -0
- data/lib/ngrokapi/models/ref.rb +27 -0
- data/lib/ngrokapi/models/reserved_addr.rb +49 -0
- data/lib/ngrokapi/models/reserved_domain.rb +59 -211
- data/lib/ngrokapi/models/reserved_domain_cert_job.rb +33 -0
- data/lib/ngrokapi/models/reserved_domain_cert_ns_target.rb +27 -0
- data/lib/ngrokapi/models/reserved_domain_cert_policy.rb +27 -0
- data/lib/ngrokapi/models/reserved_domain_cert_status.rb +27 -0
- data/lib/ngrokapi/models/ssh_certificate_authority.rb +64 -0
- data/lib/ngrokapi/models/ssh_credential.rb +67 -0
- data/lib/ngrokapi/models/ssh_host_certificate.rb +74 -0
- data/lib/ngrokapi/models/ssh_user_certificate.rb +78 -0
- data/lib/ngrokapi/models/tls_certificate.rb +92 -62
- data/lib/ngrokapi/models/tls_certificate_sa_ns.rb +27 -0
- data/lib/ngrokapi/models/tunnel.rb +37 -0
- data/lib/ngrokapi/models/tunnel_session.rb +43 -0
- data/lib/ngrokapi/services/.gitkeep +0 -0
- data/lib/ngrokapi/services/abuse_reports_client.rb +84 -0
- data/lib/ngrokapi/services/api_keys_client.rb +203 -144
- data/lib/ngrokapi/services/certificate_authorities_client.rb +204 -0
- data/lib/ngrokapi/services/credentials_client.rb +212 -0
- data/lib/ngrokapi/services/endpoint_circuit_breaker_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_compression_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_configurations_client.rb +324 -313
- data/lib/ngrokapi/services/endpoint_ip_policy_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_logging_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_mutual_tls_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_o_auth_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_oidc_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_request_headers_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_response_headers_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_saml_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_tls_termination_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_webhook_validation_module_client.rb +122 -0
- data/lib/ngrokapi/services/event_destinations_client.rb +222 -0
- data/lib/ngrokapi/services/event_sources_client.rb +177 -0
- data/lib/ngrokapi/services/event_streams_client.rb +226 -0
- data/lib/ngrokapi/services/event_subscriptions_client.rb +213 -0
- data/lib/ngrokapi/services/ip_policies_client.rb +208 -0
- data/lib/ngrokapi/services/ip_policy_rules_client.rb +210 -0
- data/lib/ngrokapi/services/ip_restrictions_client.rb +223 -0
- data/lib/ngrokapi/services/ip_whitelist_client.rb +202 -0
- data/lib/ngrokapi/services/reserved_addrs_client.rb +246 -0
- data/lib/ngrokapi/services/reserved_domains_client.rb +382 -313
- data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +207 -0
- data/lib/ngrokapi/services/ssh_credentials_client.rb +211 -0
- data/lib/ngrokapi/services/ssh_host_certificates_client.rb +214 -0
- data/lib/ngrokapi/services/ssh_user_certificates_client.rb +220 -0
- data/lib/ngrokapi/services/tls_certificates_client.rb +207 -161
- data/lib/ngrokapi/services/tunnel_sessions_client.rb +228 -0
- data/lib/ngrokapi/services/tunnels_client.rb +51 -0
- data/lib/ngrokapi/version.rb +1 -1
- data/spec/ngrokapi/client_spec.rb +139 -33
- data/spec/ngrokapi/models/abuse_report_hostname_spec.rb +21 -0
- data/spec/ngrokapi/models/abuse_report_spec.rb +21 -0
- data/spec/ngrokapi/models/api_key_spec.rb +42 -43
- data/spec/ngrokapi/models/aws_auth_spec.rb +21 -0
- data/spec/ngrokapi/models/aws_credentials_spec.rb +21 -0
- data/spec/ngrokapi/models/aws_role_spec.rb +21 -0
- data/spec/ngrokapi/models/certificate_authority_spec.rb +42 -0
- data/spec/ngrokapi/models/credential_spec.rb +45 -0
- data/spec/ngrokapi/models/endpoint_circuit_breaker_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_compression_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_configuration_spec.rb +78 -0
- data/spec/ngrokapi/models/endpoint_ip_policy_mutate_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_ip_policy_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_logging_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_mutual_tls_mutate_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_mutual_tls_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_facebook_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_git_hub_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_google_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_microsoft_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_provider_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_oidc_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_request_headers_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_response_headers_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_saml_mutate_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_saml_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_tls_termination_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_webhook_validation_spec.rb +21 -0
- data/spec/ngrokapi/models/event_destination_spec.rb +28 -0
- data/spec/ngrokapi/models/event_source_replace_spec.rb +21 -0
- data/spec/ngrokapi/models/event_source_spec.rb +21 -0
- data/spec/ngrokapi/models/event_stream_spec.rb +51 -0
- data/spec/ngrokapi/models/event_subscription_spec.rb +28 -0
- data/spec/ngrokapi/models/event_target_cloudwatch_logs_spec.rb +21 -0
- data/spec/ngrokapi/models/event_target_firehose_spec.rb +21 -0
- data/spec/ngrokapi/models/event_target_kinesis_spec.rb +21 -0
- data/spec/ngrokapi/models/event_target_spec.rb +21 -0
- data/spec/ngrokapi/models/ip_policy_rule_spec.rb +45 -0
- data/spec/ngrokapi/models/ip_policy_spec.rb +42 -0
- data/spec/ngrokapi/models/ip_restriction_spec.rb +28 -0
- data/spec/ngrokapi/models/ip_whitelist_entry_spec.rb +42 -0
- data/spec/ngrokapi/models/listable_spec.rb +4 -4
- data/spec/ngrokapi/models/ref_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_addr_spec.rb +28 -0
- data/spec/ngrokapi/models/reserved_domain_cert_job_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_domain_cert_ns_target_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_domain_cert_policy_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_domain_cert_status_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_domain_spec.rb +28 -100
- data/spec/ngrokapi/models/ssh_certificate_authority_spec.rb +42 -0
- data/spec/ngrokapi/models/ssh_credential_spec.rb +45 -0
- data/spec/ngrokapi/models/ssh_host_certificate_spec.rb +42 -0
- data/spec/ngrokapi/models/ssh_user_certificate_spec.rb +42 -0
- data/spec/ngrokapi/models/tls_certificate_sa_ns_spec.rb +21 -0
- data/spec/ngrokapi/models/tls_certificate_spec.rb +42 -0
- data/spec/ngrokapi/models/tunnel_session_spec.rb +21 -0
- data/spec/ngrokapi/models/tunnel_spec.rb +21 -0
- data/spec/ngrokapi/paged_iterator_spec.rb +5 -5
- data/spec/ngrokapi/services/.gitkeep +0 -0
- data/spec/ngrokapi/services/abuse_reports_client_spec.rb +67 -0
- data/spec/ngrokapi/services/api_keys_client_spec.rb +160 -127
- data/spec/ngrokapi/services/certificate_authorities_client_spec.rb +162 -0
- data/spec/ngrokapi/services/credentials_client_spec.rb +166 -0
- data/spec/ngrokapi/services/endpoint_circuit_breaker_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_compression_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +240 -0
- data/spec/ngrokapi/services/endpoint_ip_policy_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_logging_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_mutual_tls_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_o_auth_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_oidc_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_request_headers_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_response_headers_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_saml_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_tls_termination_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_webhook_validation_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/event_destinations_client_spec.rb +175 -0
- data/spec/ngrokapi/services/event_sources_client_spec.rb +162 -0
- data/spec/ngrokapi/services/event_streams_client_spec.rb +180 -0
- data/spec/ngrokapi/services/event_subscriptions_client_spec.rb +172 -0
- data/spec/ngrokapi/services/ip_policies_client_spec.rb +162 -0
- data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +168 -0
- data/spec/ngrokapi/services/ip_restrictions_client_spec.rb +174 -0
- data/spec/ngrokapi/services/ip_whitelist_client_spec.rb +162 -0
- data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +209 -0
- data/spec/ngrokapi/services/reserved_domains_client_spec.rb +352 -0
- data/spec/ngrokapi/services/ssh_certificate_authorities_client_spec.rb +166 -0
- data/spec/ngrokapi/services/ssh_credentials_client_spec.rb +168 -0
- data/spec/ngrokapi/services/ssh_host_certificates_client_spec.rb +170 -0
- data/spec/ngrokapi/services/ssh_user_certificates_client_spec.rb +174 -0
- data/spec/ngrokapi/services/tls_certificates_client_spec.rb +164 -0
- data/spec/ngrokapi/services/tunnel_sessions_client_spec.rb +184 -0
- data/spec/ngrokapi/services/tunnels_client_spec.rb +21 -0
- data/spec/spec_helper.rb +958 -0
- metadata +355 -10
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module NgrokAPI
|
|
4
|
+
module Services
|
|
5
|
+
##
|
|
6
|
+
# An IP restriction is a restriction placed on the CIDRs that are allowed to
|
|
7
|
+
# initate traffic to a specific aspect of your ngrok account. An IP
|
|
8
|
+
# restriction has a type which defines the ingress it applies to. IP
|
|
9
|
+
# restrictions can be used to enforce the source IPs that can make API
|
|
10
|
+
# requests, log in to the dashboard, start ngrok agents, and connect to your
|
|
11
|
+
# public-facing endpoints.
|
|
12
|
+
#
|
|
13
|
+
# https://ngrok.com/docs/api#api-ip-restrictions
|
|
14
|
+
class IPRestrictionsClient
|
|
15
|
+
# The API path for the requests
|
|
16
|
+
PATH = '/ip_restrictions'
|
|
17
|
+
# The List Property from the resulting API for list calls
|
|
18
|
+
LIST_PROPERTY = 'ip_restrictions'
|
|
19
|
+
|
|
20
|
+
attr_reader :client
|
|
21
|
+
|
|
22
|
+
def initialize(client:)
|
|
23
|
+
@client = client
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
##
|
|
27
|
+
# Create a new IP restriction
|
|
28
|
+
#
|
|
29
|
+
# @param [string] description human-readable description of this IP restriction. optional, max 255 bytes.
|
|
30
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
|
|
31
|
+
# @param [boolean] enforced true if the IP restriction will be enforced. if false, only warnings will be issued
|
|
32
|
+
# @param [string] type the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: ``dashboard``, ``api``, ``agent``, and ``endpoints``
|
|
33
|
+
# @param [List<string>] ip_policy_ids the set of IP policy identifiers that are used to enforce the restriction
|
|
34
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
35
|
+
#
|
|
36
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-create
|
|
37
|
+
def create(
|
|
38
|
+
description: "",
|
|
39
|
+
metadata: "",
|
|
40
|
+
enforced: False,
|
|
41
|
+
type:,
|
|
42
|
+
ip_policy_ids:
|
|
43
|
+
)
|
|
44
|
+
path = '/ip_restrictions'
|
|
45
|
+
replacements = {
|
|
46
|
+
}
|
|
47
|
+
data = {}
|
|
48
|
+
data[:description] = description if description
|
|
49
|
+
data[:metadata] = metadata if metadata
|
|
50
|
+
data[:enforced] = enforced if enforced
|
|
51
|
+
data[:type] = type if type
|
|
52
|
+
data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids
|
|
53
|
+
result = @client.post(path % replacements, data: data)
|
|
54
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
##
|
|
58
|
+
# Delete an IP restriction
|
|
59
|
+
#
|
|
60
|
+
# @param [string] id a resource identifier
|
|
61
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
62
|
+
#
|
|
63
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-delete
|
|
64
|
+
def delete(
|
|
65
|
+
id: ""
|
|
66
|
+
)
|
|
67
|
+
path = '/ip_restrictions/%{id}'
|
|
68
|
+
replacements = {
|
|
69
|
+
id: id,
|
|
70
|
+
}
|
|
71
|
+
@client.delete(path % replacements)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
##
|
|
75
|
+
# Delete an IP restriction
|
|
76
|
+
# Throws an exception if API error.
|
|
77
|
+
#
|
|
78
|
+
# @param [string] id a resource identifier
|
|
79
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
80
|
+
#
|
|
81
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-delete
|
|
82
|
+
def delete!(
|
|
83
|
+
id: ""
|
|
84
|
+
)
|
|
85
|
+
path = '/ip_restrictions/%{id}'
|
|
86
|
+
replacements = {
|
|
87
|
+
id: id,
|
|
88
|
+
}
|
|
89
|
+
@client.delete(path % replacements, danger: true)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
##
|
|
93
|
+
# Get detailed information about an IP restriction
|
|
94
|
+
#
|
|
95
|
+
# @param [string] id a resource identifier
|
|
96
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
97
|
+
#
|
|
98
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-get
|
|
99
|
+
def get(
|
|
100
|
+
id: ""
|
|
101
|
+
)
|
|
102
|
+
path = '/ip_restrictions/%{id}'
|
|
103
|
+
replacements = {
|
|
104
|
+
id: id,
|
|
105
|
+
}
|
|
106
|
+
data = {}
|
|
107
|
+
result = @client.get(path % replacements, data: data)
|
|
108
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
##
|
|
112
|
+
# Get detailed information about an IP restriction
|
|
113
|
+
# Throws an exception if API error.
|
|
114
|
+
#
|
|
115
|
+
# @param [string] id a resource identifier
|
|
116
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
117
|
+
#
|
|
118
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-get
|
|
119
|
+
def get!(
|
|
120
|
+
id: ""
|
|
121
|
+
)
|
|
122
|
+
path = '/ip_restrictions/%{id}'
|
|
123
|
+
replacements = {
|
|
124
|
+
id: id,
|
|
125
|
+
}
|
|
126
|
+
data = {}
|
|
127
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
128
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
##
|
|
132
|
+
# List all IP restrictions on this account
|
|
133
|
+
#
|
|
134
|
+
# @param [string] before_id
|
|
135
|
+
# @param [string] limit
|
|
136
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
137
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
138
|
+
#
|
|
139
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-list
|
|
140
|
+
def list(
|
|
141
|
+
before_id: nil,
|
|
142
|
+
limit: nil,
|
|
143
|
+
url: nil
|
|
144
|
+
)
|
|
145
|
+
result = @client.list(
|
|
146
|
+
before_id: before_id,
|
|
147
|
+
limit: limit,
|
|
148
|
+
url: url,
|
|
149
|
+
path: PATH
|
|
150
|
+
)
|
|
151
|
+
NgrokAPI::Models::Listable.new(
|
|
152
|
+
client: self,
|
|
153
|
+
result: result,
|
|
154
|
+
list_property: LIST_PROPERTY,
|
|
155
|
+
klass: NgrokAPI::Models::IPRestriction
|
|
156
|
+
)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
##
|
|
160
|
+
# Update attributes of an IP restriction by ID
|
|
161
|
+
#
|
|
162
|
+
# @param [string] id
|
|
163
|
+
# @param [string] description human-readable description of this IP restriction. optional, max 255 bytes.
|
|
164
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
|
|
165
|
+
# @param [boolean] enforced true if the IP restriction will be enforced. if false, only warnings will be issued
|
|
166
|
+
# @param [List<string>] ip_policy_ids the set of IP policy identifiers that are used to enforce the restriction
|
|
167
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
168
|
+
#
|
|
169
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-update
|
|
170
|
+
def update(
|
|
171
|
+
id: "",
|
|
172
|
+
description: nil,
|
|
173
|
+
metadata: nil,
|
|
174
|
+
enforced: nil,
|
|
175
|
+
ip_policy_ids: []
|
|
176
|
+
)
|
|
177
|
+
path = '/ip_restrictions/%{id}'
|
|
178
|
+
replacements = {
|
|
179
|
+
id: id,
|
|
180
|
+
}
|
|
181
|
+
data = {}
|
|
182
|
+
data[:description] = description if description
|
|
183
|
+
data[:metadata] = metadata if metadata
|
|
184
|
+
data[:enforced] = enforced if enforced
|
|
185
|
+
data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids
|
|
186
|
+
result = @client.patch(path % replacements, data: data)
|
|
187
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
##
|
|
191
|
+
# Update attributes of an IP restriction by ID
|
|
192
|
+
# Throws an exception if API error.
|
|
193
|
+
#
|
|
194
|
+
# @param [string] id
|
|
195
|
+
# @param [string] description human-readable description of this IP restriction. optional, max 255 bytes.
|
|
196
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
|
|
197
|
+
# @param [boolean] enforced true if the IP restriction will be enforced. if false, only warnings will be issued
|
|
198
|
+
# @param [List<string>] ip_policy_ids the set of IP policy identifiers that are used to enforce the restriction
|
|
199
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
200
|
+
#
|
|
201
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-update
|
|
202
|
+
def update!(
|
|
203
|
+
id: "",
|
|
204
|
+
description: nil,
|
|
205
|
+
metadata: nil,
|
|
206
|
+
enforced: nil,
|
|
207
|
+
ip_policy_ids: []
|
|
208
|
+
)
|
|
209
|
+
path = '/ip_restrictions/%{id}'
|
|
210
|
+
replacements = {
|
|
211
|
+
id: id,
|
|
212
|
+
}
|
|
213
|
+
data = {}
|
|
214
|
+
data[:description] = description if description
|
|
215
|
+
data[:metadata] = metadata if metadata
|
|
216
|
+
data[:enforced] = enforced if enforced
|
|
217
|
+
data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids
|
|
218
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
219
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
end
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module NgrokAPI
|
|
4
|
+
module Services
|
|
5
|
+
##
|
|
6
|
+
# The IP Whitelist is deprecated and will be removed. Use an IP Restriction
|
|
7
|
+
# with an endpoints type instead.
|
|
8
|
+
#
|
|
9
|
+
# https://ngrok.com/docs/api#api-ip-whitelist
|
|
10
|
+
class IPWhitelistClient
|
|
11
|
+
# The API path for the requests
|
|
12
|
+
PATH = '/ip_whitelist'
|
|
13
|
+
# The List Property from the resulting API for list calls
|
|
14
|
+
LIST_PROPERTY = 'whitelist'
|
|
15
|
+
|
|
16
|
+
attr_reader :client
|
|
17
|
+
|
|
18
|
+
def initialize(client:)
|
|
19
|
+
@client = client
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# Create a new IP whitelist entry that will restrict traffic to all tunnel
|
|
24
|
+
# endpoints on the account.
|
|
25
|
+
#
|
|
26
|
+
# @param [string] description human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes.
|
|
27
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes.
|
|
28
|
+
# @param [string] ip_net an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints
|
|
29
|
+
# @return [NgrokAPI::Models::IPWhitelistEntry] result from the API request
|
|
30
|
+
#
|
|
31
|
+
# https://ngrok.com/docs/api#api-ip-whitelist-create
|
|
32
|
+
def create(
|
|
33
|
+
description: "",
|
|
34
|
+
metadata: "",
|
|
35
|
+
ip_net: ""
|
|
36
|
+
)
|
|
37
|
+
path = '/ip_whitelist'
|
|
38
|
+
replacements = {
|
|
39
|
+
}
|
|
40
|
+
data = {}
|
|
41
|
+
data[:description] = description if description
|
|
42
|
+
data[:metadata] = metadata if metadata
|
|
43
|
+
data[:ip_net] = ip_net if ip_net
|
|
44
|
+
result = @client.post(path % replacements, data: data)
|
|
45
|
+
NgrokAPI::Models::IPWhitelistEntry.new(client: self, result: result)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
##
|
|
49
|
+
# Delete an IP whitelist entry.
|
|
50
|
+
#
|
|
51
|
+
# @param [string] id a resource identifier
|
|
52
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
53
|
+
#
|
|
54
|
+
# https://ngrok.com/docs/api#api-ip-whitelist-delete
|
|
55
|
+
def delete(
|
|
56
|
+
id: ""
|
|
57
|
+
)
|
|
58
|
+
path = '/ip_whitelist/%{id}'
|
|
59
|
+
replacements = {
|
|
60
|
+
id: id,
|
|
61
|
+
}
|
|
62
|
+
@client.delete(path % replacements)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
##
|
|
66
|
+
# Delete an IP whitelist entry.
|
|
67
|
+
# Throws an exception if API error.
|
|
68
|
+
#
|
|
69
|
+
# @param [string] id a resource identifier
|
|
70
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
71
|
+
#
|
|
72
|
+
# https://ngrok.com/docs/api#api-ip-whitelist-delete
|
|
73
|
+
def delete!(
|
|
74
|
+
id: ""
|
|
75
|
+
)
|
|
76
|
+
path = '/ip_whitelist/%{id}'
|
|
77
|
+
replacements = {
|
|
78
|
+
id: id,
|
|
79
|
+
}
|
|
80
|
+
@client.delete(path % replacements, danger: true)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
##
|
|
84
|
+
# Get detailed information about an IP whitelist entry by ID.
|
|
85
|
+
#
|
|
86
|
+
# @param [string] id a resource identifier
|
|
87
|
+
# @return [NgrokAPI::Models::IPWhitelistEntry] result from the API request
|
|
88
|
+
#
|
|
89
|
+
# https://ngrok.com/docs/api#api-ip-whitelist-get
|
|
90
|
+
def get(
|
|
91
|
+
id: ""
|
|
92
|
+
)
|
|
93
|
+
path = '/ip_whitelist/%{id}'
|
|
94
|
+
replacements = {
|
|
95
|
+
id: id,
|
|
96
|
+
}
|
|
97
|
+
data = {}
|
|
98
|
+
result = @client.get(path % replacements, data: data)
|
|
99
|
+
NgrokAPI::Models::IPWhitelistEntry.new(client: self, result: result)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
##
|
|
103
|
+
# Get detailed information about an IP whitelist entry by ID.
|
|
104
|
+
# Throws an exception if API error.
|
|
105
|
+
#
|
|
106
|
+
# @param [string] id a resource identifier
|
|
107
|
+
# @return [NgrokAPI::Models::IPWhitelistEntry] result from the API request
|
|
108
|
+
#
|
|
109
|
+
# https://ngrok.com/docs/api#api-ip-whitelist-get
|
|
110
|
+
def get!(
|
|
111
|
+
id: ""
|
|
112
|
+
)
|
|
113
|
+
path = '/ip_whitelist/%{id}'
|
|
114
|
+
replacements = {
|
|
115
|
+
id: id,
|
|
116
|
+
}
|
|
117
|
+
data = {}
|
|
118
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
119
|
+
NgrokAPI::Models::IPWhitelistEntry.new(client: self, result: result)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
##
|
|
123
|
+
# List all IP whitelist entries on this account
|
|
124
|
+
#
|
|
125
|
+
# @param [string] before_id
|
|
126
|
+
# @param [string] limit
|
|
127
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
128
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
129
|
+
#
|
|
130
|
+
# https://ngrok.com/docs/api#api-ip-whitelist-list
|
|
131
|
+
def list(
|
|
132
|
+
before_id: nil,
|
|
133
|
+
limit: nil,
|
|
134
|
+
url: nil
|
|
135
|
+
)
|
|
136
|
+
result = @client.list(
|
|
137
|
+
before_id: before_id,
|
|
138
|
+
limit: limit,
|
|
139
|
+
url: url,
|
|
140
|
+
path: PATH
|
|
141
|
+
)
|
|
142
|
+
NgrokAPI::Models::Listable.new(
|
|
143
|
+
client: self,
|
|
144
|
+
result: result,
|
|
145
|
+
list_property: LIST_PROPERTY,
|
|
146
|
+
klass: NgrokAPI::Models::IPWhitelistEntry
|
|
147
|
+
)
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
##
|
|
151
|
+
# Update attributes of an IP whitelist entry by ID
|
|
152
|
+
#
|
|
153
|
+
# @param [string] id
|
|
154
|
+
# @param [string] description human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes.
|
|
155
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes.
|
|
156
|
+
# @return [NgrokAPI::Models::IPWhitelistEntry] result from the API request
|
|
157
|
+
#
|
|
158
|
+
# https://ngrok.com/docs/api#api-ip-whitelist-update
|
|
159
|
+
def update(
|
|
160
|
+
id: "",
|
|
161
|
+
description: nil,
|
|
162
|
+
metadata: nil
|
|
163
|
+
)
|
|
164
|
+
path = '/ip_whitelist/%{id}'
|
|
165
|
+
replacements = {
|
|
166
|
+
id: id,
|
|
167
|
+
}
|
|
168
|
+
data = {}
|
|
169
|
+
data[:description] = description if description
|
|
170
|
+
data[:metadata] = metadata if metadata
|
|
171
|
+
result = @client.patch(path % replacements, data: data)
|
|
172
|
+
NgrokAPI::Models::IPWhitelistEntry.new(client: self, result: result)
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
##
|
|
176
|
+
# Update attributes of an IP whitelist entry by ID
|
|
177
|
+
# Throws an exception if API error.
|
|
178
|
+
#
|
|
179
|
+
# @param [string] id
|
|
180
|
+
# @param [string] description human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes.
|
|
181
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes.
|
|
182
|
+
# @return [NgrokAPI::Models::IPWhitelistEntry] result from the API request
|
|
183
|
+
#
|
|
184
|
+
# https://ngrok.com/docs/api#api-ip-whitelist-update
|
|
185
|
+
def update!(
|
|
186
|
+
id: "",
|
|
187
|
+
description: nil,
|
|
188
|
+
metadata: nil
|
|
189
|
+
)
|
|
190
|
+
path = '/ip_whitelist/%{id}'
|
|
191
|
+
replacements = {
|
|
192
|
+
id: id,
|
|
193
|
+
}
|
|
194
|
+
data = {}
|
|
195
|
+
data[:description] = description if description
|
|
196
|
+
data[:metadata] = metadata if metadata
|
|
197
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
198
|
+
NgrokAPI::Models::IPWhitelistEntry.new(client: self, result: result)
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
end
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module NgrokAPI
|
|
4
|
+
module Services
|
|
5
|
+
##
|
|
6
|
+
# Reserved Addresses are TCP addresses that can be used to listen for traffic.
|
|
7
|
+
# TCP address hostnames and ports are assigned by ngrok, they cannot be
|
|
8
|
+
# chosen.
|
|
9
|
+
#
|
|
10
|
+
# https://ngrok.com/docs/api#api-reserved-addrs
|
|
11
|
+
class ReservedAddrsClient
|
|
12
|
+
# The API path for the requests
|
|
13
|
+
PATH = '/reserved_addrs'
|
|
14
|
+
# The List Property from the resulting API for list calls
|
|
15
|
+
LIST_PROPERTY = 'reserved_addrs'
|
|
16
|
+
|
|
17
|
+
attr_reader :client
|
|
18
|
+
|
|
19
|
+
def initialize(client:)
|
|
20
|
+
@client = client
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
##
|
|
24
|
+
# Create a new reserved address.
|
|
25
|
+
#
|
|
26
|
+
# @param [string] description human-readable description of what this reserved address will be used for
|
|
27
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes.
|
|
28
|
+
# @param [string] region reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa)
|
|
29
|
+
# @param [string] endpoint_configuration_id ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address
|
|
30
|
+
# @return [NgrokAPI::Models::ReservedAddr] result from the API request
|
|
31
|
+
#
|
|
32
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-create
|
|
33
|
+
def create(
|
|
34
|
+
description: "",
|
|
35
|
+
metadata: "",
|
|
36
|
+
region: "",
|
|
37
|
+
endpoint_configuration_id: ""
|
|
38
|
+
)
|
|
39
|
+
path = '/reserved_addrs'
|
|
40
|
+
replacements = {
|
|
41
|
+
}
|
|
42
|
+
data = {}
|
|
43
|
+
data[:description] = description if description
|
|
44
|
+
data[:metadata] = metadata if metadata
|
|
45
|
+
data[:region] = region if region
|
|
46
|
+
data[:endpoint_configuration_id] = endpoint_configuration_id if endpoint_configuration_id
|
|
47
|
+
result = @client.post(path % replacements, data: data)
|
|
48
|
+
NgrokAPI::Models::ReservedAddr.new(client: self, result: result)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
##
|
|
52
|
+
# Delete a reserved address.
|
|
53
|
+
#
|
|
54
|
+
# @param [string] id a resource identifier
|
|
55
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
56
|
+
#
|
|
57
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-delete
|
|
58
|
+
def delete(
|
|
59
|
+
id: ""
|
|
60
|
+
)
|
|
61
|
+
path = '/reserved_addrs/%{id}'
|
|
62
|
+
replacements = {
|
|
63
|
+
id: id,
|
|
64
|
+
}
|
|
65
|
+
@client.delete(path % replacements)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
##
|
|
69
|
+
# Delete a reserved address.
|
|
70
|
+
# Throws an exception if API error.
|
|
71
|
+
#
|
|
72
|
+
# @param [string] id a resource identifier
|
|
73
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
74
|
+
#
|
|
75
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-delete
|
|
76
|
+
def delete!(
|
|
77
|
+
id: ""
|
|
78
|
+
)
|
|
79
|
+
path = '/reserved_addrs/%{id}'
|
|
80
|
+
replacements = {
|
|
81
|
+
id: id,
|
|
82
|
+
}
|
|
83
|
+
@client.delete(path % replacements, danger: true)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# Get the details of a reserved address.
|
|
88
|
+
#
|
|
89
|
+
# @param [string] id a resource identifier
|
|
90
|
+
# @return [NgrokAPI::Models::ReservedAddr] result from the API request
|
|
91
|
+
#
|
|
92
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-get
|
|
93
|
+
def get(
|
|
94
|
+
id: ""
|
|
95
|
+
)
|
|
96
|
+
path = '/reserved_addrs/%{id}'
|
|
97
|
+
replacements = {
|
|
98
|
+
id: id,
|
|
99
|
+
}
|
|
100
|
+
data = {}
|
|
101
|
+
result = @client.get(path % replacements, data: data)
|
|
102
|
+
NgrokAPI::Models::ReservedAddr.new(client: self, result: result)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
##
|
|
106
|
+
# Get the details of a reserved address.
|
|
107
|
+
# Throws an exception if API error.
|
|
108
|
+
#
|
|
109
|
+
# @param [string] id a resource identifier
|
|
110
|
+
# @return [NgrokAPI::Models::ReservedAddr] result from the API request
|
|
111
|
+
#
|
|
112
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-get
|
|
113
|
+
def get!(
|
|
114
|
+
id: ""
|
|
115
|
+
)
|
|
116
|
+
path = '/reserved_addrs/%{id}'
|
|
117
|
+
replacements = {
|
|
118
|
+
id: id,
|
|
119
|
+
}
|
|
120
|
+
data = {}
|
|
121
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
122
|
+
NgrokAPI::Models::ReservedAddr.new(client: self, result: result)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
##
|
|
126
|
+
# List all reserved addresses on this account.
|
|
127
|
+
#
|
|
128
|
+
# @param [string] before_id
|
|
129
|
+
# @param [string] limit
|
|
130
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
131
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
132
|
+
#
|
|
133
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-list
|
|
134
|
+
def list(
|
|
135
|
+
before_id: nil,
|
|
136
|
+
limit: nil,
|
|
137
|
+
url: nil
|
|
138
|
+
)
|
|
139
|
+
result = @client.list(
|
|
140
|
+
before_id: before_id,
|
|
141
|
+
limit: limit,
|
|
142
|
+
url: url,
|
|
143
|
+
path: PATH
|
|
144
|
+
)
|
|
145
|
+
NgrokAPI::Models::Listable.new(
|
|
146
|
+
client: self,
|
|
147
|
+
result: result,
|
|
148
|
+
list_property: LIST_PROPERTY,
|
|
149
|
+
klass: NgrokAPI::Models::ReservedAddr
|
|
150
|
+
)
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
##
|
|
154
|
+
# Update the attributes of a reserved address.
|
|
155
|
+
#
|
|
156
|
+
# @param [string] id
|
|
157
|
+
# @param [string] description human-readable description of what this reserved address will be used for
|
|
158
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes.
|
|
159
|
+
# @param [string] endpoint_configuration_id ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address
|
|
160
|
+
# @return [NgrokAPI::Models::ReservedAddr] result from the API request
|
|
161
|
+
#
|
|
162
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-update
|
|
163
|
+
def update(
|
|
164
|
+
id: "",
|
|
165
|
+
description: nil,
|
|
166
|
+
metadata: nil,
|
|
167
|
+
endpoint_configuration_id: nil
|
|
168
|
+
)
|
|
169
|
+
path = '/reserved_addrs/%{id}'
|
|
170
|
+
replacements = {
|
|
171
|
+
id: id,
|
|
172
|
+
}
|
|
173
|
+
data = {}
|
|
174
|
+
data[:description] = description if description
|
|
175
|
+
data[:metadata] = metadata if metadata
|
|
176
|
+
data[:endpoint_configuration_id] = endpoint_configuration_id if endpoint_configuration_id
|
|
177
|
+
result = @client.patch(path % replacements, data: data)
|
|
178
|
+
NgrokAPI::Models::ReservedAddr.new(client: self, result: result)
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
##
|
|
182
|
+
# Update the attributes of a reserved address.
|
|
183
|
+
# Throws an exception if API error.
|
|
184
|
+
#
|
|
185
|
+
# @param [string] id
|
|
186
|
+
# @param [string] description human-readable description of what this reserved address will be used for
|
|
187
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes.
|
|
188
|
+
# @param [string] endpoint_configuration_id ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address
|
|
189
|
+
# @return [NgrokAPI::Models::ReservedAddr] result from the API request
|
|
190
|
+
#
|
|
191
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-update
|
|
192
|
+
def update!(
|
|
193
|
+
id: "",
|
|
194
|
+
description: nil,
|
|
195
|
+
metadata: nil,
|
|
196
|
+
endpoint_configuration_id: nil
|
|
197
|
+
)
|
|
198
|
+
path = '/reserved_addrs/%{id}'
|
|
199
|
+
replacements = {
|
|
200
|
+
id: id,
|
|
201
|
+
}
|
|
202
|
+
data = {}
|
|
203
|
+
data[:description] = description if description
|
|
204
|
+
data[:metadata] = metadata if metadata
|
|
205
|
+
data[:endpoint_configuration_id] = endpoint_configuration_id if endpoint_configuration_id
|
|
206
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
207
|
+
NgrokAPI::Models::ReservedAddr.new(client: self, result: result)
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
##
|
|
211
|
+
# Detach the endpoint configuration attached to a reserved address.
|
|
212
|
+
#
|
|
213
|
+
# @param [string] id a resource identifier
|
|
214
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
215
|
+
#
|
|
216
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-delete-endpoint-config
|
|
217
|
+
def delete_endpoint_config(
|
|
218
|
+
id: ""
|
|
219
|
+
)
|
|
220
|
+
path = '/reserved_addrs/%{id}/endpoint_configuration'
|
|
221
|
+
replacements = {
|
|
222
|
+
id: id,
|
|
223
|
+
}
|
|
224
|
+
@client.delete(path % replacements)
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
##
|
|
228
|
+
# Detach the endpoint configuration attached to a reserved address.
|
|
229
|
+
# Throws an exception if API error.
|
|
230
|
+
#
|
|
231
|
+
# @param [string] id a resource identifier
|
|
232
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
233
|
+
#
|
|
234
|
+
# https://ngrok.com/docs/api#api-reserved-addrs-delete-endpoint-config
|
|
235
|
+
def delete_endpoint_config!(
|
|
236
|
+
id: ""
|
|
237
|
+
)
|
|
238
|
+
path = '/reserved_addrs/%{id}/endpoint_configuration'
|
|
239
|
+
replacements = {
|
|
240
|
+
id: id,
|
|
241
|
+
}
|
|
242
|
+
@client.delete(path % replacements, danger: true)
|
|
243
|
+
end
|
|
244
|
+
end
|
|
245
|
+
end
|
|
246
|
+
end
|