![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 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.Note: This example requires Chilkat v11.1.0 or greater. For more information, see https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecrets.html
load ./chilkat.dll set success 0 # 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 json2 [new_CkJsonObject] set jarr [new_CkJsonArray] 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"] CkJsonObject_ObjectOf2 $jResp "SecretList[i].SecretVersionsToStages" $json2 set count [CkJsonObject_get_Size $json2] set j 0 while {$j < $count} { set versionName [CkJsonObject_nameAt $json2 $j] CkJsonObject_ArrayOf2 $json2 $versionName $jarr set stage [CkJsonArray_stringAt $jarr 0] puts "versionName = $versionName" puts "stage = $stage" set j [expr $j + 1] } set i [expr $i + 1] } delete_CkRest $rest delete_CkAuthAws $authAws delete_CkJsonObject $jResp delete_CkJsonObject $json2 delete_CkJsonArray $jarr |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.