aboutsummaryrefslogtreecommitdiff
path: root/common/sqscreds/lib/sqs_creds.go
diff options
context:
space:
mode:
Diffstat (limited to 'common/sqscreds/lib/sqs_creds.go')
-rw-r--r--common/sqscreds/lib/sqs_creds.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/common/sqscreds/lib/sqs_creds.go b/common/sqscreds/lib/sqs_creds.go
new file mode 100644
index 0000000..dba1828
--- /dev/null
+++ b/common/sqscreds/lib/sqs_creds.go
@@ -0,0 +1,35 @@
+package sqscreds
+
+import (
+ "encoding/base64"
+ "encoding/json"
+)
+
+type AwsCreds struct {
+ AwsAccessKeyId string `json:"aws-access-key-id"`
+ AwsSecretKey string `json:"aws-secret-key"`
+}
+
+func (awsCreds AwsCreds) Base64() (string, error) {
+ jsonData, err := json.Marshal(awsCreds)
+ if err != nil {
+ return "", err
+ }
+ return base64.StdEncoding.EncodeToString(jsonData), nil
+}
+
+func AwsCredsFromBase64(base64Str string) (AwsCreds, error) {
+ var awsCreds AwsCreds
+
+ jsonData, err := base64.StdEncoding.DecodeString(base64Str)
+ if err != nil {
+ return awsCreds, err
+ }
+
+ err = json.Unmarshal(jsonData, &awsCreds)
+ if err != nil {
+ return awsCreds, err
+ }
+
+ return awsCreds, nil
+}