ngrok-api 0.9.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/doc/.gitkeep +0 -0
- data/doc/NgrokAPI/Client.html +1499 -125
- data/doc/NgrokAPI/Error.html +1 -1
- data/doc/NgrokAPI/Errors/NotFoundError.html +1 -1
- data/doc/NgrokAPI/Errors.html +1 -1
- data/doc/NgrokAPI/HttpClient.html +1 -1
- data/doc/NgrokAPI/Models/{ApiKey.html → APIKey.html} +108 -177
- data/doc/NgrokAPI/Models/AWSAuth.html +617 -0
- data/doc/NgrokAPI/Models/AWSCredentials.html +617 -0
- data/doc/NgrokAPI/Models/AWSRole.html +543 -0
- data/doc/NgrokAPI/Models/AbuseReport.html +987 -0
- data/doc/NgrokAPI/Models/AbuseReportHostname.html +617 -0
- data/doc/NgrokAPI/Models/CertificateAuthority.html +1439 -0
- data/doc/NgrokAPI/Models/Credential.html +1149 -0
- data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +913 -0
- data/doc/NgrokAPI/Models/EndpointCompression.html +543 -0
- data/doc/NgrokAPI/Models/EndpointConfiguration.html +1321 -510
- data/doc/NgrokAPI/Models/EndpointIPPolicy.html +617 -0
- data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +617 -0
- data/doc/NgrokAPI/Models/EndpointLogging.html +617 -0
- data/doc/NgrokAPI/Models/EndpointLoggingMutate.html +617 -0
- data/doc/NgrokAPI/Models/EndpointMutualTLS.html +617 -0
- data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +617 -0
- data/doc/NgrokAPI/Models/EndpointOAuth.html +987 -0
- data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +839 -0
- data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +987 -0
- data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +839 -0
- data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +839 -0
- data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +765 -0
- data/doc/NgrokAPI/Models/EndpointOIDC.html +1135 -0
- data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +691 -0
- data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +691 -0
- data/doc/NgrokAPI/Models/EndpointSAML.html +1653 -0
- data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +1283 -0
- data/doc/NgrokAPI/Models/EndpointTLSTermination.html +691 -0
- data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +691 -0
- data/doc/NgrokAPI/Models/EventDestination.html +1058 -0
- data/doc/NgrokAPI/Models/EventSource.html +765 -0
- data/doc/NgrokAPI/Models/EventSourceReplace.html +691 -0
- data/doc/NgrokAPI/Models/EventStream.html +1309 -0
- data/doc/NgrokAPI/Models/EventSubscription.html +1058 -0
- data/doc/NgrokAPI/Models/EventTarget.html +765 -0
- data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +617 -0
- data/doc/NgrokAPI/Models/EventTargetFirehose.html +617 -0
- data/doc/NgrokAPI/Models/EventTargetKinesis.html +617 -0
- data/doc/NgrokAPI/Models/IPPolicy.html +1069 -0
- data/doc/NgrokAPI/Models/IPPolicyRule.html +1149 -0
- data/doc/NgrokAPI/Models/IPRestriction.html +1132 -0
- data/doc/NgrokAPI/Models/{TlsCertificate.html → IPWhitelistEntry.html} +168 -163
- data/doc/NgrokAPI/Models/Listable.html +1 -1
- data/doc/NgrokAPI/Models/Ref.html +617 -0
- data/doc/NgrokAPI/Models/ReservedAddr.html +1132 -0
- data/doc/NgrokAPI/Models/ReservedDomain.html +111 -1107
- data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +839 -0
- data/doc/NgrokAPI/Models/ReservedDomainCertNSTarget.html +617 -0
- data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +617 -0
- data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +617 -0
- data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +1143 -0
- data/doc/NgrokAPI/Models/SSHCredential.html +1149 -0
- data/doc/NgrokAPI/Models/SSHHostCertificate.html +1513 -0
- data/doc/NgrokAPI/Models/SSHUserCertificate.html +1661 -0
- data/doc/NgrokAPI/Models/TLSCertificate.html +2179 -0
- data/doc/NgrokAPI/Models/TLSCertificateSANs.html +617 -0
- data/doc/NgrokAPI/Models/Tunnel.html +987 -0
- data/doc/NgrokAPI/Models/TunnelSession.html +1209 -0
- data/doc/NgrokAPI/Models.html +4 -4
- data/doc/NgrokAPI/PagedIterator.html +1 -1
- data/{docs/NgrokAPI/Services/ApiKeysClient.html → doc/NgrokAPI/Services/APIKeysClient.html} +287 -151
- data/doc/NgrokAPI/Services/AbuseReportsClient.html +723 -0
- data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +1489 -0
- data/doc/NgrokAPI/Services/CredentialsClient.html +1534 -0
- data/doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointCompressionModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointConfigurationsClient.html +473 -371
- data/doc/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointLoggingModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointOAuthModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointOIDCModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointSAMLModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1071 -0
- data/doc/NgrokAPI/Services/EventDestinationsClient.html +1609 -0
- data/doc/NgrokAPI/Services/EventSourcesClient.html +1348 -0
- data/doc/NgrokAPI/Services/EventStreamsClient.html +1691 -0
- data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +1603 -0
- data/doc/NgrokAPI/Services/IPPoliciesClient.html +1488 -0
- data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +1550 -0
- data/doc/NgrokAPI/Services/IPRestrictionsClient.html +1620 -0
- data/doc/NgrokAPI/Services/IPWhitelistClient.html +1488 -0
- data/doc/NgrokAPI/Services/ReservedAddrsClient.html +1793 -0
- data/doc/NgrokAPI/Services/ReservedDomainsClient.html +518 -333
- data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1532 -0
- data/doc/NgrokAPI/Services/SSHCredentialsClient.html +1552 -0
- data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +1573 -0
- data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +1617 -0
- data/{docs/NgrokAPI/Services/TlsCertificatesClient.html → doc/NgrokAPI/Services/TLSCertificatesClient.html} +290 -198
- data/doc/NgrokAPI/Services/TunnelSessionsClient.html +1468 -0
- data/doc/NgrokAPI/Services/TunnelsClient.html +513 -0
- data/doc/NgrokAPI/Services.html +4 -4
- data/doc/NgrokAPI.html +3 -3
- data/doc/_index.html +624 -28
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +1 -1
- data/doc/index.html +1 -1
- data/doc/method_list.html +7318 -286
- data/doc/top-level-namespace.html +1 -1
- data/docs/.gitkeep +0 -0
- data/docs/NgrokAPI/Client.html +1499 -125
- data/docs/NgrokAPI/Error.html +1 -1
- data/docs/NgrokAPI/Errors/NotFoundError.html +1 -1
- data/docs/NgrokAPI/Errors.html +1 -1
- data/docs/NgrokAPI/HttpClient.html +1 -1
- data/docs/NgrokAPI/Models/{ApiKey.html → APIKey.html} +108 -177
- data/docs/NgrokAPI/Models/AWSAuth.html +617 -0
- data/docs/NgrokAPI/Models/AWSCredentials.html +617 -0
- data/docs/NgrokAPI/Models/AWSRole.html +543 -0
- data/docs/NgrokAPI/Models/AbuseReport.html +987 -0
- data/docs/NgrokAPI/Models/AbuseReportHostname.html +617 -0
- data/docs/NgrokAPI/Models/CertificateAuthority.html +1439 -0
- data/docs/NgrokAPI/Models/Credential.html +1149 -0
- data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +913 -0
- data/docs/NgrokAPI/Models/EndpointCompression.html +543 -0
- data/docs/NgrokAPI/Models/EndpointConfiguration.html +1321 -510
- data/docs/NgrokAPI/Models/EndpointIPPolicy.html +617 -0
- data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +617 -0
- data/docs/NgrokAPI/Models/EndpointLogging.html +617 -0
- data/docs/NgrokAPI/Models/EndpointLoggingMutate.html +617 -0
- data/docs/NgrokAPI/Models/EndpointMutualTLS.html +617 -0
- data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +617 -0
- data/docs/NgrokAPI/Models/EndpointOAuth.html +987 -0
- data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +839 -0
- data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +987 -0
- data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +839 -0
- data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +839 -0
- data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +765 -0
- data/docs/NgrokAPI/Models/EndpointOIDC.html +1135 -0
- data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +691 -0
- data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +691 -0
- data/docs/NgrokAPI/Models/EndpointSAML.html +1653 -0
- data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +1283 -0
- data/docs/NgrokAPI/Models/EndpointTLSTermination.html +691 -0
- data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +691 -0
- data/docs/NgrokAPI/Models/EventDestination.html +1058 -0
- data/docs/NgrokAPI/Models/EventSource.html +765 -0
- data/docs/NgrokAPI/Models/EventSourceReplace.html +691 -0
- data/docs/NgrokAPI/Models/EventStream.html +1309 -0
- data/docs/NgrokAPI/Models/EventSubscription.html +1058 -0
- data/docs/NgrokAPI/Models/EventTarget.html +765 -0
- data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +617 -0
- data/docs/NgrokAPI/Models/EventTargetFirehose.html +617 -0
- data/docs/NgrokAPI/Models/EventTargetKinesis.html +617 -0
- data/docs/NgrokAPI/Models/IPPolicy.html +1069 -0
- data/docs/NgrokAPI/Models/IPPolicyRule.html +1149 -0
- data/docs/NgrokAPI/Models/IPRestriction.html +1132 -0
- data/docs/NgrokAPI/Models/{TlsCertificate.html → IPWhitelistEntry.html} +168 -163
- data/docs/NgrokAPI/Models/Listable.html +1 -1
- data/docs/NgrokAPI/Models/Ref.html +617 -0
- data/docs/NgrokAPI/Models/ReservedAddr.html +1132 -0
- data/docs/NgrokAPI/Models/ReservedDomain.html +111 -1107
- data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +839 -0
- data/docs/NgrokAPI/Models/ReservedDomainCertNSTarget.html +617 -0
- data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +617 -0
- data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +617 -0
- data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +1143 -0
- data/docs/NgrokAPI/Models/SSHCredential.html +1149 -0
- data/docs/NgrokAPI/Models/SSHHostCertificate.html +1513 -0
- data/docs/NgrokAPI/Models/SSHUserCertificate.html +1661 -0
- data/docs/NgrokAPI/Models/TLSCertificate.html +2179 -0
- data/docs/NgrokAPI/Models/TLSCertificateSANs.html +617 -0
- data/docs/NgrokAPI/Models/Tunnel.html +987 -0
- data/docs/NgrokAPI/Models/TunnelSession.html +1209 -0
- data/docs/NgrokAPI/Models.html +4 -4
- data/docs/NgrokAPI/PagedIterator.html +1 -1
- data/{doc/NgrokAPI/Services/ApiKeysClient.html → docs/NgrokAPI/Services/APIKeysClient.html} +287 -151
- data/docs/NgrokAPI/Services/AbuseReportsClient.html +723 -0
- data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +1489 -0
- data/docs/NgrokAPI/Services/CredentialsClient.html +1534 -0
- data/docs/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointCompressionModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointConfigurationsClient.html +473 -371
- data/docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointLoggingModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointMutualTLSModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointOAuthModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointOIDCModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointSAMLModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html +1071 -0
- data/docs/NgrokAPI/Services/EventDestinationsClient.html +1609 -0
- data/docs/NgrokAPI/Services/EventSourcesClient.html +1348 -0
- data/docs/NgrokAPI/Services/EventStreamsClient.html +1691 -0
- data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +1603 -0
- data/docs/NgrokAPI/Services/IPPoliciesClient.html +1488 -0
- data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +1550 -0
- data/docs/NgrokAPI/Services/IPRestrictionsClient.html +1620 -0
- data/docs/NgrokAPI/Services/IPWhitelistClient.html +1488 -0
- data/docs/NgrokAPI/Services/ReservedAddrsClient.html +1793 -0
- data/docs/NgrokAPI/Services/ReservedDomainsClient.html +518 -333
- data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +1532 -0
- data/docs/NgrokAPI/Services/SSHCredentialsClient.html +1552 -0
- data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +1573 -0
- data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +1617 -0
- data/{doc/NgrokAPI/Services/TlsCertificatesClient.html → docs/NgrokAPI/Services/TLSCertificatesClient.html} +290 -198
- data/docs/NgrokAPI/Services/TunnelSessionsClient.html +1468 -0
- data/docs/NgrokAPI/Services/TunnelsClient.html +513 -0
- data/docs/NgrokAPI/Services.html +4 -4
- data/docs/NgrokAPI.html +3 -3
- data/docs/_index.html +624 -28
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +1 -1
- data/docs/index.html +1 -1
- data/docs/method_list.html +7318 -286
- data/docs/top-level-namespace.html +1 -1
- data/lib/ngrokapi/client.rb +218 -49
- data/lib/ngrokapi/models/abuse_report.rb +37 -0
- data/lib/ngrokapi/models/abuse_report_hostname.rb +27 -0
- data/lib/ngrokapi/models/api_key.rb +62 -64
- data/lib/ngrokapi/models/aws_auth.rb +27 -0
- data/lib/ngrokapi/models/aws_credentials.rb +27 -0
- data/lib/ngrokapi/models/aws_role.rb +25 -0
- data/lib/ngrokapi/models/certificate_authority.rb +72 -0
- data/lib/ngrokapi/models/credential.rb +67 -0
- data/lib/ngrokapi/models/endpoint_circuit_breaker.rb +35 -0
- data/lib/ngrokapi/models/endpoint_compression.rb +25 -0
- data/lib/ngrokapi/models/endpoint_configuration.rb +130 -119
- data/lib/ngrokapi/models/endpoint_ip_policy.rb +27 -0
- data/lib/ngrokapi/models/endpoint_ip_policy_mutate.rb +27 -0
- data/lib/ngrokapi/models/endpoint_logging.rb +27 -0
- data/lib/ngrokapi/models/endpoint_logging_mutate.rb +27 -0
- data/lib/ngrokapi/models/endpoint_mutual_tls.rb +27 -0
- data/lib/ngrokapi/models/endpoint_mutual_tls_mutate.rb +27 -0
- data/lib/ngrokapi/models/endpoint_o_auth.rb +37 -0
- data/lib/ngrokapi/models/endpoint_o_auth_facebook.rb +33 -0
- data/lib/ngrokapi/models/endpoint_o_auth_git_hub.rb +37 -0
- data/lib/ngrokapi/models/endpoint_o_auth_google.rb +33 -0
- data/lib/ngrokapi/models/endpoint_o_auth_microsoft.rb +33 -0
- data/lib/ngrokapi/models/endpoint_o_auth_provider.rb +31 -0
- data/lib/ngrokapi/models/endpoint_oidc.rb +41 -0
- data/lib/ngrokapi/models/endpoint_request_headers.rb +29 -0
- data/lib/ngrokapi/models/endpoint_response_headers.rb +29 -0
- data/lib/ngrokapi/models/endpoint_saml.rb +55 -0
- data/lib/ngrokapi/models/endpoint_saml_mutate.rb +45 -0
- data/lib/ngrokapi/models/endpoint_tls_termination.rb +29 -0
- data/lib/ngrokapi/models/endpoint_webhook_validation.rb +29 -0
- data/lib/ngrokapi/models/event_destination.rb +49 -0
- data/lib/ngrokapi/models/event_source.rb +31 -0
- data/lib/ngrokapi/models/event_source_replace.rb +29 -0
- data/lib/ngrokapi/models/event_stream.rb +77 -0
- data/lib/ngrokapi/models/event_subscription.rb +47 -0
- data/lib/ngrokapi/models/event_target.rb +31 -0
- data/lib/ngrokapi/models/event_target_cloudwatch_logs.rb +27 -0
- data/lib/ngrokapi/models/event_target_firehose.rb +27 -0
- data/lib/ngrokapi/models/event_target_kinesis.rb +27 -0
- data/lib/ngrokapi/models/ip_policy.rb +64 -0
- data/lib/ngrokapi/models/ip_policy_rule.rb +67 -0
- data/lib/ngrokapi/models/ip_restriction.rb +49 -0
- data/lib/ngrokapi/models/ip_whitelist_entry.rb +62 -0
- data/lib/ngrokapi/models/ref.rb +27 -0
- data/lib/ngrokapi/models/reserved_addr.rb +49 -0
- data/lib/ngrokapi/models/reserved_domain.rb +59 -211
- data/lib/ngrokapi/models/reserved_domain_cert_job.rb +33 -0
- data/lib/ngrokapi/models/reserved_domain_cert_ns_target.rb +27 -0
- data/lib/ngrokapi/models/reserved_domain_cert_policy.rb +27 -0
- data/lib/ngrokapi/models/reserved_domain_cert_status.rb +27 -0
- data/lib/ngrokapi/models/ssh_certificate_authority.rb +64 -0
- data/lib/ngrokapi/models/ssh_credential.rb +67 -0
- data/lib/ngrokapi/models/ssh_host_certificate.rb +74 -0
- data/lib/ngrokapi/models/ssh_user_certificate.rb +78 -0
- data/lib/ngrokapi/models/tls_certificate.rb +92 -62
- data/lib/ngrokapi/models/tls_certificate_sa_ns.rb +27 -0
- data/lib/ngrokapi/models/tunnel.rb +37 -0
- data/lib/ngrokapi/models/tunnel_session.rb +43 -0
- data/lib/ngrokapi/services/.gitkeep +0 -0
- data/lib/ngrokapi/services/abuse_reports_client.rb +84 -0
- data/lib/ngrokapi/services/api_keys_client.rb +203 -144
- data/lib/ngrokapi/services/certificate_authorities_client.rb +204 -0
- data/lib/ngrokapi/services/credentials_client.rb +212 -0
- data/lib/ngrokapi/services/endpoint_circuit_breaker_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_compression_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_configurations_client.rb +324 -313
- data/lib/ngrokapi/services/endpoint_ip_policy_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_logging_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_mutual_tls_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_o_auth_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_oidc_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_request_headers_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_response_headers_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_saml_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_tls_termination_module_client.rb +122 -0
- data/lib/ngrokapi/services/endpoint_webhook_validation_module_client.rb +122 -0
- data/lib/ngrokapi/services/event_destinations_client.rb +222 -0
- data/lib/ngrokapi/services/event_sources_client.rb +177 -0
- data/lib/ngrokapi/services/event_streams_client.rb +226 -0
- data/lib/ngrokapi/services/event_subscriptions_client.rb +213 -0
- data/lib/ngrokapi/services/ip_policies_client.rb +208 -0
- data/lib/ngrokapi/services/ip_policy_rules_client.rb +210 -0
- data/lib/ngrokapi/services/ip_restrictions_client.rb +223 -0
- data/lib/ngrokapi/services/ip_whitelist_client.rb +202 -0
- data/lib/ngrokapi/services/reserved_addrs_client.rb +246 -0
- data/lib/ngrokapi/services/reserved_domains_client.rb +382 -313
- data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +207 -0
- data/lib/ngrokapi/services/ssh_credentials_client.rb +211 -0
- data/lib/ngrokapi/services/ssh_host_certificates_client.rb +214 -0
- data/lib/ngrokapi/services/ssh_user_certificates_client.rb +220 -0
- data/lib/ngrokapi/services/tls_certificates_client.rb +207 -161
- data/lib/ngrokapi/services/tunnel_sessions_client.rb +228 -0
- data/lib/ngrokapi/services/tunnels_client.rb +51 -0
- data/lib/ngrokapi/version.rb +1 -1
- data/spec/ngrokapi/client_spec.rb +139 -33
- data/spec/ngrokapi/models/abuse_report_hostname_spec.rb +21 -0
- data/spec/ngrokapi/models/abuse_report_spec.rb +21 -0
- data/spec/ngrokapi/models/api_key_spec.rb +42 -43
- data/spec/ngrokapi/models/aws_auth_spec.rb +21 -0
- data/spec/ngrokapi/models/aws_credentials_spec.rb +21 -0
- data/spec/ngrokapi/models/aws_role_spec.rb +21 -0
- data/spec/ngrokapi/models/certificate_authority_spec.rb +42 -0
- data/spec/ngrokapi/models/credential_spec.rb +45 -0
- data/spec/ngrokapi/models/endpoint_circuit_breaker_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_compression_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_configuration_spec.rb +78 -0
- data/spec/ngrokapi/models/endpoint_ip_policy_mutate_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_ip_policy_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_logging_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_mutual_tls_mutate_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_mutual_tls_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_facebook_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_git_hub_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_google_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_microsoft_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_provider_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_o_auth_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_oidc_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_request_headers_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_response_headers_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_saml_mutate_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_saml_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_tls_termination_spec.rb +21 -0
- data/spec/ngrokapi/models/endpoint_webhook_validation_spec.rb +21 -0
- data/spec/ngrokapi/models/event_destination_spec.rb +28 -0
- data/spec/ngrokapi/models/event_source_replace_spec.rb +21 -0
- data/spec/ngrokapi/models/event_source_spec.rb +21 -0
- data/spec/ngrokapi/models/event_stream_spec.rb +51 -0
- data/spec/ngrokapi/models/event_subscription_spec.rb +28 -0
- data/spec/ngrokapi/models/event_target_cloudwatch_logs_spec.rb +21 -0
- data/spec/ngrokapi/models/event_target_firehose_spec.rb +21 -0
- data/spec/ngrokapi/models/event_target_kinesis_spec.rb +21 -0
- data/spec/ngrokapi/models/event_target_spec.rb +21 -0
- data/spec/ngrokapi/models/ip_policy_rule_spec.rb +45 -0
- data/spec/ngrokapi/models/ip_policy_spec.rb +42 -0
- data/spec/ngrokapi/models/ip_restriction_spec.rb +28 -0
- data/spec/ngrokapi/models/ip_whitelist_entry_spec.rb +42 -0
- data/spec/ngrokapi/models/listable_spec.rb +4 -4
- data/spec/ngrokapi/models/ref_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_addr_spec.rb +28 -0
- data/spec/ngrokapi/models/reserved_domain_cert_job_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_domain_cert_ns_target_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_domain_cert_policy_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_domain_cert_status_spec.rb +21 -0
- data/spec/ngrokapi/models/reserved_domain_spec.rb +28 -100
- data/spec/ngrokapi/models/ssh_certificate_authority_spec.rb +42 -0
- data/spec/ngrokapi/models/ssh_credential_spec.rb +45 -0
- data/spec/ngrokapi/models/ssh_host_certificate_spec.rb +42 -0
- data/spec/ngrokapi/models/ssh_user_certificate_spec.rb +42 -0
- data/spec/ngrokapi/models/tls_certificate_sa_ns_spec.rb +21 -0
- data/spec/ngrokapi/models/tls_certificate_spec.rb +42 -0
- data/spec/ngrokapi/models/tunnel_session_spec.rb +21 -0
- data/spec/ngrokapi/models/tunnel_spec.rb +21 -0
- data/spec/ngrokapi/paged_iterator_spec.rb +5 -5
- data/spec/ngrokapi/services/.gitkeep +0 -0
- data/spec/ngrokapi/services/abuse_reports_client_spec.rb +67 -0
- data/spec/ngrokapi/services/api_keys_client_spec.rb +160 -127
- data/spec/ngrokapi/services/certificate_authorities_client_spec.rb +162 -0
- data/spec/ngrokapi/services/credentials_client_spec.rb +166 -0
- data/spec/ngrokapi/services/endpoint_circuit_breaker_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_compression_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +240 -0
- data/spec/ngrokapi/services/endpoint_ip_policy_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_logging_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_mutual_tls_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_o_auth_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_oidc_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_request_headers_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_response_headers_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_saml_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_tls_termination_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/endpoint_webhook_validation_module_client_spec.rb +127 -0
- data/spec/ngrokapi/services/event_destinations_client_spec.rb +175 -0
- data/spec/ngrokapi/services/event_sources_client_spec.rb +162 -0
- data/spec/ngrokapi/services/event_streams_client_spec.rb +180 -0
- data/spec/ngrokapi/services/event_subscriptions_client_spec.rb +172 -0
- data/spec/ngrokapi/services/ip_policies_client_spec.rb +162 -0
- data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +168 -0
- data/spec/ngrokapi/services/ip_restrictions_client_spec.rb +174 -0
- data/spec/ngrokapi/services/ip_whitelist_client_spec.rb +162 -0
- data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +209 -0
- data/spec/ngrokapi/services/reserved_domains_client_spec.rb +352 -0
- data/spec/ngrokapi/services/ssh_certificate_authorities_client_spec.rb +166 -0
- data/spec/ngrokapi/services/ssh_credentials_client_spec.rb +168 -0
- data/spec/ngrokapi/services/ssh_host_certificates_client_spec.rb +170 -0
- data/spec/ngrokapi/services/ssh_user_certificates_client_spec.rb +174 -0
- data/spec/ngrokapi/services/tls_certificates_client_spec.rb +164 -0
- data/spec/ngrokapi/services/tunnel_sessions_client_spec.rb +184 -0
- data/spec/ngrokapi/services/tunnels_client_spec.rb +21 -0
- data/spec/spec_helper.rb +958 -0
- metadata +355 -10
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module NgrokAPI
|
|
4
|
+
module Services
|
|
5
|
+
##
|
|
6
|
+
# An SSH Certificate Authority is a pair of an SSH Certificate and its private
|
|
7
|
+
# key that can be used to sign other SSH host and user certificates.
|
|
8
|
+
#
|
|
9
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities
|
|
10
|
+
class SSHCertificateAuthoritiesClient
|
|
11
|
+
# The API path for the requests
|
|
12
|
+
PATH = '/ssh_certificate_authorities'
|
|
13
|
+
# The List Property from the resulting API for list calls
|
|
14
|
+
LIST_PROPERTY = 'ssh_certificate_authorities'
|
|
15
|
+
|
|
16
|
+
attr_reader :client
|
|
17
|
+
|
|
18
|
+
def initialize(client:)
|
|
19
|
+
@client = client
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# Create a new SSH Certificate Authority
|
|
24
|
+
#
|
|
25
|
+
# @param [string] description human-readable description of this SSH Certificate Authority. optional, max 255 bytes.
|
|
26
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes.
|
|
27
|
+
# @param [string] private_key_type the type of private key to generate. one of ``rsa``, ``ecdsa``, ``ed25519``
|
|
28
|
+
# @param [string] elliptic_curve the type of elliptic curve to use when creating an ECDSA key
|
|
29
|
+
# @param [int64] key_size the key size to use when creating an RSA key. one of ``2048`` or ``4096``
|
|
30
|
+
# @return [NgrokAPI::Models::SSHCertificateAuthority] result from the API request
|
|
31
|
+
#
|
|
32
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities-create
|
|
33
|
+
def create(
|
|
34
|
+
description: "",
|
|
35
|
+
metadata: "",
|
|
36
|
+
private_key_type: "",
|
|
37
|
+
elliptic_curve: "",
|
|
38
|
+
key_size: 0
|
|
39
|
+
)
|
|
40
|
+
path = '/ssh_certificate_authorities'
|
|
41
|
+
replacements = {
|
|
42
|
+
}
|
|
43
|
+
data = {}
|
|
44
|
+
data[:description] = description if description
|
|
45
|
+
data[:metadata] = metadata if metadata
|
|
46
|
+
data[:private_key_type] = private_key_type if private_key_type
|
|
47
|
+
data[:elliptic_curve] = elliptic_curve if elliptic_curve
|
|
48
|
+
data[:key_size] = key_size if key_size
|
|
49
|
+
result = @client.post(path % replacements, data: data)
|
|
50
|
+
NgrokAPI::Models::SSHCertificateAuthority.new(client: self, result: result)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
##
|
|
54
|
+
# Delete an SSH Certificate Authority
|
|
55
|
+
#
|
|
56
|
+
# @param [string] id a resource identifier
|
|
57
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
58
|
+
#
|
|
59
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities-delete
|
|
60
|
+
def delete(
|
|
61
|
+
id: ""
|
|
62
|
+
)
|
|
63
|
+
path = '/ssh_certificate_authorities/%{id}'
|
|
64
|
+
replacements = {
|
|
65
|
+
id: id,
|
|
66
|
+
}
|
|
67
|
+
@client.delete(path % replacements)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
##
|
|
71
|
+
# Delete an SSH Certificate Authority
|
|
72
|
+
# Throws an exception if API error.
|
|
73
|
+
#
|
|
74
|
+
# @param [string] id a resource identifier
|
|
75
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
76
|
+
#
|
|
77
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities-delete
|
|
78
|
+
def delete!(
|
|
79
|
+
id: ""
|
|
80
|
+
)
|
|
81
|
+
path = '/ssh_certificate_authorities/%{id}'
|
|
82
|
+
replacements = {
|
|
83
|
+
id: id,
|
|
84
|
+
}
|
|
85
|
+
@client.delete(path % replacements, danger: true)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
##
|
|
89
|
+
# Get detailed information about an SSH Certficate Authority
|
|
90
|
+
#
|
|
91
|
+
# @param [string] id a resource identifier
|
|
92
|
+
# @return [NgrokAPI::Models::SSHCertificateAuthority] result from the API request
|
|
93
|
+
#
|
|
94
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities-get
|
|
95
|
+
def get(
|
|
96
|
+
id: ""
|
|
97
|
+
)
|
|
98
|
+
path = '/ssh_certificate_authorities/%{id}'
|
|
99
|
+
replacements = {
|
|
100
|
+
id: id,
|
|
101
|
+
}
|
|
102
|
+
data = {}
|
|
103
|
+
result = @client.get(path % replacements, data: data)
|
|
104
|
+
NgrokAPI::Models::SSHCertificateAuthority.new(client: self, result: result)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
##
|
|
108
|
+
# Get detailed information about an SSH Certficate Authority
|
|
109
|
+
# Throws an exception if API error.
|
|
110
|
+
#
|
|
111
|
+
# @param [string] id a resource identifier
|
|
112
|
+
# @return [NgrokAPI::Models::SSHCertificateAuthority] result from the API request
|
|
113
|
+
#
|
|
114
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities-get
|
|
115
|
+
def get!(
|
|
116
|
+
id: ""
|
|
117
|
+
)
|
|
118
|
+
path = '/ssh_certificate_authorities/%{id}'
|
|
119
|
+
replacements = {
|
|
120
|
+
id: id,
|
|
121
|
+
}
|
|
122
|
+
data = {}
|
|
123
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
124
|
+
NgrokAPI::Models::SSHCertificateAuthority.new(client: self, result: result)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
##
|
|
128
|
+
# List all SSH Certificate Authorities on this account
|
|
129
|
+
#
|
|
130
|
+
# @param [string] before_id
|
|
131
|
+
# @param [string] limit
|
|
132
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
133
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
134
|
+
#
|
|
135
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities-list
|
|
136
|
+
def list(
|
|
137
|
+
before_id: nil,
|
|
138
|
+
limit: nil,
|
|
139
|
+
url: nil
|
|
140
|
+
)
|
|
141
|
+
result = @client.list(
|
|
142
|
+
before_id: before_id,
|
|
143
|
+
limit: limit,
|
|
144
|
+
url: url,
|
|
145
|
+
path: PATH
|
|
146
|
+
)
|
|
147
|
+
NgrokAPI::Models::Listable.new(
|
|
148
|
+
client: self,
|
|
149
|
+
result: result,
|
|
150
|
+
list_property: LIST_PROPERTY,
|
|
151
|
+
klass: NgrokAPI::Models::SSHCertificateAuthority
|
|
152
|
+
)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
##
|
|
156
|
+
# Update an SSH Certificate Authority
|
|
157
|
+
#
|
|
158
|
+
# @param [string] id
|
|
159
|
+
# @param [string] description human-readable description of this SSH Certificate Authority. optional, max 255 bytes.
|
|
160
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes.
|
|
161
|
+
# @return [NgrokAPI::Models::SSHCertificateAuthority] result from the API request
|
|
162
|
+
#
|
|
163
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities-update
|
|
164
|
+
def update(
|
|
165
|
+
id: "",
|
|
166
|
+
description: nil,
|
|
167
|
+
metadata: nil
|
|
168
|
+
)
|
|
169
|
+
path = '/ssh_certificate_authorities/%{id}'
|
|
170
|
+
replacements = {
|
|
171
|
+
id: id,
|
|
172
|
+
}
|
|
173
|
+
data = {}
|
|
174
|
+
data[:description] = description if description
|
|
175
|
+
data[:metadata] = metadata if metadata
|
|
176
|
+
result = @client.patch(path % replacements, data: data)
|
|
177
|
+
NgrokAPI::Models::SSHCertificateAuthority.new(client: self, result: result)
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
##
|
|
181
|
+
# Update an SSH Certificate Authority
|
|
182
|
+
# Throws an exception if API error.
|
|
183
|
+
#
|
|
184
|
+
# @param [string] id
|
|
185
|
+
# @param [string] description human-readable description of this SSH Certificate Authority. optional, max 255 bytes.
|
|
186
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes.
|
|
187
|
+
# @return [NgrokAPI::Models::SSHCertificateAuthority] result from the API request
|
|
188
|
+
#
|
|
189
|
+
# https://ngrok.com/docs/api#api-ssh-certificate-authorities-update
|
|
190
|
+
def update!(
|
|
191
|
+
id: "",
|
|
192
|
+
description: nil,
|
|
193
|
+
metadata: nil
|
|
194
|
+
)
|
|
195
|
+
path = '/ssh_certificate_authorities/%{id}'
|
|
196
|
+
replacements = {
|
|
197
|
+
id: id,
|
|
198
|
+
}
|
|
199
|
+
data = {}
|
|
200
|
+
data[:description] = description if description
|
|
201
|
+
data[:metadata] = metadata if metadata
|
|
202
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
203
|
+
NgrokAPI::Models::SSHCertificateAuthority.new(client: self, result: result)
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
end
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module NgrokAPI
|
|
4
|
+
module Services
|
|
5
|
+
##
|
|
6
|
+
# SSH Credentials are SSH public keys that can be used to start SSH tunnels
|
|
7
|
+
# via the ngrok SSH tunnel gateway.
|
|
8
|
+
#
|
|
9
|
+
# https://ngrok.com/docs/api#api-ssh-credentials
|
|
10
|
+
class SSHCredentialsClient
|
|
11
|
+
# The API path for the requests
|
|
12
|
+
PATH = '/ssh_credentials'
|
|
13
|
+
# The List Property from the resulting API for list calls
|
|
14
|
+
LIST_PROPERTY = 'ssh_credentials'
|
|
15
|
+
|
|
16
|
+
attr_reader :client
|
|
17
|
+
|
|
18
|
+
def initialize(client:)
|
|
19
|
+
@client = client
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# Create a new ssh_credential from an uploaded public SSH key. This ssh credential
|
|
24
|
+
# can be used to start new tunnels via ngrok's SSH gateway.
|
|
25
|
+
#
|
|
26
|
+
# @param [string] description human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes.
|
|
27
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes.
|
|
28
|
+
# @param [List<string>] acl optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the ``bind`` rule. The ``bind`` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule ``bind:example.ngrok.io``. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of ``bind:*.example.com`` which will allow ``x.example.com``, ``y.example.com``, ``*.example.com``, etc. A rule of ``'*'`` is equivalent to no acl at all and will explicitly permit all actions.
|
|
29
|
+
# @param [string] public_key the PEM-encoded public key of the SSH keypair that will be used to authenticate
|
|
30
|
+
# @return [NgrokAPI::Models::SSHCredential] result from the API request
|
|
31
|
+
#
|
|
32
|
+
# https://ngrok.com/docs/api#api-ssh-credentials-create
|
|
33
|
+
def create(
|
|
34
|
+
description: "",
|
|
35
|
+
metadata: "",
|
|
36
|
+
acl: [],
|
|
37
|
+
public_key:
|
|
38
|
+
)
|
|
39
|
+
path = '/ssh_credentials'
|
|
40
|
+
replacements = {
|
|
41
|
+
}
|
|
42
|
+
data = {}
|
|
43
|
+
data[:description] = description if description
|
|
44
|
+
data[:metadata] = metadata if metadata
|
|
45
|
+
data[:acl] = acl if acl
|
|
46
|
+
data[:public_key] = public_key if public_key
|
|
47
|
+
result = @client.post(path % replacements, data: data)
|
|
48
|
+
NgrokAPI::Models::SSHCredential.new(client: self, result: result)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
##
|
|
52
|
+
# Delete an ssh_credential by ID
|
|
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-ssh-credentials-delete
|
|
58
|
+
def delete(
|
|
59
|
+
id: ""
|
|
60
|
+
)
|
|
61
|
+
path = '/ssh_credentials/%{id}'
|
|
62
|
+
replacements = {
|
|
63
|
+
id: id,
|
|
64
|
+
}
|
|
65
|
+
@client.delete(path % replacements)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
##
|
|
69
|
+
# Delete an ssh_credential by ID
|
|
70
|
+
# Throws an exception if API error.
|
|
71
|
+
#
|
|
72
|
+
# @param [string] id a resource identifier
|
|
73
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
74
|
+
#
|
|
75
|
+
# https://ngrok.com/docs/api#api-ssh-credentials-delete
|
|
76
|
+
def delete!(
|
|
77
|
+
id: ""
|
|
78
|
+
)
|
|
79
|
+
path = '/ssh_credentials/%{id}'
|
|
80
|
+
replacements = {
|
|
81
|
+
id: id,
|
|
82
|
+
}
|
|
83
|
+
@client.delete(path % replacements, danger: true)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# Get detailed information about an ssh_credential
|
|
88
|
+
#
|
|
89
|
+
# @param [string] id a resource identifier
|
|
90
|
+
# @return [NgrokAPI::Models::SSHCredential] result from the API request
|
|
91
|
+
#
|
|
92
|
+
# https://ngrok.com/docs/api#api-ssh-credentials-get
|
|
93
|
+
def get(
|
|
94
|
+
id: ""
|
|
95
|
+
)
|
|
96
|
+
path = '/ssh_credentials/%{id}'
|
|
97
|
+
replacements = {
|
|
98
|
+
id: id,
|
|
99
|
+
}
|
|
100
|
+
data = {}
|
|
101
|
+
result = @client.get(path % replacements, data: data)
|
|
102
|
+
NgrokAPI::Models::SSHCredential.new(client: self, result: result)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
##
|
|
106
|
+
# Get detailed information about an ssh_credential
|
|
107
|
+
# Throws an exception if API error.
|
|
108
|
+
#
|
|
109
|
+
# @param [string] id a resource identifier
|
|
110
|
+
# @return [NgrokAPI::Models::SSHCredential] result from the API request
|
|
111
|
+
#
|
|
112
|
+
# https://ngrok.com/docs/api#api-ssh-credentials-get
|
|
113
|
+
def get!(
|
|
114
|
+
id: ""
|
|
115
|
+
)
|
|
116
|
+
path = '/ssh_credentials/%{id}'
|
|
117
|
+
replacements = {
|
|
118
|
+
id: id,
|
|
119
|
+
}
|
|
120
|
+
data = {}
|
|
121
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
122
|
+
NgrokAPI::Models::SSHCredential.new(client: self, result: result)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
##
|
|
126
|
+
# List all ssh credentials on this account
|
|
127
|
+
#
|
|
128
|
+
# @param [string] before_id
|
|
129
|
+
# @param [string] limit
|
|
130
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
131
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
132
|
+
#
|
|
133
|
+
# https://ngrok.com/docs/api#api-ssh-credentials-list
|
|
134
|
+
def list(
|
|
135
|
+
before_id: nil,
|
|
136
|
+
limit: nil,
|
|
137
|
+
url: nil
|
|
138
|
+
)
|
|
139
|
+
result = @client.list(
|
|
140
|
+
before_id: before_id,
|
|
141
|
+
limit: limit,
|
|
142
|
+
url: url,
|
|
143
|
+
path: PATH
|
|
144
|
+
)
|
|
145
|
+
NgrokAPI::Models::Listable.new(
|
|
146
|
+
client: self,
|
|
147
|
+
result: result,
|
|
148
|
+
list_property: LIST_PROPERTY,
|
|
149
|
+
klass: NgrokAPI::Models::SSHCredential
|
|
150
|
+
)
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
##
|
|
154
|
+
# Update attributes of an ssh_credential by ID
|
|
155
|
+
#
|
|
156
|
+
# @param [string] id
|
|
157
|
+
# @param [string] description human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes.
|
|
158
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes.
|
|
159
|
+
# @param [List<string>] acl optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the ``bind`` rule. The ``bind`` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule ``bind:example.ngrok.io``. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of ``bind:*.example.com`` which will allow ``x.example.com``, ``y.example.com``, ``*.example.com``, etc. A rule of ``'*'`` is equivalent to no acl at all and will explicitly permit all actions.
|
|
160
|
+
# @return [NgrokAPI::Models::SSHCredential] result from the API request
|
|
161
|
+
#
|
|
162
|
+
# https://ngrok.com/docs/api#api-ssh-credentials-update
|
|
163
|
+
def update(
|
|
164
|
+
id: "",
|
|
165
|
+
description: nil,
|
|
166
|
+
metadata: nil,
|
|
167
|
+
acl: nil
|
|
168
|
+
)
|
|
169
|
+
path = '/ssh_credentials/%{id}'
|
|
170
|
+
replacements = {
|
|
171
|
+
id: id,
|
|
172
|
+
}
|
|
173
|
+
data = {}
|
|
174
|
+
data[:description] = description if description
|
|
175
|
+
data[:metadata] = metadata if metadata
|
|
176
|
+
data[:acl] = acl if acl
|
|
177
|
+
result = @client.patch(path % replacements, data: data)
|
|
178
|
+
NgrokAPI::Models::SSHCredential.new(client: self, result: result)
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
##
|
|
182
|
+
# Update attributes of an ssh_credential by ID
|
|
183
|
+
# Throws an exception if API error.
|
|
184
|
+
#
|
|
185
|
+
# @param [string] id
|
|
186
|
+
# @param [string] description human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes.
|
|
187
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes.
|
|
188
|
+
# @param [List<string>] acl optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the ``bind`` rule. The ``bind`` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule ``bind:example.ngrok.io``. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of ``bind:*.example.com`` which will allow ``x.example.com``, ``y.example.com``, ``*.example.com``, etc. A rule of ``'*'`` is equivalent to no acl at all and will explicitly permit all actions.
|
|
189
|
+
# @return [NgrokAPI::Models::SSHCredential] result from the API request
|
|
190
|
+
#
|
|
191
|
+
# https://ngrok.com/docs/api#api-ssh-credentials-update
|
|
192
|
+
def update!(
|
|
193
|
+
id: "",
|
|
194
|
+
description: nil,
|
|
195
|
+
metadata: nil,
|
|
196
|
+
acl: nil
|
|
197
|
+
)
|
|
198
|
+
path = '/ssh_credentials/%{id}'
|
|
199
|
+
replacements = {
|
|
200
|
+
id: id,
|
|
201
|
+
}
|
|
202
|
+
data = {}
|
|
203
|
+
data[:description] = description if description
|
|
204
|
+
data[:metadata] = metadata if metadata
|
|
205
|
+
data[:acl] = acl if acl
|
|
206
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
207
|
+
NgrokAPI::Models::SSHCredential.new(client: self, result: result)
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
end
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module NgrokAPI
|
|
4
|
+
module Services
|
|
5
|
+
##
|
|
6
|
+
# SSH Host Certificates along with the corresponding private key allows an SSH
|
|
7
|
+
# server to assert its authenticity to connecting SSH clients who trust the
|
|
8
|
+
# SSH Certificate Authority that was used to sign the certificate.
|
|
9
|
+
#
|
|
10
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates
|
|
11
|
+
class SSHHostCertificatesClient
|
|
12
|
+
# The API path for the requests
|
|
13
|
+
PATH = '/ssh_host_certificates'
|
|
14
|
+
# The List Property from the resulting API for list calls
|
|
15
|
+
LIST_PROPERTY = 'ssh_host_certificates'
|
|
16
|
+
|
|
17
|
+
attr_reader :client
|
|
18
|
+
|
|
19
|
+
def initialize(client:)
|
|
20
|
+
@client = client
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
##
|
|
24
|
+
# Create a new SSH Host Certificate
|
|
25
|
+
#
|
|
26
|
+
# @param [string] ssh_certificate_authority_id the ssh certificate authority that is used to sign this ssh host certificate
|
|
27
|
+
# @param [string] public_key a public key in OpenSSH Authorized Keys format that this certificate signs
|
|
28
|
+
# @param [List<string>] principals the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts.
|
|
29
|
+
# @param [datetime (RFC3339 string)] valid_after The time when the host certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified.
|
|
30
|
+
# @param [datetime (RFC3339 string)] valid_until The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of one year in the future will be used. The OpenSSH certificates RFC calls this ``valid_before``.
|
|
31
|
+
# @param [string] description human-readable description of this SSH Host Certificate. optional, max 255 bytes.
|
|
32
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
|
|
33
|
+
# @return [NgrokAPI::Models::SSHHostCertificate] result from the API request
|
|
34
|
+
#
|
|
35
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates-create
|
|
36
|
+
def create(
|
|
37
|
+
ssh_certificate_authority_id:,
|
|
38
|
+
public_key:,
|
|
39
|
+
principals: [],
|
|
40
|
+
valid_after: "",
|
|
41
|
+
valid_until: "",
|
|
42
|
+
description: "",
|
|
43
|
+
metadata: ""
|
|
44
|
+
)
|
|
45
|
+
path = '/ssh_host_certificates'
|
|
46
|
+
replacements = {
|
|
47
|
+
}
|
|
48
|
+
data = {}
|
|
49
|
+
data[:ssh_certificate_authority_id] = ssh_certificate_authority_id if ssh_certificate_authority_id
|
|
50
|
+
data[:public_key] = public_key if public_key
|
|
51
|
+
data[:principals] = principals if principals
|
|
52
|
+
data[:valid_after] = valid_after if valid_after
|
|
53
|
+
data[:valid_until] = valid_until if valid_until
|
|
54
|
+
data[:description] = description if description
|
|
55
|
+
data[:metadata] = metadata if metadata
|
|
56
|
+
result = @client.post(path % replacements, data: data)
|
|
57
|
+
NgrokAPI::Models::SSHHostCertificate.new(client: self, result: result)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
##
|
|
61
|
+
# Delete an SSH Host Certificate
|
|
62
|
+
#
|
|
63
|
+
# @param [string] id a resource identifier
|
|
64
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
65
|
+
#
|
|
66
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates-delete
|
|
67
|
+
def delete(
|
|
68
|
+
id: ""
|
|
69
|
+
)
|
|
70
|
+
path = '/ssh_host_certificates/%{id}'
|
|
71
|
+
replacements = {
|
|
72
|
+
id: id,
|
|
73
|
+
}
|
|
74
|
+
@client.delete(path % replacements)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
##
|
|
78
|
+
# Delete an SSH Host Certificate
|
|
79
|
+
# Throws an exception if API error.
|
|
80
|
+
#
|
|
81
|
+
# @param [string] id a resource identifier
|
|
82
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
|
83
|
+
#
|
|
84
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates-delete
|
|
85
|
+
def delete!(
|
|
86
|
+
id: ""
|
|
87
|
+
)
|
|
88
|
+
path = '/ssh_host_certificates/%{id}'
|
|
89
|
+
replacements = {
|
|
90
|
+
id: id,
|
|
91
|
+
}
|
|
92
|
+
@client.delete(path % replacements, danger: true)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
##
|
|
96
|
+
# Get detailed information about an SSH Host Certficate
|
|
97
|
+
#
|
|
98
|
+
# @param [string] id a resource identifier
|
|
99
|
+
# @return [NgrokAPI::Models::SSHHostCertificate] result from the API request
|
|
100
|
+
#
|
|
101
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates-get
|
|
102
|
+
def get(
|
|
103
|
+
id: ""
|
|
104
|
+
)
|
|
105
|
+
path = '/ssh_host_certificates/%{id}'
|
|
106
|
+
replacements = {
|
|
107
|
+
id: id,
|
|
108
|
+
}
|
|
109
|
+
data = {}
|
|
110
|
+
result = @client.get(path % replacements, data: data)
|
|
111
|
+
NgrokAPI::Models::SSHHostCertificate.new(client: self, result: result)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
##
|
|
115
|
+
# Get detailed information about an SSH Host Certficate
|
|
116
|
+
# Throws an exception if API error.
|
|
117
|
+
#
|
|
118
|
+
# @param [string] id a resource identifier
|
|
119
|
+
# @return [NgrokAPI::Models::SSHHostCertificate] result from the API request
|
|
120
|
+
#
|
|
121
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates-get
|
|
122
|
+
def get!(
|
|
123
|
+
id: ""
|
|
124
|
+
)
|
|
125
|
+
path = '/ssh_host_certificates/%{id}'
|
|
126
|
+
replacements = {
|
|
127
|
+
id: id,
|
|
128
|
+
}
|
|
129
|
+
data = {}
|
|
130
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
|
131
|
+
NgrokAPI::Models::SSHHostCertificate.new(client: self, result: result)
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
##
|
|
135
|
+
# List all SSH Host Certificates issued on this account
|
|
136
|
+
#
|
|
137
|
+
# @param [string] before_id
|
|
138
|
+
# @param [string] limit
|
|
139
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
|
140
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
|
141
|
+
#
|
|
142
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates-list
|
|
143
|
+
def list(
|
|
144
|
+
before_id: nil,
|
|
145
|
+
limit: nil,
|
|
146
|
+
url: nil
|
|
147
|
+
)
|
|
148
|
+
result = @client.list(
|
|
149
|
+
before_id: before_id,
|
|
150
|
+
limit: limit,
|
|
151
|
+
url: url,
|
|
152
|
+
path: PATH
|
|
153
|
+
)
|
|
154
|
+
NgrokAPI::Models::Listable.new(
|
|
155
|
+
client: self,
|
|
156
|
+
result: result,
|
|
157
|
+
list_property: LIST_PROPERTY,
|
|
158
|
+
klass: NgrokAPI::Models::SSHHostCertificate
|
|
159
|
+
)
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
##
|
|
163
|
+
# Update an SSH Host Certificate
|
|
164
|
+
#
|
|
165
|
+
# @param [string] id
|
|
166
|
+
# @param [string] description human-readable description of this SSH Host Certificate. optional, max 255 bytes.
|
|
167
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
|
|
168
|
+
# @return [NgrokAPI::Models::SSHHostCertificate] result from the API request
|
|
169
|
+
#
|
|
170
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates-update
|
|
171
|
+
def update(
|
|
172
|
+
id: "",
|
|
173
|
+
description: nil,
|
|
174
|
+
metadata: nil
|
|
175
|
+
)
|
|
176
|
+
path = '/ssh_host_certificates/%{id}'
|
|
177
|
+
replacements = {
|
|
178
|
+
id: id,
|
|
179
|
+
}
|
|
180
|
+
data = {}
|
|
181
|
+
data[:description] = description if description
|
|
182
|
+
data[:metadata] = metadata if metadata
|
|
183
|
+
result = @client.patch(path % replacements, data: data)
|
|
184
|
+
NgrokAPI::Models::SSHHostCertificate.new(client: self, result: result)
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
##
|
|
188
|
+
# Update an SSH Host Certificate
|
|
189
|
+
# Throws an exception if API error.
|
|
190
|
+
#
|
|
191
|
+
# @param [string] id
|
|
192
|
+
# @param [string] description human-readable description of this SSH Host Certificate. optional, max 255 bytes.
|
|
193
|
+
# @param [string] metadata arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
|
|
194
|
+
# @return [NgrokAPI::Models::SSHHostCertificate] result from the API request
|
|
195
|
+
#
|
|
196
|
+
# https://ngrok.com/docs/api#api-ssh-host-certificates-update
|
|
197
|
+
def update!(
|
|
198
|
+
id: "",
|
|
199
|
+
description: nil,
|
|
200
|
+
metadata: nil
|
|
201
|
+
)
|
|
202
|
+
path = '/ssh_host_certificates/%{id}'
|
|
203
|
+
replacements = {
|
|
204
|
+
id: id,
|
|
205
|
+
}
|
|
206
|
+
data = {}
|
|
207
|
+
data[:description] = description if description
|
|
208
|
+
data[:metadata] = metadata if metadata
|
|
209
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
|
210
|
+
NgrokAPI::Models::SSHHostCertificate.new(client: self, result: result)
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|