Xbase++
Xbase++
AWS Secrets Manager - Create Secret
See more AWS Secrets Manager Examples
Creates 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.Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oRest
LOCAL nBTls
LOCAL nPort
LOCAL nBAutoReconnect
LOCAL oAuthAws
LOCAL oJson
LOCAL oSbRequestBody
LOCAL oSbResponseBody
LOCAL nRespStatusCode
LOCAL oJResp
LOCAL cARN
LOCAL cName
LOCAL cVersionId
nSuccess := 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.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"
// }
oRest := CreateObject("Chilkat.Rest")
// Connect to the Amazon AWS REST server.
// such as https://secretsmanager.us-west-2.amazonaws.com/
nBTls := 1
nPort := 443
nBAutoReconnect := 1
nSuccess := oRest:Connect("secretsmanager.us-west-2.amazonaws.com", nPort, nBTls, nBAutoReconnect)
// Provide AWS credentials for the REST call.
oAuthAws := CreateObject("Chilkat.AuthAws")
oAuthAws:AccessKey := "AWS_ACCESS_KEY"
oAuthAws:SecretKey := "AWS_SECRET_KEY"
// the region should match our URL above..
oAuthAws:Region := "us-west-2"
oAuthAws:ServiceName := "secretsmanager"
oRest:SetAuthAws(oAuthAws)
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
oJson := CreateObject("Chilkat.JsonObject")
oJson:UpdateString("Name", "MyTestDatabaseSecret2")
oJson:UpdateString("Description", "My test database secret created with the CLI")
oJson:UpdateString("SecretString", '{"username":"david","password":"BnQw!XDWgaEeT9XGTT29"}')
oJson:UpdateString("ClientRequestToken", "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1")
oRest:AddHeader("Content-Type", "application/x-amz-json-1.1")
oRest:AddHeader("X-Amz-Target", "secretsmanager.CreateSecret")
oSbRequestBody := CreateObject("Chilkat.StringBuilder")
oJson:EmitSb(oSbRequestBody)
oSbResponseBody := CreateObject("Chilkat.StringBuilder")
nSuccess := oRest:FullRequestSb("POST", "/", oSbRequestBody, oSbResponseBody)
IF (nSuccess != 1)
? oRest:LastErrorText
oRest:destroy()
oAuthAws:destroy()
oJson:destroy()
oSbRequestBody:destroy()
oSbResponseBody:destroy()
RETURN
ENDIF
nRespStatusCode := oRest:ResponseStatusCode
? "response status code = " + Str(nRespStatusCode)
oJResp := CreateObject("Chilkat.JsonObject")
oJResp:EmitCompact := 0
oJResp:LoadSb(oSbResponseBody)
IF (nRespStatusCode >= 400)
? "Response Status Code = " + Str(nRespStatusCode)
? "Response Header:"
? oRest:ResponseHeader
? "Response Body:"
? oJResp:Emit()
oRest:destroy()
oAuthAws:destroy()
oJson:destroy()
oSbRequestBody:destroy()
oSbResponseBody:destroy()
oJResp:destroy()
RETURN
ENDIF
? "Response Body:"
? oJResp: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
cARN := oJResp:StringOf("ARN")
cName := oJResp:StringOf("Name")
cVersionId := oJResp:StringOf("VersionId")
oRest:destroy()
oAuthAws:destroy()
oJson:destroy()
oSbRequestBody:destroy()
oSbResponseBody:destroy()
oJResp:destroy()