Sample code for 30+ languages & platforms
Go

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

Go
    success := 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"
    // }

    rest := chilkat.NewRest()

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

    // Provide AWS credentials for the REST call.
    authAws := chilkat.NewAuthAws()
    authAws.SetAccessKey("AWS_ACCESS_KEY")
    authAws.SetSecretKey("AWS_SECRET_KEY")
    // the region should match our URL above..
    authAws.SetRegion("us-west-2")
    authAws.SetServiceName("secretsmanager")

    rest.SetAuthAws(authAws)

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

    json := chilkat.NewJsonObject()

    json.UpdateString("Name","MyTestDatabaseSecret2")
    json.UpdateString("Description","My test database secret created with the CLI")
    json.UpdateString("SecretString","{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}")
    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")

    sbRequestBody := chilkat.NewStringBuilder()
    json.EmitSb(sbRequestBody)
    sbResponseBody := chilkat.NewStringBuilder()
    success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
    if success != true {
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    respStatusCode := rest.ResponseStatusCode()
    fmt.Println("response status code = ", respStatusCode)

    jResp := chilkat.NewJsonObject()
    jResp.SetEmitCompact(false)
    jResp.LoadSb(sbResponseBody)

    if respStatusCode >= 400 {
        fmt.Println("Response Status Code = ", respStatusCode)
        fmt.Println("Response Header:")
        fmt.Println(rest.ResponseHeader())
        fmt.Println("Response Body:")
        fmt.Println(*jResp.Emit())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        jResp.DisposeJsonObject()
        return
    }

    fmt.Println("Response Body:")
    fmt.Println(*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

    ARN := jResp.StringOf("ARN")
    Name := jResp.StringOf("Name")
    VersionId := jResp.StringOf("VersionId")

    rest.DisposeRest()
    authAws.DisposeAuthAws()
    json.DisposeJsonObject()
    sbRequestBody.DisposeStringBuilder()
    sbResponseBody.DisposeStringBuilder()
    jResp.DisposeJsonObject()