Sample code for 30+ languages & platforms
B4X

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 B4X Downloads

B4X
Dim success As Boolean = False

'  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"
'  }

Dim rest As ChilkatRest
rest.Initialize("rest")

'  Connect to the Amazon AWS REST server.
'  such as https://secretsmanager.us-west-2.amazonaws.com/
Dim bTls As Boolean = True
Dim port As Int = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect("secretsmanager.us-west-2.amazonaws.com", port, bTls, bAutoReconnect)

'  Provide AWS credentials for the REST call.
Dim authAws As ChilkatAuthAws
authAws.Initialize
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
'  the region should match our URL above..
authAws.Region = "us-west-2"
authAws.ServiceName = "secretsmanager"

rest.SetAuthAws(authAws)

'  Use this online tool to generate code from sample JSON:
'  Generate Code to Create JSON

Dim json As ChilkatJsonObject
json.Initialize

json.UpdateString("Name", "MyTestDatabaseSecret2")
json.UpdateString("Description", "My test database secret created with the CLI")
json.UpdateString("SecretString", "{" & Chr(34) & "username" & Chr(34) & ":" & Chr(34) & "david" & Chr(34) & "," & Chr(34) & "password" & Chr(34) & ":" & Chr(34) & "BnQw!XDWgaEeT9XGTT29" & Chr(34) & "}")
json.UpdateString("ClientRequestToken", "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1")

rest.AddHeader("Content-Type", "application/x-amz-json-1.1")
rest.AddHeader("X-Amz-Target", "secretsmanager.CreateSecret")

Dim sbRequestBody As ChilkatStringBuilder
sbRequestBody.Initialize
json.EmitSb(sbRequestBody)
Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = rest.FullRequestSb("POST", "/", sbRequestBody, sbResponseBody)
If success <> True Then
    Log(rest.LastErrorText)
    Return
End If

Dim respStatusCode As Int = rest.ResponseStatusCode
Log("response status code = " & respStatusCode)

Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.EmitCompact = False
jResp.LoadSb(sbResponseBody)

If respStatusCode >= 400 Then
    Log("Response Status Code = " & respStatusCode)
    Log("Response Header:")
    Log(rest.ResponseHeader)
    Log("Response Body:")
    Log(jResp.Emit)
    Return
End If


Log("Response Body:")
Log(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

Dim ARN As String = jResp.StringOf("ARN")
Dim Name As String = jResp.StringOf("Name")
Dim VersionId As String = jResp.StringOf("VersionId")