The Go SDK is currently in experimental status. If you would like to provide feedback, please reach out to us with your suggestions and comments on our Discord.
Go - Secret.Put()
Store a new secret value, creating a new version to store the value.
import (
  "context"
  "fmt"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  secret, err := nitric.NewSecret("secret-name").Allow(nitric.SecretAccess)
  if err != nil {
    return
  }
  versionRef, err := secret.Put(context.TODO(), []byte("content"))
  if err != nil {
    return
  }
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}
Parameters
- Name
 ctx- Required
 - Required
 - Type
 - context
 - Description
 The context of the call, used for tracing.
- Name
 secret- Required
 - Required
 - Type
 - []byte
 - Description
 The new secret value to store in the secrets manager.
Notes
A new secret version is always created when calling Put(), the versions will automatically be provided a unique id. This behavior is dependent on the underlying secrets manager.
Examples
Store a new secret value
import (
  "context"
  "fmt"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  secret, err := nitric.NewSecret("secret-name").Allow(nitric.SecretPut)
  if err != nil {
    return
  }
  versionRef, err := secret.Put(context.TODO(), []byte("content"))
  if err != nil {
    return
  }
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}
Get the id of a new secret version
Calling put() returns a promise to a reference to the new secret version. Storing the ID of the new version can be useful if you need to retrieve that specific value again in future using version.access()
import (
  "context"
  "fmt"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  secret, err := nitric.NewSecret("secret-name").Allow(nitric.SecretAccess)
  if err != nil {
    return
  }
  versionRef, err := secret.Put(context.TODO(), []byte("content"))
  if err != nil {
    return
  }
  fmt.Println(versionRef.Version())
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}