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
(Tcl) AWS Secrets Manager - List SecretsSee more AWS Secrets Manager ExamplesLists the secrets that are stored by Secrets Manager in the AWS account. Lists the secrets that are stored by Secrets Manager in the AWS account. For more information, see https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecrets.html
load ./chilkat.dll # 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.ListSecrets # 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> # # {} set rest [new_CkRest] # Connect to the Amazon AWS REST server. # such as https://secretsmanager.us-west-2.amazonaws.com/ set bTls 1 set port 443 set bAutoReconnect 1 set success [CkRest_Connect $rest "secretsmanager.us-west-2.amazonaws.com" $port $bTls $bAutoReconnect] # Provide AWS credentials for the REST call. set authAws [new_CkAuthAws] CkAuthAws_put_AccessKey $authAws "AWS_ACCESS_KEY" CkAuthAws_put_SecretKey $authAws "AWS_SECRET_KEY" # the region should match our URL above.. CkAuthAws_put_Region $authAws "us-west-2" CkAuthAws_put_ServiceName $authAws "secretsmanager" CkRest_SetAuthAws $rest $authAws CkRest_AddHeader $rest "Content-Type" "application/x-amz-json-1.1" CkRest_AddHeader $rest "X-Amz-Target" "secretsmanager.ListSecrets" set strResponse [CkRest_fullRequestString $rest "POST" "/" "{}"] if {[CkRest_get_LastMethodSuccess $rest] == 0} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest delete_CkAuthAws $authAws exit } set respStatusCode [CkRest_get_ResponseStatusCode $rest] puts "response status code = $respStatusCode" set jResp [new_CkJsonObject] CkJsonObject_put_EmitCompact $jResp 0 CkJsonObject_Load $jResp $strResponse if {$respStatusCode >= 400} then { puts "Response Status Code = $respStatusCode" puts "Response Header:" puts [CkRest_responseHeader $rest] puts "Response Body:" puts [CkJsonObject_emit $jResp] delete_CkRest $rest delete_CkAuthAws $authAws delete_CkJsonObject $jResp exit } puts "Response Body:" puts [CkJsonObject_emit $jResp] # Sample response body: # { # "SecretList":[ # { # "ARN":"arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", # "Description":"My test database secret", # "LastChangedDate":1.523477145729E9, # "Name":"MyTestDatabaseSecret", # "SecretVersionsToStages":{ # "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE":["AWSCURRENT"] # } # }, # { # "ARN":"arn:aws:secretsmanager:us-west-2:123456789012:secret:AnotherDatabaseSecret-d4e5f6", # "Description":"Another secret created for a different database", # "LastChangedDate":1.523482025685E9, # "Name":"AnotherDatabaseSecret", # "SecretVersionsToStages":{ # "EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE":["AWSCURRENT"] # } # } # ] # } set i 0 set count_i [CkJsonObject_SizeOfArray $jResp "SecretList"] while {$i < $count_i} { CkJsonObject_put_I $jResp $i set ARN [CkJsonObject_stringOf $jResp "SecretList[i].ARN"] set Description [CkJsonObject_stringOf $jResp "SecretList[i].Description"] set LastChangedDate [CkJsonObject_stringOf $jResp "SecretList[i].LastChangedDate"] set Name [CkJsonObject_stringOf $jResp "SecretList[i].Name"] # json2 is a CkJsonObject set json2 [CkJsonObject_ObjectOf $jResp "SecretList[i].SecretVersionsToStages"] set count [CkJsonObject_get_Size $json2] set j 0 while {$j < $count} { set versionName [CkJsonObject_nameAt $json2 $j] # jarr is a CkJsonArray set jarr [CkJsonObject_ArrayOf $json2 $versionName] set stage [CkJsonArray_stringAt $jarr 0] puts "versionName = $versionName" puts "stage = $stage" set j [expr $j + 1] delete_CkJsonArray $jarr } delete_CkJsonObject $json2 set i [expr $i + 1] } delete_CkRest $rest delete_CkAuthAws $authAws delete_CkJsonObject $jResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.