ngrok-api 0.9.0 → 0.16.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 +2 -2
- data/.yardopts +1 -0
- data/LICENSE +7 -0
- data/doc/NgrokAPI/Client.html +1469 -125
- data/doc/NgrokAPI/Error.html +3 -3
- data/doc/NgrokAPI/Errors/NotFoundError.html +3 -3
- data/doc/NgrokAPI/Errors.html +3 -3
- data/doc/NgrokAPI/HttpClient.html +66 -36
- data/doc/NgrokAPI/Models/{ApiKey.html → APIKey.html} +110 -179
- 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/AgentIngress.html +1217 -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 +1323 -512
- 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/EventSourceList.html +617 -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/{TlsCertificate.html → IPPolicy.html} +172 -167
- data/doc/NgrokAPI/Models/IPPolicyRule.html +1149 -0
- data/doc/NgrokAPI/Models/IPRestriction.html +1132 -0
- data/doc/NgrokAPI/Models/Listable.html +120 -52
- data/doc/NgrokAPI/Models/Ref.html +617 -0
- data/doc/NgrokAPI/Models/ReservedAddr.html +1132 -0
- data/doc/NgrokAPI/Models/ReservedDomain.html +186 -1108
- data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +765 -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 +6 -6
- data/doc/NgrokAPI/PagedIterator.html +16 -12
- data/{docs/NgrokAPI/Services/ApiKeysClient.html → doc/NgrokAPI/Services/APIKeysClient.html} +404 -153
- data/doc/NgrokAPI/Services/AbuseReportsClient.html +706 -0
- data/doc/NgrokAPI/Services/AgentIngressesClient.html +1600 -0
- data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +1602 -0
- data/doc/NgrokAPI/Services/CredentialsClient.html +1644 -0
- data/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointConfigurationsClient.html +503 -370
- data/doc/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointLoggingModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointOAuthModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointOIDCModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointSAMLModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1043 -0
- data/doc/NgrokAPI/Services/EventDestinationsClient.html +1712 -0
- data/doc/NgrokAPI/Services/EventSourcesClient.html +1532 -0
- data/doc/NgrokAPI/Services/EventStreamsClient.html +1792 -0
- data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +1712 -0
- data/doc/NgrokAPI/Services/IPPoliciesClient.html +1602 -0
- data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +1660 -0
- data/doc/NgrokAPI/Services/IPRestrictionsClient.html +1720 -0
- data/doc/NgrokAPI/Services/ReservedAddrsClient.html +1894 -0
- data/doc/NgrokAPI/Services/ReservedDomainsClient.html +585 -344
- data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1644 -0
- data/doc/NgrokAPI/Services/SSHCredentialsClient.html +1662 -0
- data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +1680 -0
- data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +1720 -0
- data/{docs/NgrokAPI/Services/TlsCertificatesClient.html → doc/NgrokAPI/Services/TLSCertificatesClient.html} +404 -201
- data/doc/NgrokAPI/Services/TunnelSessionsClient.html +1587 -0
- data/doc/NgrokAPI/Services/TunnelsClient.html +669 -0
- data/doc/NgrokAPI/Services.html +6 -6
- data/doc/NgrokAPI.html +5 -5
- data/doc/README +94 -0
- data/doc/_index.html +621 -25
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +55 -28
- data/doc/frames.html +1 -1
- data/doc/index.html +55 -28
- data/doc/method_list.html +7526 -286
- data/doc/top-level-namespace.html +3 -3
- data/docs/.gitkeep +0 -0
- data/docs/CNAME +1 -0
- data/docs/NgrokAPI/Client.html +1469 -125
- data/docs/NgrokAPI/Error.html +3 -3
- data/docs/NgrokAPI/Errors/NotFoundError.html +3 -3
- data/docs/NgrokAPI/Errors.html +3 -3
- data/docs/NgrokAPI/HttpClient.html +66 -36
- data/docs/NgrokAPI/Models/{ApiKey.html → APIKey.html} +110 -179
- 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/AgentIngress.html +1217 -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 +1323 -512
- 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/EventSourceList.html +617 -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/{TlsCertificate.html → IPPolicy.html} +172 -167
- data/docs/NgrokAPI/Models/IPPolicyRule.html +1149 -0
- data/docs/NgrokAPI/Models/IPRestriction.html +1132 -0
- data/docs/NgrokAPI/Models/Listable.html +120 -52
- data/docs/NgrokAPI/Models/Ref.html +617 -0
- data/docs/NgrokAPI/Models/ReservedAddr.html +1132 -0
- data/docs/NgrokAPI/Models/ReservedDomain.html +186 -1108
- data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +765 -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 +6 -6
- data/docs/NgrokAPI/PagedIterator.html +16 -12
- data/{doc/NgrokAPI/Services/ApiKeysClient.html → docs/NgrokAPI/Services/APIKeysClient.html} +404 -153
- data/docs/NgrokAPI/Services/AbuseReportsClient.html +706 -0
- data/docs/NgrokAPI/Services/AgentIngressesClient.html +1600 -0
- data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +1602 -0
- data/docs/NgrokAPI/Services/CredentialsClient.html +1644 -0
- data/docs/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointCompressionModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointConfigurationsClient.html +503 -370
- data/docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointLoggingModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointOAuthModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointOIDCModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointSAMLModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1043 -0
- data/docs/NgrokAPI/Services/EventDestinationsClient.html +1712 -0
- data/docs/NgrokAPI/Services/EventSourcesClient.html +1532 -0
- data/docs/NgrokAPI/Services/EventStreamsClient.html +1792 -0
- data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +1712 -0
- data/docs/NgrokAPI/Services/IPPoliciesClient.html +1602 -0
- data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +1660 -0
- data/docs/NgrokAPI/Services/IPRestrictionsClient.html +1720 -0
- data/docs/NgrokAPI/Services/ReservedAddrsClient.html +1894 -0
- data/docs/NgrokAPI/Services/ReservedDomainsClient.html +585 -344
- data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1644 -0
- data/docs/NgrokAPI/Services/SSHCredentialsClient.html +1662 -0
- data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +1680 -0
- data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +1720 -0
- data/{doc/NgrokAPI/Services/TlsCertificatesClient.html → docs/NgrokAPI/Services/TLSCertificatesClient.html} +404 -201
- data/docs/NgrokAPI/Services/TunnelSessionsClient.html +1587 -0
- data/docs/NgrokAPI/Services/TunnelsClient.html +669 -0
- data/docs/NgrokAPI/Services.html +6 -6
- data/docs/NgrokAPI.html +5 -5
- data/docs/README +94 -0
- data/docs/_index.html +621 -25
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +55 -28
- data/docs/frames.html +1 -1
- data/docs/index.html +55 -28
- data/docs/method_list.html +7526 -286
- data/docs/top-level-namespace.html +3 -3
- data/lib/ngrokapi/client.rb +229 -49
- data/lib/ngrokapi/http_client.rb +6 -7
- data/lib/ngrokapi/models/abuse_report.rb +37 -0
- data/lib/ngrokapi/models/abuse_report_hostname.rb +27 -0
- data/lib/ngrokapi/models/agent_ingress.rb +66 -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_list.rb +27 -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/listable.rb +13 -2
- data/lib/ngrokapi/models/ref.rb +27 -0
- data/lib/ngrokapi/models/reserved_addr.rb +49 -0
- data/lib/ngrokapi/models/reserved_domain.rb +61 -211
- data/lib/ngrokapi/models/reserved_domain_cert_job.rb +31 -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/paged_iterator.rb +4 -2
- data/lib/ngrokapi/services/.gitkeep +0 -0
- data/lib/ngrokapi/services/abuse_reports_client.rb +77 -0
- data/lib/ngrokapi/services/agent_ingresses_client.rb +206 -0
- data/lib/ngrokapi/services/api_keys_client.rb +210 -144
- data/lib/ngrokapi/services/certificate_authorities_client.rb +211 -0
- data/lib/ngrokapi/services/credentials_client.rb +217 -0
- data/lib/ngrokapi/services/endpoint_circuit_breaker_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_compression_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_configurations_client.rb +289 -313
- data/lib/ngrokapi/services/endpoint_ip_policy_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_logging_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_mutual_tls_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_o_auth_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_oidc_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_request_headers_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_response_headers_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_saml_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_tls_termination_module_client.rb +108 -0
- data/lib/ngrokapi/services/endpoint_webhook_validation_module_client.rb +108 -0
- data/lib/ngrokapi/services/event_destinations_client.rb +221 -0
- data/lib/ngrokapi/services/event_sources_client.rb +185 -0
- data/lib/ngrokapi/services/event_streams_client.rb +224 -0
- data/lib/ngrokapi/services/event_subscriptions_client.rb +215 -0
- data/lib/ngrokapi/services/ip_policies_client.rb +215 -0
- data/lib/ngrokapi/services/ip_policy_rules_client.rb +214 -0
- data/lib/ngrokapi/services/ip_restrictions_client.rb +224 -0
- data/lib/ngrokapi/services/reserved_addrs_client.rb +246 -0
- data/lib/ngrokapi/services/reserved_domains_client.rb +360 -313
- data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +212 -0
- data/lib/ngrokapi/services/ssh_credentials_client.rb +215 -0
- data/lib/ngrokapi/services/ssh_host_certificates_client.rb +217 -0
- data/lib/ngrokapi/services/ssh_user_certificates_client.rb +221 -0
- data/lib/ngrokapi/services/tls_certificates_client.rb +213 -161
- data/lib/ngrokapi/services/tunnel_sessions_client.rb +237 -0
- data/lib/ngrokapi/services/tunnels_client.rb +78 -0
- data/lib/ngrokapi/version.rb +1 -1
- data/lib/ngrokapi.rb +1 -1
- data/ngrok-api.gemspec +1 -1
- data/spec/ngrokapi/client_spec.rb +158 -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/agent_ingress_spec.rb +42 -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_list_spec.rb +21 -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/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_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 +7 -7
- data/spec/ngrokapi/services/.gitkeep +0 -0
- data/spec/ngrokapi/services/abuse_reports_client_spec.rb +65 -0
- data/spec/ngrokapi/services/agent_ingresses_client_spec.rb +159 -0
- data/spec/ngrokapi/services/api_keys_client_spec.rb +157 -127
- data/spec/ngrokapi/services/certificate_authorities_client_spec.rb +159 -0
- data/spec/ngrokapi/services/credentials_client_spec.rb +163 -0
- data/spec/ngrokapi/services/endpoint_circuit_breaker_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_compression_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +237 -0
- data/spec/ngrokapi/services/endpoint_ip_policy_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_logging_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_mutual_tls_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_o_auth_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_oidc_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_request_headers_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_response_headers_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_saml_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_tls_termination_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/endpoint_webhook_validation_module_client_spec.rb +125 -0
- data/spec/ngrokapi/services/event_destinations_client_spec.rb +172 -0
- data/spec/ngrokapi/services/event_sources_client_spec.rb +192 -0
- data/spec/ngrokapi/services/event_streams_client_spec.rb +177 -0
- data/spec/ngrokapi/services/event_subscriptions_client_spec.rb +169 -0
- data/spec/ngrokapi/services/ip_policies_client_spec.rb +159 -0
- data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +165 -0
- data/spec/ngrokapi/services/ip_restrictions_client_spec.rb +171 -0
- data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +206 -0
- data/spec/ngrokapi/services/reserved_domains_client_spec.rb +349 -0
- data/spec/ngrokapi/services/ssh_certificate_authorities_client_spec.rb +163 -0
- data/spec/ngrokapi/services/ssh_credentials_client_spec.rb +165 -0
- data/spec/ngrokapi/services/ssh_host_certificates_client_spec.rb +167 -0
- data/spec/ngrokapi/services/ssh_user_certificates_client_spec.rb +171 -0
- data/spec/ngrokapi/services/tls_certificates_client_spec.rb +161 -0
- data/spec/ngrokapi/services/tunnel_sessions_client_spec.rb +183 -0
- data/spec/ngrokapi/services/tunnels_client_spec.rb +21 -0
- data/spec/spec_helper.rb +1096 -80
- metadata +360 -11
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module NgrokAPI
|
|
4
|
+
module Services
|
|
5
|
+
##
|
|
6
|
+
# IP Policies are reusable groups of CIDR ranges with an `allow` or `deny`
|
|
7
|
+
# action. They can be attached to endpoints via the Endpoint Configuration IP
|
|
8
|
+
# Policy module. They can also be used with IP Restrictions to control source
|
|
9
|
+
# IP ranges that can start tunnel sessions and connect to the API and dashboard.
|
|
10
|
+
#
|
|
11
|
+
# https://ngrok.com/docs/api#api-ip-policies
|
|
12
|
+
class IPPoliciesClient
|
|
13
|
+
# The API path for the requests
|
|
14
|
+
PATH = '/ip_policies'
|
|
15
|
+
# The List Property from the resulting API for list calls
|
|
16
|
+
LIST_PROPERTY = 'ip_policies'
|
|
17
|
+
|
|
18
|
+
attr_reader :client
|
|
19
|
+
|
|
20
|
+
def initialize(client:)
|
|
21
|
+
@client = client
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
##
|
|
25
|
+
# Create a new IP policy. It will not apply to any traffic until you associate to
|
|
26
|
+
# a traffic source via an endpoint configuration or IP restriction.
|
|
27
|
+
#
|
|
28
|
+
# @param [string] description human-readable description of the source IPs of this IP policy. optional, max 255 bytes.
|
|
29
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes.
|
|
30
|
+
# @param [string] action the IP policy action. Supported values are ``allow`` or ``deny``
|
|
31
|
+
# @return [NgrokAPI::Models::IPPolicy] result from the API request
|
|
32
|
+
#
|
|
33
|
+
# https://ngrok.com/docs/api#api-ip-policies-create
|
|
34
|
+
def create(description: "", metadata: "", action:)
|
|
35
|
+
path = '/ip_policies'
|
|
36
|
+
replacements = {
|
|
37
|
+
}
|
|
38
|
+
data = {}
|
|
39
|
+
data[:description] = description if description
|
|
40
|
+
data[:metadata] = metadata if metadata
|
|
41
|
+
data[:action] = action if action
|
|
42
|
+
result = @client.post(path % replacements, data: data)
|
|
43
|
+
NgrokAPI::Models::IPPolicy.new(client: self, result: result)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
##
|
|
47
|
+
# Delete an IP policy. If the IP policy is referenced by another object for the
|
|
48
|
+
# purposes of traffic restriction it will be treated as if the IP policy remains
|
|
49
|
+
# but has zero rules.
|
|
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-policies-delete
|
|
55
|
+
def delete(id: "")
|
|
56
|
+
path = '/ip_policies/%{id}'
|
|
57
|
+
replacements = {
|
|
58
|
+
id: id,
|
|
59
|
+
}
|
|
60
|
+
@client.delete(path % replacements)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
##
|
|
64
|
+
# Delete an IP policy. If the IP policy is referenced by another object for the
|
|
65
|
+
# purposes of traffic restriction it will be treated as if the IP policy remains
|
|
66
|
+
# but has zero rules.
|
|
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-policies-delete
|
|
73
|
+
def delete!(id: "")
|
|
74
|
+
path = '/ip_policies/%{id}'
|
|
75
|
+
replacements = {
|
|
76
|
+
id: id,
|
|
77
|
+
}
|
|
78
|
+
@client.delete(path % replacements, danger: true)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
##
|
|
82
|
+
# Get detailed information about an IP policy by ID.
|
|
83
|
+
#
|
|
84
|
+
# @param [string] id a resource identifier
|
|
85
|
+
# @return [NgrokAPI::Models::IPPolicy] result from the API request
|
|
86
|
+
#
|
|
87
|
+
# https://ngrok.com/docs/api#api-ip-policies-get
|
|
88
|
+
def get(id: "")
|
|
89
|
+
path = '/ip_policies/%{id}'
|
|
90
|
+
replacements = {
|
|
91
|
+
id: id,
|
|
92
|
+
}
|
|
93
|
+
data = {}
|
|
94
|
+
result = @client.get(path % replacements, data: data)
|
|
95
|
+
NgrokAPI::Models::IPPolicy.new(client: self, result: result)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
##
|
|
99
|
+
# Get detailed information about an IP policy by ID.
|
|
100
|
+
# Throws an exception if API error.
|
|
101
|
+
#
|
|
102
|
+
# @param [string] id a resource identifier
|
|
103
|
+
# @return [NgrokAPI::Models::IPPolicy] result from the API request
|
|
104
|
+
#
|
|
105
|
+
# https://ngrok.com/docs/api#api-ip-policies-get
|
|
106
|
+
def get!(id: "")
|
|
107
|
+
path = '/ip_policies/%{id}'
|
|
108
|
+
replacements = {
|
|
109
|
+
id: id,
|
|
110
|
+
}
|
|
111
|
+
data = {}
|
|
112
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
113
|
+
NgrokAPI::Models::IPPolicy.new(client: self, result: result)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
##
|
|
117
|
+
# List all IP policies on this account
|
|
118
|
+
#
|
|
119
|
+
# @param [string] before_id
|
|
120
|
+
# @param [string] limit
|
|
121
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
122
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
123
|
+
#
|
|
124
|
+
# https://ngrok.com/docs/api#api-ip-policies-list
|
|
125
|
+
def list(before_id: nil, limit: nil,
|
|
126
|
+
url: nil)
|
|
127
|
+
result = @client.list(
|
|
128
|
+
before_id: before_id,
|
|
129
|
+
limit: limit,
|
|
130
|
+
url: url,
|
|
131
|
+
path: PATH
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
NgrokAPI::Models::Listable.new(
|
|
135
|
+
client: self,
|
|
136
|
+
result: result,
|
|
137
|
+
list_property: LIST_PROPERTY,
|
|
138
|
+
klass: NgrokAPI::Models::IPPolicy
|
|
139
|
+
)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
##
|
|
143
|
+
# List all IP policies on this account
|
|
144
|
+
# Throws an exception if API error.
|
|
145
|
+
#
|
|
146
|
+
# @param [string] before_id
|
|
147
|
+
# @param [string] limit
|
|
148
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
149
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
150
|
+
#
|
|
151
|
+
# https://ngrok.com/docs/api#api-ip-policies-list
|
|
152
|
+
def list!(before_id: nil, limit: nil,
|
|
153
|
+
url: nil)
|
|
154
|
+
result = @client.list(
|
|
155
|
+
before_id: before_id,
|
|
156
|
+
limit: limit,
|
|
157
|
+
danger: true,
|
|
158
|
+
url: url,
|
|
159
|
+
path: PATH
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
NgrokAPI::Models::Listable.new(
|
|
163
|
+
client: self,
|
|
164
|
+
result: result,
|
|
165
|
+
list_property: LIST_PROPERTY,
|
|
166
|
+
klass: NgrokAPI::Models::IPPolicy,
|
|
167
|
+
danger: true
|
|
168
|
+
)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
##
|
|
172
|
+
# Update attributes of an IP policy by ID
|
|
173
|
+
#
|
|
174
|
+
# @param [string] id
|
|
175
|
+
# @param [string] description human-readable description of the source IPs of this IP policy. optional, max 255 bytes.
|
|
176
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes.
|
|
177
|
+
# @return [NgrokAPI::Models::IPPolicy] result from the API request
|
|
178
|
+
#
|
|
179
|
+
# https://ngrok.com/docs/api#api-ip-policies-update
|
|
180
|
+
def update(id: "", description: nil, metadata: nil)
|
|
181
|
+
path = '/ip_policies/%{id}'
|
|
182
|
+
replacements = {
|
|
183
|
+
id: id,
|
|
184
|
+
}
|
|
185
|
+
data = {}
|
|
186
|
+
data[:description] = description if description
|
|
187
|
+
data[:metadata] = metadata if metadata
|
|
188
|
+
result = @client.patch(path % replacements, data: data)
|
|
189
|
+
NgrokAPI::Models::IPPolicy.new(client: self, result: result)
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
##
|
|
193
|
+
# Update attributes of an IP policy by ID
|
|
194
|
+
# Throws an exception if API error.
|
|
195
|
+
#
|
|
196
|
+
# @param [string] id
|
|
197
|
+
# @param [string] description human-readable description of the source IPs of this IP policy. optional, max 255 bytes.
|
|
198
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes.
|
|
199
|
+
# @return [NgrokAPI::Models::IPPolicy] result from the API request
|
|
200
|
+
#
|
|
201
|
+
# https://ngrok.com/docs/api#api-ip-policies-update
|
|
202
|
+
def update!(id: "", description: nil, metadata: nil)
|
|
203
|
+
path = '/ip_policies/%{id}'
|
|
204
|
+
replacements = {
|
|
205
|
+
id: id,
|
|
206
|
+
}
|
|
207
|
+
data = {}
|
|
208
|
+
data[:description] = description if description
|
|
209
|
+
data[:metadata] = metadata if metadata
|
|
210
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
211
|
+
NgrokAPI::Models::IPPolicy.new(client: self, result: result)
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
end
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module NgrokAPI
|
|
4
|
+
module Services
|
|
5
|
+
##
|
|
6
|
+
# IP Policy Rules are the IPv4 or IPv6 CIDRs entries that
|
|
7
|
+
# make up an IP Policy.
|
|
8
|
+
#
|
|
9
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules
|
|
10
|
+
class IPPolicyRulesClient
|
|
11
|
+
# The API path for the requests
|
|
12
|
+
PATH = '/ip_policy_rules'
|
|
13
|
+
# The List Property from the resulting API for list calls
|
|
14
|
+
LIST_PROPERTY = 'ip_policy_rules'
|
|
15
|
+
|
|
16
|
+
attr_reader :client
|
|
17
|
+
|
|
18
|
+
def initialize(client:)
|
|
19
|
+
@client = client
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# Create a new IP policy rule attached to an IP Policy.
|
|
24
|
+
#
|
|
25
|
+
# @param [string] description human-readable description of the source IPs of this IP rule. optional, max 255 bytes.
|
|
26
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.
|
|
27
|
+
# @param [string] cidr an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.
|
|
28
|
+
# @param [string] ip_policy_id ID of the IP policy this IP policy rule will be attached to
|
|
29
|
+
# @return [NgrokAPI::Models::IPPolicyRule] result from the API request
|
|
30
|
+
#
|
|
31
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-create
|
|
32
|
+
def create(description: "", metadata: "", cidr:, ip_policy_id:)
|
|
33
|
+
path = '/ip_policy_rules'
|
|
34
|
+
replacements = {
|
|
35
|
+
}
|
|
36
|
+
data = {}
|
|
37
|
+
data[:description] = description if description
|
|
38
|
+
data[:metadata] = metadata if metadata
|
|
39
|
+
data[:cidr] = cidr if cidr
|
|
40
|
+
data[:ip_policy_id] = ip_policy_id if ip_policy_id
|
|
41
|
+
result = @client.post(path % replacements, data: data)
|
|
42
|
+
NgrokAPI::Models::IPPolicyRule.new(client: self, result: result)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
##
|
|
46
|
+
# Delete an IP policy rule.
|
|
47
|
+
#
|
|
48
|
+
# @param [string] id a resource identifier
|
|
49
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
50
|
+
#
|
|
51
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-delete
|
|
52
|
+
def delete(id: "")
|
|
53
|
+
path = '/ip_policy_rules/%{id}'
|
|
54
|
+
replacements = {
|
|
55
|
+
id: id,
|
|
56
|
+
}
|
|
57
|
+
@client.delete(path % replacements)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
##
|
|
61
|
+
# Delete an IP policy rule.
|
|
62
|
+
# Throws an exception if API error.
|
|
63
|
+
#
|
|
64
|
+
# @param [string] id a resource identifier
|
|
65
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
66
|
+
#
|
|
67
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-delete
|
|
68
|
+
def delete!(id: "")
|
|
69
|
+
path = '/ip_policy_rules/%{id}'
|
|
70
|
+
replacements = {
|
|
71
|
+
id: id,
|
|
72
|
+
}
|
|
73
|
+
@client.delete(path % replacements, danger: true)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
##
|
|
77
|
+
# Get detailed information about an IP policy rule by ID.
|
|
78
|
+
#
|
|
79
|
+
# @param [string] id a resource identifier
|
|
80
|
+
# @return [NgrokAPI::Models::IPPolicyRule] result from the API request
|
|
81
|
+
#
|
|
82
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-get
|
|
83
|
+
def get(id: "")
|
|
84
|
+
path = '/ip_policy_rules/%{id}'
|
|
85
|
+
replacements = {
|
|
86
|
+
id: id,
|
|
87
|
+
}
|
|
88
|
+
data = {}
|
|
89
|
+
result = @client.get(path % replacements, data: data)
|
|
90
|
+
NgrokAPI::Models::IPPolicyRule.new(client: self, result: result)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
##
|
|
94
|
+
# Get detailed information about an IP policy rule by ID.
|
|
95
|
+
# Throws an exception if API error.
|
|
96
|
+
#
|
|
97
|
+
# @param [string] id a resource identifier
|
|
98
|
+
# @return [NgrokAPI::Models::IPPolicyRule] result from the API request
|
|
99
|
+
#
|
|
100
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-get
|
|
101
|
+
def get!(id: "")
|
|
102
|
+
path = '/ip_policy_rules/%{id}'
|
|
103
|
+
replacements = {
|
|
104
|
+
id: id,
|
|
105
|
+
}
|
|
106
|
+
data = {}
|
|
107
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
108
|
+
NgrokAPI::Models::IPPolicyRule.new(client: self, result: result)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
##
|
|
112
|
+
# List all IP policy rules on this account
|
|
113
|
+
#
|
|
114
|
+
# @param [string] before_id
|
|
115
|
+
# @param [string] limit
|
|
116
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
117
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
118
|
+
#
|
|
119
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-list
|
|
120
|
+
def list(before_id: nil, limit: nil,
|
|
121
|
+
url: nil)
|
|
122
|
+
result = @client.list(
|
|
123
|
+
before_id: before_id,
|
|
124
|
+
limit: limit,
|
|
125
|
+
url: url,
|
|
126
|
+
path: PATH
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
NgrokAPI::Models::Listable.new(
|
|
130
|
+
client: self,
|
|
131
|
+
result: result,
|
|
132
|
+
list_property: LIST_PROPERTY,
|
|
133
|
+
klass: NgrokAPI::Models::IPPolicyRule
|
|
134
|
+
)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
##
|
|
138
|
+
# List all IP policy rules on this account
|
|
139
|
+
# Throws an exception if API error.
|
|
140
|
+
#
|
|
141
|
+
# @param [string] before_id
|
|
142
|
+
# @param [string] limit
|
|
143
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
144
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
145
|
+
#
|
|
146
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-list
|
|
147
|
+
def list!(before_id: nil, limit: nil,
|
|
148
|
+
url: nil)
|
|
149
|
+
result = @client.list(
|
|
150
|
+
before_id: before_id,
|
|
151
|
+
limit: limit,
|
|
152
|
+
danger: true,
|
|
153
|
+
url: url,
|
|
154
|
+
path: PATH
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
NgrokAPI::Models::Listable.new(
|
|
158
|
+
client: self,
|
|
159
|
+
result: result,
|
|
160
|
+
list_property: LIST_PROPERTY,
|
|
161
|
+
klass: NgrokAPI::Models::IPPolicyRule,
|
|
162
|
+
danger: true
|
|
163
|
+
)
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
##
|
|
167
|
+
# Update attributes of an IP policy rule by ID
|
|
168
|
+
#
|
|
169
|
+
# @param [string] id
|
|
170
|
+
# @param [string] description human-readable description of the source IPs of this IP rule. optional, max 255 bytes.
|
|
171
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.
|
|
172
|
+
# @param [string] cidr an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.
|
|
173
|
+
# @return [NgrokAPI::Models::IPPolicyRule] result from the API request
|
|
174
|
+
#
|
|
175
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-update
|
|
176
|
+
def update(id: "", description: nil, metadata: nil, cidr: nil)
|
|
177
|
+
path = '/ip_policy_rules/%{id}'
|
|
178
|
+
replacements = {
|
|
179
|
+
id: id,
|
|
180
|
+
}
|
|
181
|
+
data = {}
|
|
182
|
+
data[:description] = description if description
|
|
183
|
+
data[:metadata] = metadata if metadata
|
|
184
|
+
data[:cidr] = cidr if cidr
|
|
185
|
+
result = @client.patch(path % replacements, data: data)
|
|
186
|
+
NgrokAPI::Models::IPPolicyRule.new(client: self, result: result)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
##
|
|
190
|
+
# Update attributes of an IP policy rule by ID
|
|
191
|
+
# Throws an exception if API error.
|
|
192
|
+
#
|
|
193
|
+
# @param [string] id
|
|
194
|
+
# @param [string] description human-readable description of the source IPs of this IP rule. optional, max 255 bytes.
|
|
195
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.
|
|
196
|
+
# @param [string] cidr an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.
|
|
197
|
+
# @return [NgrokAPI::Models::IPPolicyRule] result from the API request
|
|
198
|
+
#
|
|
199
|
+
# https://ngrok.com/docs/api#api-ip-policy-rules-update
|
|
200
|
+
def update!(id: "", description: nil, metadata: nil, cidr: nil)
|
|
201
|
+
path = '/ip_policy_rules/%{id}'
|
|
202
|
+
replacements = {
|
|
203
|
+
id: id,
|
|
204
|
+
}
|
|
205
|
+
data = {}
|
|
206
|
+
data[:description] = description if description
|
|
207
|
+
data[:metadata] = metadata if metadata
|
|
208
|
+
data[:cidr] = cidr if cidr
|
|
209
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
210
|
+
NgrokAPI::Models::IPPolicyRule.new(client: self, result: result)
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|
|
@@ -0,0 +1,224 @@
|
|
|
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(description: "", metadata: "", enforced: False, type:, ip_policy_ids:)
|
|
38
|
+
path = '/ip_restrictions'
|
|
39
|
+
replacements = {
|
|
40
|
+
}
|
|
41
|
+
data = {}
|
|
42
|
+
data[:description] = description if description
|
|
43
|
+
data[:metadata] = metadata if metadata
|
|
44
|
+
data[:enforced] = enforced if enforced
|
|
45
|
+
data[:type] = type if type
|
|
46
|
+
data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids
|
|
47
|
+
result = @client.post(path % replacements, data: data)
|
|
48
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
##
|
|
52
|
+
# Delete an IP restriction
|
|
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-ip-restrictions-delete
|
|
58
|
+
def delete(id: "")
|
|
59
|
+
path = '/ip_restrictions/%{id}'
|
|
60
|
+
replacements = {
|
|
61
|
+
id: id,
|
|
62
|
+
}
|
|
63
|
+
@client.delete(path % replacements)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
##
|
|
67
|
+
# Delete an IP restriction
|
|
68
|
+
# Throws an exception if API error.
|
|
69
|
+
#
|
|
70
|
+
# @param [string] id a resource identifier
|
|
71
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
72
|
+
#
|
|
73
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-delete
|
|
74
|
+
def delete!(id: "")
|
|
75
|
+
path = '/ip_restrictions/%{id}'
|
|
76
|
+
replacements = {
|
|
77
|
+
id: id,
|
|
78
|
+
}
|
|
79
|
+
@client.delete(path % replacements, danger: true)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
##
|
|
83
|
+
# Get detailed information about an IP restriction
|
|
84
|
+
#
|
|
85
|
+
# @param [string] id a resource identifier
|
|
86
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
87
|
+
#
|
|
88
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-get
|
|
89
|
+
def get(id: "")
|
|
90
|
+
path = '/ip_restrictions/%{id}'
|
|
91
|
+
replacements = {
|
|
92
|
+
id: id,
|
|
93
|
+
}
|
|
94
|
+
data = {}
|
|
95
|
+
result = @client.get(path % replacements, data: data)
|
|
96
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
##
|
|
100
|
+
# Get detailed information about an IP restriction
|
|
101
|
+
# Throws an exception if API error.
|
|
102
|
+
#
|
|
103
|
+
# @param [string] id a resource identifier
|
|
104
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
105
|
+
#
|
|
106
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-get
|
|
107
|
+
def get!(id: "")
|
|
108
|
+
path = '/ip_restrictions/%{id}'
|
|
109
|
+
replacements = {
|
|
110
|
+
id: id,
|
|
111
|
+
}
|
|
112
|
+
data = {}
|
|
113
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
114
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
##
|
|
118
|
+
# List all IP restrictions on this account
|
|
119
|
+
#
|
|
120
|
+
# @param [string] before_id
|
|
121
|
+
# @param [string] limit
|
|
122
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
123
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
124
|
+
#
|
|
125
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-list
|
|
126
|
+
def list(before_id: nil, limit: nil,
|
|
127
|
+
url: nil)
|
|
128
|
+
result = @client.list(
|
|
129
|
+
before_id: before_id,
|
|
130
|
+
limit: limit,
|
|
131
|
+
url: url,
|
|
132
|
+
path: PATH
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
NgrokAPI::Models::Listable.new(
|
|
136
|
+
client: self,
|
|
137
|
+
result: result,
|
|
138
|
+
list_property: LIST_PROPERTY,
|
|
139
|
+
klass: NgrokAPI::Models::IPRestriction
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
##
|
|
144
|
+
# List all IP restrictions on this account
|
|
145
|
+
# Throws an exception if API error.
|
|
146
|
+
#
|
|
147
|
+
# @param [string] before_id
|
|
148
|
+
# @param [string] limit
|
|
149
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
150
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
151
|
+
#
|
|
152
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-list
|
|
153
|
+
def list!(before_id: nil, limit: nil,
|
|
154
|
+
url: nil)
|
|
155
|
+
result = @client.list(
|
|
156
|
+
before_id: before_id,
|
|
157
|
+
limit: limit,
|
|
158
|
+
danger: true,
|
|
159
|
+
url: url,
|
|
160
|
+
path: PATH
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
NgrokAPI::Models::Listable.new(
|
|
164
|
+
client: self,
|
|
165
|
+
result: result,
|
|
166
|
+
list_property: LIST_PROPERTY,
|
|
167
|
+
klass: NgrokAPI::Models::IPRestriction,
|
|
168
|
+
danger: true
|
|
169
|
+
)
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
##
|
|
173
|
+
# Update attributes of an IP restriction by ID
|
|
174
|
+
#
|
|
175
|
+
# @param [string] id
|
|
176
|
+
# @param [string] description human-readable description of this IP restriction. optional, max 255 bytes.
|
|
177
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
|
|
178
|
+
# @param [boolean] enforced true if the IP restriction will be enforced. if false, only warnings will be issued
|
|
179
|
+
# @param [List<string>] ip_policy_ids the set of IP policy identifiers that are used to enforce the restriction
|
|
180
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
181
|
+
#
|
|
182
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-update
|
|
183
|
+
def update(id: "", description: nil, metadata: nil, enforced: nil, ip_policy_ids: [])
|
|
184
|
+
path = '/ip_restrictions/%{id}'
|
|
185
|
+
replacements = {
|
|
186
|
+
id: id,
|
|
187
|
+
}
|
|
188
|
+
data = {}
|
|
189
|
+
data[:description] = description if description
|
|
190
|
+
data[:metadata] = metadata if metadata
|
|
191
|
+
data[:enforced] = enforced if enforced
|
|
192
|
+
data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids
|
|
193
|
+
result = @client.patch(path % replacements, data: data)
|
|
194
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
##
|
|
198
|
+
# Update attributes of an IP restriction by ID
|
|
199
|
+
# Throws an exception if API error.
|
|
200
|
+
#
|
|
201
|
+
# @param [string] id
|
|
202
|
+
# @param [string] description human-readable description of this IP restriction. optional, max 255 bytes.
|
|
203
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
|
|
204
|
+
# @param [boolean] enforced true if the IP restriction will be enforced. if false, only warnings will be issued
|
|
205
|
+
# @param [List<string>] ip_policy_ids the set of IP policy identifiers that are used to enforce the restriction
|
|
206
|
+
# @return [NgrokAPI::Models::IPRestriction] result from the API request
|
|
207
|
+
#
|
|
208
|
+
# https://ngrok.com/docs/api#api-ip-restrictions-update
|
|
209
|
+
def update!(id: "", description: nil, metadata: nil, enforced: nil, ip_policy_ids: [])
|
|
210
|
+
path = '/ip_restrictions/%{id}'
|
|
211
|
+
replacements = {
|
|
212
|
+
id: id,
|
|
213
|
+
}
|
|
214
|
+
data = {}
|
|
215
|
+
data[:description] = description if description
|
|
216
|
+
data[:metadata] = metadata if metadata
|
|
217
|
+
data[:enforced] = enforced if enforced
|
|
218
|
+
data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids
|
|
219
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
220
|
+
NgrokAPI::Models::IPRestriction.new(client: self, result: result)
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
end
|