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
(Delphi DLL) 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
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AuthAws, Rest, JsonObject, StringBuilder; ... procedure TForm1.Button1Click(Sender: TObject); var rest: HCkRest; bTls: Boolean; port: Integer; bAutoReconnect: Boolean; success: Boolean; authAws: HCkAuthAws; json: HCkJsonObject; sbRequestBody: HCkStringBuilder; sbResponseBody: HCkStringBuilder; respStatusCode: Integer; jResp: HCkJsonObject; ARN: PWideChar; Name: PWideChar; VersionId: PWideChar; begin // 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) then begin Memo1.Lines.Add(CkRest__lastErrorText(rest)); Exit; end; respStatusCode := CkRest_getResponseStatusCode(rest); Memo1.Lines.Add('response status code = ' + IntToStr(respStatusCode)); jResp := CkJsonObject_Create(); CkJsonObject_putEmitCompact(jResp,False); CkJsonObject_LoadSb(jResp,sbResponseBody); if (respStatusCode >= 400) then begin Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode)); Memo1.Lines.Add('Response Header:'); Memo1.Lines.Add(CkRest__responseHeader(rest)); Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(CkJsonObject__emit(jResp)); Exit; end; Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(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); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.