ngrok-api 0.9.0 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|