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
(C) AWS Secrets Manager - Create SecretSee more AWS Secrets Manager ExamplesCreates a new secret. A secret is a set of credentials, such as a user name and password, that you store in an encrypted form in Secrets Manager. For more information, see https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html
#include <C_CkRest.h> #include <C_CkAuthAws.h> #include <C_CkJsonObject.h> #include <C_CkStringBuilder.h> void ChilkatSample(void) { HCkRest rest; BOOL bTls; int port; BOOL bAutoReconnect; BOOL success; HCkAuthAws authAws; HCkJsonObject json; HCkStringBuilder sbRequestBody; HCkStringBuilder sbResponseBody; int respStatusCode; HCkJsonObject jResp; const char *ARN; const char *Name; const char *VersionId; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Sends the following sample request. // Note: Chilkat will automatically add Content-Length, X-Amz-Date, Accept-Encoding, and Authorization // POST / HTTP/1.1 // Host: secretsmanager.region.domain // Accept-Encoding: identity // X-Amz-Target: secretsmanager.CreateSecret // Content-Type: application/x-amz-json-1.1 // X-Amz-Date: <date> // Authorization: AWS4-HMAC-SHA256 Credential=<credentials>,SignedHeaders=<headers>, Signature=<signature> // Content-Length: <payload-size-bytes> // // { // "Name": "MyTestDatabaseSecret2", // "Description": "My test database secret created with the CLI", // "SecretString": "{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}", "ClientRequestToken": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1" // } rest = CkRest_Create(); // Connect to the Amazon AWS REST server. // such as https://secretsmanager.us-west-2.amazonaws.com/ bTls = TRUE; port = 443; bAutoReconnect = TRUE; success = CkRest_Connect(rest,"secretsmanager.us-west-2.amazonaws.com",port,bTls,bAutoReconnect); // Provide AWS credentials for the REST call. authAws = CkAuthAws_Create(); CkAuthAws_putAccessKey(authAws,"AWS_ACCESS_KEY"); CkAuthAws_putSecretKey(authAws,"AWS_SECRET_KEY"); // the region should match our URL above.. CkAuthAws_putRegion(authAws,"us-west-2"); CkAuthAws_putServiceName(authAws,"secretsmanager"); CkRest_SetAuthAws(rest,authAws); // Use this online tool to generate code from sample JSON: // Generate Code to Create JSON json = CkJsonObject_Create(); CkJsonObject_UpdateString(json,"Name","MyTestDatabaseSecret2"); CkJsonObject_UpdateString(json,"Description","My test database secret created with the CLI"); CkJsonObject_UpdateString(json,"SecretString","{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}"); CkJsonObject_UpdateString(json,"ClientRequestToken","EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"); CkRest_AddHeader(rest,"Content-Type","application/x-amz-json-1.1"); CkRest_AddHeader(rest,"X-Amz-Target","secretsmanager.CreateSecret"); sbRequestBody = CkStringBuilder_Create(); CkJsonObject_EmitSb(json,sbRequestBody); sbResponseBody = CkStringBuilder_Create(); success = CkRest_FullRequestSb(rest,"POST","/",sbRequestBody,sbResponseBody); if (success != TRUE) { printf("%s\n",CkRest_lastErrorText(rest)); CkRest_Dispose(rest); CkAuthAws_Dispose(authAws); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbRequestBody); CkStringBuilder_Dispose(sbResponseBody); return; } respStatusCode = CkRest_getResponseStatusCode(rest); printf("response status code = %d\n",respStatusCode); jResp = CkJsonObject_Create(); CkJsonObject_putEmitCompact(jResp,FALSE); CkJsonObject_LoadSb(jResp,sbResponseBody); if (respStatusCode >= 400) { printf("Response Status Code = %d\n",respStatusCode); printf("Response Header:\n"); printf("%s\n",CkRest_responseHeader(rest)); printf("Response Body:\n"); printf("%s\n",CkJsonObject_emit(jResp)); CkRest_Dispose(rest); CkAuthAws_Dispose(authAws); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbRequestBody); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); return; } printf("Response Body:\n"); printf("%s\n",CkJsonObject_emit(jResp)); // Sample response body: // { // "ARN": "arn:aws:secretsmanager:us-west-2:954491834127:secret:MyTestDatabaseSecret2-F16Tps", // "Name": "MyTestDatabaseSecret2", // "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1" // } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON ARN = CkJsonObject_stringOf(jResp,"ARN"); Name = CkJsonObject_stringOf(jResp,"Name"); VersionId = CkJsonObject_stringOf(jResp,"VersionId"); CkRest_Dispose(rest); CkAuthAws_Dispose(authAws); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbRequestBody); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.