Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) Doppler Secrets - List Matching SecretsSee more Secrets ExamplesList secrets in the Doppler Secrets matching one or more wildcarded names for app, service, domain, and username. Note: This example requires Chilkat v10.1.0 or later. For more information, see https://cknotes.com/chilkat-secrets-class-added-in-version-10-1-0/
LOCAL loBootstrap LOCAL loBsId LOCAL loSecrets LOCAL lnSuccess LOCAL loJsonMatch LOCAL loResults LOCAL lcAppName LOCAL lcService LOCAL lcDomain LOCAL lcUsername LOCAL lcDopplerName LOCAL i LOCAL lnNumSecrets * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * The bootstrap secret will contain the following information: * Doppler Token * See following examples for setting up a bootstrap secret in memory, * or in the local manager (Windows Credentials Manager or Apple Keychain) * Setup Bootstrap Secret in Local Manager * Setup Bootstrap Secret in Memory * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Secrets') loBootstrap = CreateObject('Chilkat.Secrets') * Set the location of the bootstrap secret. * Can be "local_manager" or "memory", depending on how you setup the bootstrap secret. * --------------------------------------------------------------------------------------------- * If your operating system is NOT Windows or MacOS/iOS, then change "local_manager" to "memory" * You can also, if desired, use "memory" on Windows and MacOS/iOS if your bootstrap secret was previously setup in memory. * --------------------------------------------------------------------------------------------- loBootstrap.Location = "local_manager" * Specify the bootstrap secret to be used. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loBsId = CreateObject('Chilkat.JsonObject') loBsId.UpdateString("appName","doppler_bs") loBsId.UpdateString("service","Example") loBsId.UpdateString("username","Joe") * ---------------------------------------------------- * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Secrets') loSecrets = CreateObject('Chilkat.Secrets') * Setup for the Doppler Secrets loSecrets.Location = "doppler" lnSuccess = loSecrets.SetBootstrapSecret(loBsId,loBootstrap) IF (lnSuccess = 0) THEN ? loSecrets.LastErrorText RELEASE loBootstrap RELEASE loBsId RELEASE loSecrets CANCEL ENDIF * Set wildcarded or exact values for appName, service, domain, and username. * Omit any members where anything is allowed to match, or alternatively specify "*" to match anything. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJsonMatch = CreateObject('Chilkat.JsonObject') loJsonMatch.UpdateString("appName","Test*") * The following lines can be omitted. Not specifying anything for service, domain, or username is the same as "*". loJsonMatch.UpdateString("service","*") loJsonMatch.UpdateString("domain","*") loJsonMatch.UpdateString("username","*") * You'll also need to specify your Doppler project and config names for each API call. loJsonMatch.UpdateString("project_name","example-project") loJsonMatch.UpdateString("config_name","dev") * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loResults = CreateObject('Chilkat.JsonObject') loResults.EmitCompact = 0 lnSuccess = loSecrets.ListSecrets(loJsonMatch,loResults) IF (lnSuccess = 0) THEN ? loSecrets.LastErrorText RELEASE loBootstrap RELEASE loBsId RELEASE loSecrets RELEASE loJsonMatch RELEASE loResults CANCEL ENDIF ? loResults.Emit() * Sample output: * { * "secrets": [ * { * "appName": "TEST", * "service": "SOMETHING", * "domain": "XYZ", * "username": "ABC", * "dopplerName": "TEST_SOMETHING_XYZ_ABC" * }, * { * "appName": "TEST2", * "service": "CUSTOM", * "domain": "OCEAN", * "username": "STARFISH", * "dopplerName": "TEST2_CUSTOM_OCEAN_STARFISH" * } * ] * } * --------------------------------------------------------------------------------------- * Here's sample code for parsing the JSON list of secrets. i = 0 lnNumSecrets = loResults.SizeOfArray("secrets") DO WHILE i < lnNumSecrets loResults.I = i * Note: appName and domain are optional and may not exist in any given secret. lcAppName = loResults.StringOf("secrets[i].appName") lcService = loResults.StringOf("secrets[i].service") lcDomain = loResults.StringOf("secrets[i].domain") lcUsername = loResults.StringOf("secrets[i].username") * Information field for the raw Doppler secret name. lcDopplerName = loResults.StringOf("secrets[i].dopplerName") i = i + 1 ENDDO RELEASE loBootstrap RELEASE loBsId RELEASE loSecrets RELEASE loJsonMatch RELEASE loResults |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.