ngrok-api 0.9.0 → 0.16.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 +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
|