aboutsummaryrefslogtreecommitdiff
path: root/common/sqscreds/lib/sqs_creds.go
blob: dba18286d39ade4f642a603feffc1c18b958b1f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
}