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
(Unicode 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 <CkRestW.h> #include <CkAuthAwsW.h> #include <CkJsonObjectW.h> #include <CkStringBuilderW.h> void ChilkatSample(void) { // 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" // } CkRestW rest; // Connect to the Amazon AWS REST server. // such as https://secretsmanager.us-west-2.amazonaws.com/ bool bTls = true; int port = 443; bool bAutoReconnect = true; bool success = rest.Connect(L"secretsmanager.us-west-2.amazonaws.com",port,bTls,bAutoReconnect); // Provide AWS credentials for the REST call. CkAuthAwsW authAws; authAws.put_AccessKey(L"AWS_ACCESS_KEY"); authAws.put_SecretKey(L"AWS_SECRET_KEY"); // the region should match our URL above.. authAws.put_Region(L"us-west-2"); authAws.put_ServiceName(L"secretsmanager"); rest.SetAuthAws(authAws); // Use this online tool to generate code from sample JSON: // Generate Code to Create JSON CkJsonObjectW json; json.UpdateString(L"Name",L"MyTestDatabaseSecret2"); json.UpdateString(L"Description",L"My test database secret created with the CLI"); json.UpdateString(L"SecretString",L"{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}"); json.UpdateString(L"ClientRequestToken",L"EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"); rest.AddHeader(L"Content-Type",L"application/x-amz-json-1.1"); rest.AddHeader(L"X-Amz-Target",L"secretsmanager.CreateSecret"); CkStringBuilderW sbRequestBody; json.EmitSb(sbRequestBody); CkStringBuilderW sbResponseBody; success = rest.FullRequestSb(L"POST",L"/",sbRequestBody,sbResponseBody); if (success != true) { wprintf(L"%s\n",rest.lastErrorText()); return; } int respStatusCode = rest.get_ResponseStatusCode(); wprintf(L"response status code = %d\n",respStatusCode); CkJsonObjectW jResp; jResp.put_EmitCompact(false); jResp.LoadSb(sbResponseBody); if (respStatusCode >= 400) { wprintf(L"Response Status Code = %d\n",respStatusCode); wprintf(L"Response Header:\n"); wprintf(L"%s\n",rest.responseHeader()); wprintf(L"Response Body:\n"); wprintf(L"%s\n",jResp.emit()); return; } wprintf(L"Response Body:\n"); wprintf(L"%s\n",jResp.emit()); // 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 const wchar_t *ARN = jResp.stringOf(L"ARN"); const wchar_t *Name = jResp.stringOf(L"Name"); const wchar_t *VersionId = jResp.stringOf(L"VersionId"); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.