ngrok-api 0.24.0 → 0.25.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/.github/workflows/ci.yml +1 -1
- data/CHANGELOG.md +9 -0
- data/Gemfile.lock +9 -1
- data/doc/NgrokAPI/Client.html +223 -67
- data/doc/NgrokAPI/Error.html +2 -2
- data/doc/NgrokAPI/Errors/NotFoundError.html +2 -2
- data/doc/NgrokAPI/Errors.html +2 -2
- data/doc/NgrokAPI/HttpClient.html +2 -2
- data/doc/NgrokAPI/Models/APIKey.html +2 -2
- data/doc/NgrokAPI/Models/AWSAuth.html +2 -2
- data/doc/NgrokAPI/Models/AWSCredentials.html +2 -2
- data/doc/NgrokAPI/Models/AWSRole.html +2 -2
- data/doc/NgrokAPI/Models/AbuseReport.html +2 -2
- data/doc/NgrokAPI/Models/AbuseReportHostname.html +2 -2
- data/doc/NgrokAPI/Models/AgentIngress.html +2 -2
- data/doc/NgrokAPI/Models/AgentIngressCertJob.html +2 -2
- data/doc/NgrokAPI/Models/AgentIngressCertPolicy.html +2 -2
- data/doc/NgrokAPI/Models/AgentIngressCertStatus.html +2 -2
- data/doc/NgrokAPI/Models/ApplicationSession.html +2 -2
- data/doc/NgrokAPI/Models/ApplicationUser.html +2 -2
- data/doc/NgrokAPI/Models/BotUser.html +2 -2
- data/doc/NgrokAPI/Models/BrowserSession.html +2 -2
- data/doc/NgrokAPI/Models/CertificateAuthority.html +2 -2
- data/doc/NgrokAPI/Models/Credential.html +2 -2
- data/doc/NgrokAPI/Models/Endpoint.html +48 -42
- data/doc/NgrokAPI/Models/EndpointBackend.html +2 -2
- data/doc/NgrokAPI/Models/EndpointBackendMutate.html +2 -2
- data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +2 -2
- data/doc/NgrokAPI/Models/EndpointCompression.html +2 -2
- data/doc/NgrokAPI/Models/EndpointIPPolicy.html +2 -2
- data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +2 -2
- data/doc/NgrokAPI/Models/EndpointMutualTLS.html +2 -2
- data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuth.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthAmazon.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthGitLab.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthLinkedIn.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOAuthTwitch.html +2 -2
- data/doc/NgrokAPI/Models/EndpointOIDC.html +2 -2
- data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +2 -2
- data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +2 -2
- data/doc/NgrokAPI/Models/EndpointSAML.html +2 -2
- data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +2 -2
- data/doc/NgrokAPI/Models/EndpointTLSTermination.html +2 -2
- data/doc/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +2 -2
- data/doc/NgrokAPI/Models/EndpointTrafficPolicy.html +2 -2
- data/doc/NgrokAPI/Models/EndpointUserAgentFilter.html +2 -2
- data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +2 -2
- data/doc/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +2 -2
- data/doc/NgrokAPI/Models/EventDestination.html +2 -2
- data/doc/NgrokAPI/Models/EventSource.html +2 -2
- data/doc/NgrokAPI/Models/EventSourceList.html +2 -2
- data/doc/NgrokAPI/Models/EventSourceReplace.html +2 -2
- data/doc/NgrokAPI/Models/EventSubscription.html +2 -2
- data/doc/NgrokAPI/Models/EventTarget.html +2 -2
- data/doc/NgrokAPI/Models/EventTargetAzureLogsIngestion.html +2 -2
- data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +2 -2
- data/doc/NgrokAPI/Models/EventTargetDatadog.html +2 -2
- data/doc/NgrokAPI/Models/EventTargetFirehose.html +2 -2
- data/doc/NgrokAPI/Models/EventTargetKinesis.html +2 -2
- data/doc/NgrokAPI/Models/FailoverBackend.html +2 -2
- data/doc/NgrokAPI/Models/HTTPResponseBackend.html +2 -2
- data/doc/NgrokAPI/Models/HTTPSEdge.html +2 -2
- data/doc/NgrokAPI/Models/HTTPSEdgeRoute.html +2 -2
- data/doc/NgrokAPI/Models/IPPolicy.html +2 -2
- data/doc/NgrokAPI/Models/IPPolicyRule.html +2 -2
- data/doc/NgrokAPI/Models/IPRestriction.html +2 -2
- data/doc/NgrokAPI/Models/IdentityProvider.html +2 -2
- data/doc/NgrokAPI/Models/Listable.html +2 -2
- data/doc/NgrokAPI/Models/Location.html +2 -2
- data/doc/NgrokAPI/Models/Ref.html +2 -2
- data/doc/NgrokAPI/Models/ReservedAddr.html +2 -2
- data/doc/NgrokAPI/Models/ReservedDomain.html +2 -2
- data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +2 -2
- data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +2 -2
- data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +2 -2
- data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +2 -2
- data/doc/NgrokAPI/Models/SSHCredential.html +2 -2
- data/doc/NgrokAPI/Models/SSHHostCertificate.html +2 -2
- data/doc/NgrokAPI/Models/SSHUserCertificate.html +2 -2
- data/doc/NgrokAPI/Models/Secret.html +1336 -0
- data/doc/NgrokAPI/Models/StaticBackend.html +2 -2
- data/doc/NgrokAPI/Models/StaticBackendTLS.html +2 -2
- data/doc/NgrokAPI/Models/TCPEdge.html +2 -2
- data/doc/NgrokAPI/Models/TLSCertificate.html +2 -2
- data/doc/NgrokAPI/Models/TLSCertificateSANs.html +2 -2
- data/doc/NgrokAPI/Models/TLSEdge.html +2 -2
- data/doc/NgrokAPI/Models/Tunnel.html +2 -2
- data/doc/NgrokAPI/Models/TunnelGroupBackend.html +2 -2
- data/doc/NgrokAPI/Models/TunnelSession.html +2 -2
- data/doc/NgrokAPI/Models/UserAgent.html +2 -2
- data/doc/NgrokAPI/Models/Vault.html +1353 -0
- data/doc/NgrokAPI/Models/WeightedBackend.html +2 -2
- data/doc/NgrokAPI/Models.html +4 -4
- data/doc/NgrokAPI/PagedIterator.html +2 -2
- data/doc/NgrokAPI/Services/APIKeysClient.html +2 -2
- data/doc/NgrokAPI/Services/AbuseReportsClient.html +2 -2
- data/doc/NgrokAPI/Services/AgentIngressesClient.html +2 -2
- data/doc/NgrokAPI/Services/ApplicationSessionsClient.html +2 -2
- data/doc/NgrokAPI/Services/ApplicationUsersClient.html +2 -2
- data/doc/NgrokAPI/Services/BotUsersClient.html +2 -2
- data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +2 -2
- data/doc/NgrokAPI/Services/CredentialsClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteCircuitBreakerModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteTrafficPolicyModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteUserAgentFilterModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteWebhookVerificationModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgesHTTPSClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgesHTTPSRoutesClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgesTCPClient.html +2 -2
- data/doc/NgrokAPI/Services/EdgesTLSClient.html +2 -2
- data/doc/NgrokAPI/Services/EndpointsClient.html +236 -128
- data/doc/NgrokAPI/Services/EventDestinationsClient.html +2 -2
- data/doc/NgrokAPI/Services/EventSourcesClient.html +2 -2
- data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +2 -2
- data/doc/NgrokAPI/Services/FailoverBackendsClient.html +2 -2
- data/doc/NgrokAPI/Services/HTTPResponseBackendsClient.html +2 -2
- data/doc/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/HTTPSEdgeTLSTerminationModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/IPPoliciesClient.html +2 -2
- data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +2 -2
- data/doc/NgrokAPI/Services/IPRestrictionsClient.html +2 -2
- data/doc/NgrokAPI/Services/ReservedAddrsClient.html +2 -2
- data/doc/NgrokAPI/Services/ReservedDomainsClient.html +2 -2
- data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +2 -2
- data/doc/NgrokAPI/Services/SSHCredentialsClient.html +2 -2
- data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +2 -2
- data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +2 -2
- data/doc/NgrokAPI/Services/SecretsClient.html +1925 -0
- data/doc/NgrokAPI/Services/StaticBackendsClient.html +2 -2
- data/doc/NgrokAPI/Services/TCPEdgeBackendModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/TCPEdgeTrafficPolicyModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/TLSCertificatesClient.html +2 -2
- data/doc/NgrokAPI/Services/TLSEdgeBackendModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/TLSEdgeMutualTLSModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/TLSEdgeTrafficPolicyModuleClient.html +2 -2
- data/doc/NgrokAPI/Services/TunnelGroupBackendsClient.html +2 -2
- data/doc/NgrokAPI/Services/TunnelSessionsClient.html +2 -2
- data/doc/NgrokAPI/Services/TunnelsClient.html +2 -2
- data/doc/NgrokAPI/Services/VaultsClient.html +1809 -0
- data/doc/NgrokAPI/Services/WeightedBackendsClient.html +2 -2
- data/doc/NgrokAPI/Services.html +5 -5
- data/doc/NgrokAPI.html +3 -3
- data/doc/_index.html +38 -2
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +2 -2
- data/doc/index.html +2 -2
- data/doc/method_list.html +735 -255
- data/doc/top-level-namespace.html +2 -2
- data/docs/NgrokAPI/Client.html +223 -67
- data/docs/NgrokAPI/Error.html +2 -2
- data/docs/NgrokAPI/Errors/NotFoundError.html +2 -2
- data/docs/NgrokAPI/Errors.html +2 -2
- data/docs/NgrokAPI/HttpClient.html +2 -2
- data/docs/NgrokAPI/Models/APIKey.html +2 -2
- data/docs/NgrokAPI/Models/AWSAuth.html +2 -2
- data/docs/NgrokAPI/Models/AWSCredentials.html +2 -2
- data/docs/NgrokAPI/Models/AWSRole.html +2 -2
- data/docs/NgrokAPI/Models/AbuseReport.html +2 -2
- data/docs/NgrokAPI/Models/AbuseReportHostname.html +2 -2
- data/docs/NgrokAPI/Models/AgentIngress.html +2 -2
- data/docs/NgrokAPI/Models/AgentIngressCertJob.html +2 -2
- data/docs/NgrokAPI/Models/AgentIngressCertPolicy.html +2 -2
- data/docs/NgrokAPI/Models/AgentIngressCertStatus.html +2 -2
- data/docs/NgrokAPI/Models/ApplicationSession.html +2 -2
- data/docs/NgrokAPI/Models/ApplicationUser.html +2 -2
- data/docs/NgrokAPI/Models/BotUser.html +2 -2
- data/docs/NgrokAPI/Models/BrowserSession.html +2 -2
- data/docs/NgrokAPI/Models/CertificateAuthority.html +2 -2
- data/docs/NgrokAPI/Models/Credential.html +2 -2
- data/docs/NgrokAPI/Models/Endpoint.html +48 -42
- data/docs/NgrokAPI/Models/EndpointBackend.html +2 -2
- data/docs/NgrokAPI/Models/EndpointBackendMutate.html +2 -2
- data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +2 -2
- data/docs/NgrokAPI/Models/EndpointCompression.html +2 -2
- data/docs/NgrokAPI/Models/EndpointIPPolicy.html +2 -2
- data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +2 -2
- data/docs/NgrokAPI/Models/EndpointMutualTLS.html +2 -2
- data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuth.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthAmazon.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthGitLab.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthLinkedIn.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOAuthTwitch.html +2 -2
- data/docs/NgrokAPI/Models/EndpointOIDC.html +2 -2
- data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +2 -2
- data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +2 -2
- data/docs/NgrokAPI/Models/EndpointSAML.html +2 -2
- data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +2 -2
- data/docs/NgrokAPI/Models/EndpointTLSTermination.html +2 -2
- data/docs/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +2 -2
- data/docs/NgrokAPI/Models/EndpointTrafficPolicy.html +2 -2
- data/docs/NgrokAPI/Models/EndpointUserAgentFilter.html +2 -2
- data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +2 -2
- data/docs/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +2 -2
- data/docs/NgrokAPI/Models/EventDestination.html +2 -2
- data/docs/NgrokAPI/Models/EventSource.html +2 -2
- data/docs/NgrokAPI/Models/EventSourceList.html +2 -2
- data/docs/NgrokAPI/Models/EventSourceReplace.html +2 -2
- data/docs/NgrokAPI/Models/EventSubscription.html +2 -2
- data/docs/NgrokAPI/Models/EventTarget.html +2 -2
- data/docs/NgrokAPI/Models/EventTargetAzureLogsIngestion.html +2 -2
- data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +2 -2
- data/docs/NgrokAPI/Models/EventTargetDatadog.html +2 -2
- data/docs/NgrokAPI/Models/EventTargetFirehose.html +2 -2
- data/docs/NgrokAPI/Models/EventTargetKinesis.html +2 -2
- data/docs/NgrokAPI/Models/FailoverBackend.html +2 -2
- data/docs/NgrokAPI/Models/HTTPResponseBackend.html +2 -2
- data/docs/NgrokAPI/Models/HTTPSEdge.html +2 -2
- data/docs/NgrokAPI/Models/HTTPSEdgeRoute.html +2 -2
- data/docs/NgrokAPI/Models/IPPolicy.html +2 -2
- data/docs/NgrokAPI/Models/IPPolicyRule.html +2 -2
- data/docs/NgrokAPI/Models/IPRestriction.html +2 -2
- data/docs/NgrokAPI/Models/IdentityProvider.html +2 -2
- data/docs/NgrokAPI/Models/Listable.html +2 -2
- data/docs/NgrokAPI/Models/Location.html +2 -2
- data/docs/NgrokAPI/Models/Ref.html +2 -2
- data/docs/NgrokAPI/Models/ReservedAddr.html +2 -2
- data/docs/NgrokAPI/Models/ReservedDomain.html +2 -2
- data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +2 -2
- data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +2 -2
- data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +2 -2
- data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +2 -2
- data/docs/NgrokAPI/Models/SSHCredential.html +2 -2
- data/docs/NgrokAPI/Models/SSHHostCertificate.html +2 -2
- data/docs/NgrokAPI/Models/SSHUserCertificate.html +2 -2
- data/docs/NgrokAPI/Models/Secret.html +1336 -0
- data/docs/NgrokAPI/Models/StaticBackend.html +2 -2
- data/docs/NgrokAPI/Models/StaticBackendTLS.html +2 -2
- data/docs/NgrokAPI/Models/TCPEdge.html +2 -2
- data/docs/NgrokAPI/Models/TLSCertificate.html +2 -2
- data/docs/NgrokAPI/Models/TLSCertificateSANs.html +2 -2
- data/docs/NgrokAPI/Models/TLSEdge.html +2 -2
- data/docs/NgrokAPI/Models/Tunnel.html +2 -2
- data/docs/NgrokAPI/Models/TunnelGroupBackend.html +2 -2
- data/docs/NgrokAPI/Models/TunnelSession.html +2 -2
- data/docs/NgrokAPI/Models/UserAgent.html +2 -2
- data/docs/NgrokAPI/Models/Vault.html +1353 -0
- data/docs/NgrokAPI/Models/WeightedBackend.html +2 -2
- data/docs/NgrokAPI/Models.html +4 -4
- data/docs/NgrokAPI/PagedIterator.html +2 -2
- data/docs/NgrokAPI/Services/APIKeysClient.html +2 -2
- data/docs/NgrokAPI/Services/AbuseReportsClient.html +2 -2
- data/docs/NgrokAPI/Services/AgentIngressesClient.html +2 -2
- data/docs/NgrokAPI/Services/ApplicationSessionsClient.html +2 -2
- data/docs/NgrokAPI/Services/ApplicationUsersClient.html +2 -2
- data/docs/NgrokAPI/Services/BotUsersClient.html +2 -2
- data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +2 -2
- data/docs/NgrokAPI/Services/CredentialsClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteCircuitBreakerModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteTrafficPolicyModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteUserAgentFilterModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteWebhookVerificationModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgesHTTPSClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgesHTTPSRoutesClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgesTCPClient.html +2 -2
- data/docs/NgrokAPI/Services/EdgesTLSClient.html +2 -2
- data/docs/NgrokAPI/Services/EndpointsClient.html +236 -128
- data/docs/NgrokAPI/Services/EventDestinationsClient.html +2 -2
- data/docs/NgrokAPI/Services/EventSourcesClient.html +2 -2
- data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +2 -2
- data/docs/NgrokAPI/Services/FailoverBackendsClient.html +2 -2
- data/docs/NgrokAPI/Services/HTTPResponseBackendsClient.html +2 -2
- data/docs/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/HTTPSEdgeTLSTerminationModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/IPPoliciesClient.html +2 -2
- data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +2 -2
- data/docs/NgrokAPI/Services/IPRestrictionsClient.html +2 -2
- data/docs/NgrokAPI/Services/ReservedAddrsClient.html +2 -2
- data/docs/NgrokAPI/Services/ReservedDomainsClient.html +2 -2
- data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +2 -2
- data/docs/NgrokAPI/Services/SSHCredentialsClient.html +2 -2
- data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +2 -2
- data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +2 -2
- data/docs/NgrokAPI/Services/SecretsClient.html +1925 -0
- data/docs/NgrokAPI/Services/StaticBackendsClient.html +2 -2
- data/docs/NgrokAPI/Services/TCPEdgeBackendModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/TCPEdgeTrafficPolicyModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/TLSCertificatesClient.html +2 -2
- data/docs/NgrokAPI/Services/TLSEdgeBackendModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/TLSEdgeMutualTLSModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/TLSEdgeTrafficPolicyModuleClient.html +2 -2
- data/docs/NgrokAPI/Services/TunnelGroupBackendsClient.html +2 -2
- data/docs/NgrokAPI/Services/TunnelSessionsClient.html +2 -2
- data/docs/NgrokAPI/Services/TunnelsClient.html +2 -2
- data/docs/NgrokAPI/Services/VaultsClient.html +1809 -0
- data/docs/NgrokAPI/Services/WeightedBackendsClient.html +2 -2
- data/docs/NgrokAPI/Services.html +5 -5
- data/docs/NgrokAPI.html +3 -3
- data/docs/_index.html +38 -2
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +2 -2
- data/docs/index.html +2 -2
- data/docs/method_list.html +735 -255
- data/docs/top-level-namespace.html +2 -2
- data/lib/ngrokapi/client.rb +18 -0
- data/lib/ngrokapi/models/endpoint.rb +10 -7
- data/lib/ngrokapi/models/secret.rb +63 -0
- data/lib/ngrokapi/models/vault.rb +81 -0
- data/lib/ngrokapi/services/endpoints_client.rb +24 -8
- data/lib/ngrokapi/services/secrets_client.rb +246 -0
- data/lib/ngrokapi/services/vaults_client.rb +234 -0
- data/lib/ngrokapi/version.rb +1 -1
- data/spec/ngrokapi/client_spec.rb +12 -0
- data/spec/ngrokapi/models/endpoint_spec.rb +4 -1
- data/spec/ngrokapi/models/secret_spec.rb +30 -0
- data/spec/ngrokapi/models/vault_spec.rb +47 -0
- data/spec/ngrokapi/services/endpoints_client_spec.rb +12 -4
- data/spec/ngrokapi/services/secrets_client_spec.rb +198 -0
- data/spec/ngrokapi/services/vaults_client_spec.rb +186 -0
- data/spec/spec_helper.rb +117 -0
- metadata +18 -5
@@ -0,0 +1,234 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Code generated for API Clients. DO NOT EDIT.
|
4
|
+
|
5
|
+
module NgrokAPI
|
6
|
+
module Services
|
7
|
+
##
|
8
|
+
# Vaults is an api service for securely storing and managing sensitive data such
|
9
|
+
# as secrets, credentials, and tokens.
|
10
|
+
#
|
11
|
+
# https://ngrok.com/docs/api#api-vaults
|
12
|
+
class VaultsClient
|
13
|
+
# The API path for the requests
|
14
|
+
PATH = '/vaults'
|
15
|
+
# The List Property from the resulting API for list calls
|
16
|
+
LIST_PROPERTY = 'vaults'
|
17
|
+
|
18
|
+
attr_reader :client
|
19
|
+
|
20
|
+
def initialize(client:)
|
21
|
+
@client = client
|
22
|
+
end
|
23
|
+
|
24
|
+
##
|
25
|
+
# Create a new Vault
|
26
|
+
#
|
27
|
+
# @param [string] name Name of vault
|
28
|
+
# @param [string] metadata Arbitrary user-defined metadata for this Vault
|
29
|
+
# @param [string] description description of Vault
|
30
|
+
# @return [NgrokAPI::Models::Vault] result from the API request
|
31
|
+
#
|
32
|
+
# https://ngrok.com/docs/api#api-vaults-create
|
33
|
+
def create(name: "", metadata: "", description: "")
|
34
|
+
path = '/vaults'
|
35
|
+
replacements = {
|
36
|
+
}
|
37
|
+
data = {}
|
38
|
+
data[:name] = name if name
|
39
|
+
data[:metadata] = metadata if metadata
|
40
|
+
data[:description] = description if description
|
41
|
+
result = @client.post(path % replacements, data: data)
|
42
|
+
NgrokAPI::Models::Vault.new(client: self, attrs: result)
|
43
|
+
end
|
44
|
+
|
45
|
+
##
|
46
|
+
# Create a new Vault
|
47
|
+
# Throws an exception if API error.
|
48
|
+
#
|
49
|
+
# @param [string] name Name of vault
|
50
|
+
# @param [string] metadata Arbitrary user-defined metadata for this Vault
|
51
|
+
# @param [string] description description of Vault
|
52
|
+
# @return [NgrokAPI::Models::Vault] result from the API request
|
53
|
+
#
|
54
|
+
# https://ngrok.com/docs/api#api-vaults-create
|
55
|
+
def create!(name: "", metadata: "", description: "")
|
56
|
+
path = '/vaults'
|
57
|
+
replacements = {
|
58
|
+
}
|
59
|
+
data = {}
|
60
|
+
data[:name] = name if name
|
61
|
+
data[:metadata] = metadata if metadata
|
62
|
+
data[:description] = description if description
|
63
|
+
result = @client.post(path % replacements, data: data, danger: true)
|
64
|
+
NgrokAPI::Models::Vault.new(client: self, attrs: result)
|
65
|
+
end
|
66
|
+
|
67
|
+
##
|
68
|
+
# Update an existing Vault by ID
|
69
|
+
#
|
70
|
+
# @param [string] id identifier for Vault
|
71
|
+
# @param [string] name Name of vault
|
72
|
+
# @param [string] metadata Arbitrary user-defined metadata for this Vault
|
73
|
+
# @param [string] description description of Vault
|
74
|
+
# @return [NgrokAPI::Models::Vault] result from the API request
|
75
|
+
#
|
76
|
+
# https://ngrok.com/docs/api#api-vaults-update
|
77
|
+
def update(id: "", name: nil, metadata: nil, description: nil)
|
78
|
+
path = '/vaults/%{id}'
|
79
|
+
replacements = {
|
80
|
+
id: id,
|
81
|
+
}
|
82
|
+
data = {}
|
83
|
+
data[:name] = name if name
|
84
|
+
data[:metadata] = metadata if metadata
|
85
|
+
data[:description] = description if description
|
86
|
+
result = @client.patch(path % replacements, data: data)
|
87
|
+
NgrokAPI::Models::Vault.new(client: self, attrs: result)
|
88
|
+
end
|
89
|
+
|
90
|
+
##
|
91
|
+
# Update an existing Vault by ID
|
92
|
+
# Throws an exception if API error.
|
93
|
+
#
|
94
|
+
# @param [string] id identifier for Vault
|
95
|
+
# @param [string] name Name of vault
|
96
|
+
# @param [string] metadata Arbitrary user-defined metadata for this Vault
|
97
|
+
# @param [string] description description of Vault
|
98
|
+
# @return [NgrokAPI::Models::Vault] result from the API request
|
99
|
+
#
|
100
|
+
# https://ngrok.com/docs/api#api-vaults-update
|
101
|
+
def update!(id: "", name: nil, metadata: nil, description: nil)
|
102
|
+
path = '/vaults/%{id}'
|
103
|
+
replacements = {
|
104
|
+
id: id,
|
105
|
+
}
|
106
|
+
data = {}
|
107
|
+
data[:name] = name if name
|
108
|
+
data[:metadata] = metadata if metadata
|
109
|
+
data[:description] = description if description
|
110
|
+
result = @client.patch(path % replacements, data: data, danger: true)
|
111
|
+
NgrokAPI::Models::Vault.new(client: self, attrs: result)
|
112
|
+
end
|
113
|
+
|
114
|
+
##
|
115
|
+
# Delete a Vault
|
116
|
+
#
|
117
|
+
# @param [string] id a resource identifier
|
118
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
119
|
+
#
|
120
|
+
# https://ngrok.com/docs/api#api-vaults-delete
|
121
|
+
def delete(id: "")
|
122
|
+
path = '/vaults/%{id}'
|
123
|
+
replacements = {
|
124
|
+
id: id,
|
125
|
+
}
|
126
|
+
@client.delete(path % replacements)
|
127
|
+
end
|
128
|
+
|
129
|
+
##
|
130
|
+
# Delete a Vault
|
131
|
+
# Throws an exception if API error.
|
132
|
+
#
|
133
|
+
# @param [string] id a resource identifier
|
134
|
+
# @return [NgrokAPI::Models::Empty] result from the API request
|
135
|
+
#
|
136
|
+
# https://ngrok.com/docs/api#api-vaults-delete
|
137
|
+
def delete!(id: "")
|
138
|
+
path = '/vaults/%{id}'
|
139
|
+
replacements = {
|
140
|
+
id: id,
|
141
|
+
}
|
142
|
+
@client.delete(path % replacements, danger: true)
|
143
|
+
end
|
144
|
+
|
145
|
+
##
|
146
|
+
# Get a Vault by ID
|
147
|
+
#
|
148
|
+
# @param [string] id a resource identifier
|
149
|
+
# @return [NgrokAPI::Models::Vault] result from the API request
|
150
|
+
#
|
151
|
+
# https://ngrok.com/docs/api#api-vaults-get
|
152
|
+
def get(id: "")
|
153
|
+
path = '/vaults/%{id}'
|
154
|
+
replacements = {
|
155
|
+
id: id,
|
156
|
+
}
|
157
|
+
data = {}
|
158
|
+
result = @client.get(path % replacements, data: data)
|
159
|
+
NgrokAPI::Models::Vault.new(client: self, attrs: result)
|
160
|
+
end
|
161
|
+
|
162
|
+
##
|
163
|
+
# Get a Vault by ID
|
164
|
+
# Throws an exception if API error.
|
165
|
+
#
|
166
|
+
# @param [string] id a resource identifier
|
167
|
+
# @return [NgrokAPI::Models::Vault] result from the API request
|
168
|
+
#
|
169
|
+
# https://ngrok.com/docs/api#api-vaults-get
|
170
|
+
def get!(id: "")
|
171
|
+
path = '/vaults/%{id}'
|
172
|
+
replacements = {
|
173
|
+
id: id,
|
174
|
+
}
|
175
|
+
data = {}
|
176
|
+
result = @client.get(path % replacements, data: data, danger: true)
|
177
|
+
NgrokAPI::Models::Vault.new(client: self, attrs: result)
|
178
|
+
end
|
179
|
+
|
180
|
+
##
|
181
|
+
# List all Vaults owned by account
|
182
|
+
#
|
183
|
+
# @param [string] before_id
|
184
|
+
# @param [string] limit
|
185
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
186
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
187
|
+
#
|
188
|
+
# https://ngrok.com/docs/api#api-vaults-list
|
189
|
+
def list(before_id: nil, limit: nil, url: nil)
|
190
|
+
result = @client.list(
|
191
|
+
before_id: before_id,
|
192
|
+
limit: limit,
|
193
|
+
url: url,
|
194
|
+
path: PATH
|
195
|
+
)
|
196
|
+
|
197
|
+
NgrokAPI::Models::Listable.new(
|
198
|
+
client: self,
|
199
|
+
attrs: result,
|
200
|
+
list_property: LIST_PROPERTY,
|
201
|
+
klass: NgrokAPI::Models::Vault
|
202
|
+
)
|
203
|
+
end
|
204
|
+
|
205
|
+
##
|
206
|
+
# List all Vaults owned by account
|
207
|
+
# Throws an exception if API error.
|
208
|
+
#
|
209
|
+
# @param [string] before_id
|
210
|
+
# @param [string] limit
|
211
|
+
# @param [string] url optional and mutually exclusive from before_id and limit
|
212
|
+
# @return [NgrokAPI::Models::Listable] result from the API request
|
213
|
+
#
|
214
|
+
# https://ngrok.com/docs/api#api-vaults-list
|
215
|
+
def list!(before_id: nil, limit: nil, url: nil)
|
216
|
+
result = @client.list(
|
217
|
+
before_id: before_id,
|
218
|
+
limit: limit,
|
219
|
+
danger: true,
|
220
|
+
url: url,
|
221
|
+
path: PATH
|
222
|
+
)
|
223
|
+
|
224
|
+
NgrokAPI::Models::Listable.new(
|
225
|
+
client: self,
|
226
|
+
attrs: result,
|
227
|
+
list_property: LIST_PROPERTY,
|
228
|
+
klass: NgrokAPI::Models::Vault,
|
229
|
+
danger: true
|
230
|
+
)
|
231
|
+
end
|
232
|
+
end
|
233
|
+
end
|
234
|
+
end
|
data/lib/ngrokapi/version.rb
CHANGED
@@ -116,6 +116,12 @@ RSpec.describe NgrokAPI::Client do
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
+
describe "#secrets" do
|
120
|
+
it "returns an instance of the SecretsClient" do
|
121
|
+
expect(@client.secrets.class).to eq(NgrokAPI::Services::SecretsClient)
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
119
125
|
describe "#ssh_certificate_authorities" do
|
120
126
|
it "returns an instance of the SSHCertificateAuthoritiesClient" do
|
121
127
|
expect(@client.ssh_certificate_authorities.class).to eq(NgrokAPI::Services::SSHCertificateAuthoritiesClient)
|
@@ -152,6 +158,12 @@ RSpec.describe NgrokAPI::Client do
|
|
152
158
|
end
|
153
159
|
end
|
154
160
|
|
161
|
+
describe "#vaults" do
|
162
|
+
it "returns an instance of the VaultsClient" do
|
163
|
+
expect(@client.vaults.class).to eq(NgrokAPI::Services::VaultsClient)
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
155
167
|
describe "#backends" do
|
156
168
|
it "returns an instance of OpenStruct covering namespaces" do
|
157
169
|
ns = @client.backends
|
@@ -28,19 +28,22 @@ RSpec.describe NgrokAPI::Models::Endpoint do
|
|
28
28
|
new_description = 'New description'
|
29
29
|
new_metadata = 'New metadata'
|
30
30
|
new_bindings = 'New bindings'
|
31
|
+
new_pooling_enabled = 'New pooling_enabled'
|
31
32
|
expect(@endpoint.client).to receive(:update)
|
32
33
|
@endpoint.update(
|
33
34
|
url: new_url,
|
34
35
|
traffic_policy: new_traffic_policy,
|
35
36
|
description: new_description,
|
36
37
|
metadata: new_metadata,
|
37
|
-
bindings: new_bindings
|
38
|
+
bindings: new_bindings,
|
39
|
+
pooling_enabled: new_pooling_enabled
|
38
40
|
)
|
39
41
|
expect(@endpoint.url).to eq new_url
|
40
42
|
expect(@endpoint.traffic_policy).to eq new_traffic_policy
|
41
43
|
expect(@endpoint.description).to eq new_description
|
42
44
|
expect(@endpoint.metadata).to eq new_metadata
|
43
45
|
expect(@endpoint.bindings).to eq new_bindings
|
46
|
+
expect(@endpoint.pooling_enabled).to eq new_pooling_enabled
|
44
47
|
end
|
45
48
|
end
|
46
49
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Code generated for API Clients. DO NOT EDIT.
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe NgrokAPI::Models::Secret do
|
6
|
+
before(:each) do
|
7
|
+
@client = class_double("SecretsClient")
|
8
|
+
@secret = NgrokAPI::Models::Secret.new(client: @client, attrs: secret_result)
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "#==" do
|
12
|
+
it "is equal if the results are the same" do
|
13
|
+
other = NgrokAPI::Models::Secret.new(client: @client, attrs: secret_result)
|
14
|
+
expect(@secret == other).to eq true
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "#to_s" do
|
19
|
+
it "stringifies as result.to_s" do
|
20
|
+
expect(@secret.to_s).to eq secret_result.to_s
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "#delete" do
|
25
|
+
it "calls delete on the client" do
|
26
|
+
expect(@secret.client).to receive(:delete)
|
27
|
+
@secret.delete
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Code generated for API Clients. DO NOT EDIT.
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe NgrokAPI::Models::Vault do
|
6
|
+
before(:each) do
|
7
|
+
@client = class_double("VaultsClient")
|
8
|
+
@vault = NgrokAPI::Models::Vault.new(client: @client, attrs: vault_result)
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "#==" do
|
12
|
+
it "is equal if the results are the same" do
|
13
|
+
other = NgrokAPI::Models::Vault.new(client: @client, attrs: vault_result)
|
14
|
+
expect(@vault == other).to eq true
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "#to_s" do
|
19
|
+
it "stringifies as result.to_s" do
|
20
|
+
expect(@vault.to_s).to eq vault_result.to_s
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "#update" do
|
25
|
+
it "calls update on the client" do
|
26
|
+
new_name = 'New name'
|
27
|
+
new_metadata = 'New metadata'
|
28
|
+
new_description = 'New description'
|
29
|
+
expect(@vault.client).to receive(:update)
|
30
|
+
@vault.update(
|
31
|
+
name: new_name,
|
32
|
+
metadata: new_metadata,
|
33
|
+
description: new_description
|
34
|
+
)
|
35
|
+
expect(@vault.name).to eq new_name
|
36
|
+
expect(@vault.metadata).to eq new_metadata
|
37
|
+
expect(@vault.description).to eq new_description
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "#delete" do
|
42
|
+
it "calls delete on the client" do
|
43
|
+
expect(@vault.client).to receive(:delete)
|
44
|
+
@vault.delete
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -26,6 +26,7 @@ RSpec.describe NgrokAPI::Services::EndpointsClient do
|
|
26
26
|
data[:description] = "New description"
|
27
27
|
data[:metadata] = "New metadata"
|
28
28
|
data[:bindings] = "New bindings"
|
29
|
+
data[:pooling_enabled] = "New pooling_enabled"
|
29
30
|
expect(@client).to receive(:post).with(path % replacements, data: data).
|
30
31
|
and_return(endpoint_result)
|
31
32
|
result = @endpoints_client.create(
|
@@ -34,7 +35,8 @@ RSpec.describe NgrokAPI::Services::EndpointsClient do
|
|
34
35
|
traffic_policy: "New traffic_policy",
|
35
36
|
description: "New description",
|
36
37
|
metadata: "New metadata",
|
37
|
-
bindings: "New bindings"
|
38
|
+
bindings: "New bindings",
|
39
|
+
pooling_enabled: "New pooling_enabled"
|
38
40
|
)
|
39
41
|
expect(result.class).to eq(NgrokAPI::Models::Endpoint)
|
40
42
|
end
|
@@ -52,6 +54,7 @@ RSpec.describe NgrokAPI::Services::EndpointsClient do
|
|
52
54
|
data[:description] = "New description"
|
53
55
|
data[:metadata] = "New metadata"
|
54
56
|
data[:bindings] = "New bindings"
|
57
|
+
data[:pooling_enabled] = "New pooling_enabled"
|
55
58
|
expect(@client).to receive(:post).with(path % replacements, data: data).
|
56
59
|
and_return(endpoint_result)
|
57
60
|
result = @endpoints_client.create(
|
@@ -60,7 +63,8 @@ RSpec.describe NgrokAPI::Services::EndpointsClient do
|
|
60
63
|
traffic_policy: "New traffic_policy",
|
61
64
|
description: "New description",
|
62
65
|
metadata: "New metadata",
|
63
|
-
bindings: "New bindings"
|
66
|
+
bindings: "New bindings",
|
67
|
+
pooling_enabled: "New pooling_enabled"
|
64
68
|
)
|
65
69
|
expect(result.class).to eq(NgrokAPI::Models::Endpoint)
|
66
70
|
# expect(result.id).to eq(endpoint_result["id"])
|
@@ -122,6 +126,7 @@ RSpec.describe NgrokAPI::Services::EndpointsClient do
|
|
122
126
|
data[:description] = "New description"
|
123
127
|
data[:metadata] = "New metadata"
|
124
128
|
data[:bindings] = "New bindings"
|
129
|
+
data[:pooling_enabled] = "New pooling_enabled"
|
125
130
|
expect(@client).to receive(:patch).with(path % replacements, data: data).
|
126
131
|
and_return(endpoint_result)
|
127
132
|
result = @endpoints_client.update(
|
@@ -130,7 +135,8 @@ RSpec.describe NgrokAPI::Services::EndpointsClient do
|
|
130
135
|
traffic_policy: "New traffic_policy",
|
131
136
|
description: "New description",
|
132
137
|
metadata: "New metadata",
|
133
|
-
bindings: "New bindings"
|
138
|
+
bindings: "New bindings",
|
139
|
+
pooling_enabled: "New pooling_enabled"
|
134
140
|
)
|
135
141
|
expect(result.class).to eq(NgrokAPI::Models::Endpoint)
|
136
142
|
end
|
@@ -148,6 +154,7 @@ RSpec.describe NgrokAPI::Services::EndpointsClient do
|
|
148
154
|
data[:description] = "New description"
|
149
155
|
data[:metadata] = "New metadata"
|
150
156
|
data[:bindings] = "New bindings"
|
157
|
+
data[:pooling_enabled] = "New pooling_enabled"
|
151
158
|
expect(@client).to receive(:patch).with(path % replacements, data: data).
|
152
159
|
and_return(endpoint_result)
|
153
160
|
result = @endpoints_client.update(
|
@@ -156,7 +163,8 @@ RSpec.describe NgrokAPI::Services::EndpointsClient do
|
|
156
163
|
traffic_policy: "New traffic_policy",
|
157
164
|
description: "New description",
|
158
165
|
metadata: "New metadata",
|
159
|
-
bindings: "New bindings"
|
166
|
+
bindings: "New bindings",
|
167
|
+
pooling_enabled: "New pooling_enabled"
|
160
168
|
)
|
161
169
|
expect(result.class).to eq(NgrokAPI::Models::Endpoint)
|
162
170
|
# expect(result.id).to eq(endpoint_result["id"])
|
@@ -0,0 +1,198 @@
|
|
1
|
+
# Code generated for API Clients. DO NOT EDIT.
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe NgrokAPI::Services::SecretsClient do
|
6
|
+
let(:base_url) { 'https://api.ngrok.com' }
|
7
|
+
let(:path) { '/vault_secrets' }
|
8
|
+
let(:not_found) do
|
9
|
+
NgrokAPI::Errors::NotFoundError.new(response: secret_result)
|
10
|
+
end
|
11
|
+
|
12
|
+
before(:each) do
|
13
|
+
@client = class_double("HttpClient")
|
14
|
+
@secrets_client = NgrokAPI::Services::SecretsClient.new(client: @client)
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "#create" do
|
18
|
+
it "will make a post request and return an instance of NgrokAPI::Models::Secret" do
|
19
|
+
path = '/vault_secrets'
|
20
|
+
replacements = {
|
21
|
+
}
|
22
|
+
data = {}
|
23
|
+
data[:name] = "New name"
|
24
|
+
data[:value] = "New value"
|
25
|
+
data[:metadata] = "New metadata"
|
26
|
+
data[:description] = "New description"
|
27
|
+
data[:vault_id] = "New vault_id"
|
28
|
+
expect(@client).to receive(:post).with(path % replacements, data: data).
|
29
|
+
and_return(secret_result)
|
30
|
+
result = @secrets_client.create(
|
31
|
+
name: "New name",
|
32
|
+
value: "New value",
|
33
|
+
metadata: "New metadata",
|
34
|
+
description: "New description",
|
35
|
+
vault_id: "New vault_id"
|
36
|
+
)
|
37
|
+
expect(result.class).to eq(NgrokAPI::Models::Secret)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "#create!" do
|
42
|
+
it "will make a post request and return an instance of NgrokAPI::Models::Secret" do
|
43
|
+
path = '/vault_secrets'
|
44
|
+
replacements = {
|
45
|
+
}
|
46
|
+
data = {}
|
47
|
+
data[:name] = "New name"
|
48
|
+
data[:value] = "New value"
|
49
|
+
data[:metadata] = "New metadata"
|
50
|
+
data[:description] = "New description"
|
51
|
+
data[:vault_id] = "New vault_id"
|
52
|
+
expect(@client).to receive(:post).with(path % replacements, data: data).
|
53
|
+
and_return(secret_result)
|
54
|
+
result = @secrets_client.create(
|
55
|
+
name: "New name",
|
56
|
+
value: "New value",
|
57
|
+
metadata: "New metadata",
|
58
|
+
description: "New description",
|
59
|
+
vault_id: "New vault_id"
|
60
|
+
)
|
61
|
+
expect(result.class).to eq(NgrokAPI::Models::Secret)
|
62
|
+
# expect(result.id).to eq(secret_result["id"])
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe "#update" do
|
67
|
+
it "will make a patch request and return an instance of NgrokAPI::Models::Secret" do
|
68
|
+
path = '/vault_secrets/%{id}'
|
69
|
+
replacements = {
|
70
|
+
id: secret_result["id"],
|
71
|
+
}
|
72
|
+
data = {}
|
73
|
+
data[:name] = "New name"
|
74
|
+
data[:value] = "New value"
|
75
|
+
data[:metadata] = "New metadata"
|
76
|
+
data[:description] = "New description"
|
77
|
+
expect(@client).to receive(:patch).with(path % replacements, data: data).
|
78
|
+
and_return(secret_result)
|
79
|
+
result = @secrets_client.update(
|
80
|
+
id: secret_result["id"],
|
81
|
+
name: "New name",
|
82
|
+
value: "New value",
|
83
|
+
metadata: "New metadata",
|
84
|
+
description: "New description"
|
85
|
+
)
|
86
|
+
expect(result.class).to eq(NgrokAPI::Models::Secret)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "#update!" do
|
91
|
+
it "will make a patch request and return an instance of NgrokAPI::Models::Secret" do
|
92
|
+
path = '/vault_secrets/%{id}'
|
93
|
+
replacements = {
|
94
|
+
id: secret_result["id"],
|
95
|
+
}
|
96
|
+
data = {}
|
97
|
+
data[:name] = "New name"
|
98
|
+
data[:value] = "New value"
|
99
|
+
data[:metadata] = "New metadata"
|
100
|
+
data[:description] = "New description"
|
101
|
+
expect(@client).to receive(:patch).with(path % replacements, data: data).
|
102
|
+
and_return(secret_result)
|
103
|
+
result = @secrets_client.update(
|
104
|
+
id: secret_result["id"],
|
105
|
+
name: "New name",
|
106
|
+
value: "New value",
|
107
|
+
metadata: "New metadata",
|
108
|
+
description: "New description"
|
109
|
+
)
|
110
|
+
expect(result.class).to eq(NgrokAPI::Models::Secret)
|
111
|
+
# expect(result.id).to eq(secret_result["id"])
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
describe "#delete" do
|
116
|
+
it "will make a delete request" do
|
117
|
+
path = '/vault_secrets/%{id}'
|
118
|
+
replacements = {
|
119
|
+
id: api_key_result["id"],
|
120
|
+
}
|
121
|
+
expect(@client).to receive(:delete).with(path % replacements).and_return(nil)
|
122
|
+
@secrets_client.delete(
|
123
|
+
id: api_key_result["id"]
|
124
|
+
)
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
describe "#delete!" do
|
129
|
+
it "will make a delete request" do
|
130
|
+
path = '/vault_secrets/%{id}'
|
131
|
+
replacements = {
|
132
|
+
id: api_key_result["id"],
|
133
|
+
}
|
134
|
+
expect(@client).to receive(:delete).with(path % replacements, danger: true).and_return(nil)
|
135
|
+
@secrets_client.delete!(
|
136
|
+
id: api_key_result["id"]
|
137
|
+
)
|
138
|
+
end
|
139
|
+
|
140
|
+
it "will make a delete request and return NotFoundError if 404" do
|
141
|
+
path = '/vault_secrets/%{id}'
|
142
|
+
replacements = {
|
143
|
+
id: api_key_result["id"],
|
144
|
+
}
|
145
|
+
expect do
|
146
|
+
expect(@client).to receive(:delete).with(path % replacements, danger: true).
|
147
|
+
and_raise(NgrokAPI::Errors::NotFoundError)
|
148
|
+
result = @secrets_client.delete!(
|
149
|
+
id: api_key_result["id"]
|
150
|
+
)
|
151
|
+
expect(result).to be nil
|
152
|
+
end.to raise_error(NgrokAPI::Errors::NotFoundError)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe "#get" do
|
157
|
+
it "will make a get request and return an instance of NgrokAPI::Models::Secret" do
|
158
|
+
path = '/vault_secrets/%{id}'
|
159
|
+
replacements = {
|
160
|
+
id: secret_result["id"],
|
161
|
+
}
|
162
|
+
data = {}
|
163
|
+
expect(@client).to receive(:get).with(path % replacements, data: data).
|
164
|
+
and_return(secret_result)
|
165
|
+
result = @secrets_client.get(
|
166
|
+
id: secret_result["id"]
|
167
|
+
)
|
168
|
+
expect(result.class).to eq(NgrokAPI::Models::Secret)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
describe "#get!" do
|
173
|
+
it "will make a get request and return an instance of NgrokAPI::Models::Secret" do
|
174
|
+
path = '/vault_secrets/%{id}'
|
175
|
+
replacements = {
|
176
|
+
id: secret_result["id"],
|
177
|
+
}
|
178
|
+
data = {}
|
179
|
+
expect(@client).to receive(:get).with(path % replacements, data: data).
|
180
|
+
and_return(secret_result)
|
181
|
+
result = @secrets_client.get(
|
182
|
+
id: secret_result["id"]
|
183
|
+
)
|
184
|
+
expect(result.class).to eq(NgrokAPI::Models::Secret)
|
185
|
+
# expect(result.id).to eq(secret_result["id"])
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
describe "#list" do
|
190
|
+
it "will make a call to list (a GET request) and return a NgrokAPI::Models::Listable" do
|
191
|
+
expect(@client).to receive(:list).
|
192
|
+
and_return(secret_results)
|
193
|
+
url = base_url + path + "?before_id=" + api_key_result["id"] + "&limit=1"
|
194
|
+
result = @secrets_client.list(url: url)
|
195
|
+
expect(result.class).to eq(NgrokAPI::Models::Listable)
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|