Skip to content

Commit beb3f5f

Browse files
Rename credentials to "static"
Signed-off-by: Gabriel Adrian Samfira <[email protected]>
1 parent 1cb4ad6 commit beb3f5f

File tree

6 files changed

+108
-90
lines changed

6 files changed

+108
-90
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ region = "eu-central-1"
2828
subnet_id = "sample_subnet_id"
2929

3030
[credentials]
31+
credential_type = "access_key"
3132
access_key_id = "sample_access_key_id"
3233
secret_access_key = "sample_secret_access_key"
3334
session_token = "sample_session_token"

config/config.go

+16-12
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import (
2828
type AWSCredentialType string
2929

3030
const (
31-
AWSCredentialTypeAccessKey AWSCredentialType = "access_key"
32-
AWSCredentialTypeRole AWSCredentialType = "role"
31+
AWSCredentialTypeStaticCredentials AWSCredentialType = "static"
32+
AWSCredentialTypeRole AWSCredentialType = "role"
3333
)
3434

3535
// NewConfig returns a new Config
@@ -66,7 +66,7 @@ func (c *Config) Validate() error {
6666
return nil
6767
}
6868

69-
type AccessKeyCredentials struct {
69+
type StaticCredentials struct {
7070
// AWS Access key ID
7171
AccessKeyID string `toml:"access_key_id"`
7272

@@ -77,7 +77,7 @@ type AccessKeyCredentials struct {
7777
SessionToken string `toml:"session_token"`
7878
}
7979

80-
func (c AccessKeyCredentials) Validate() error {
80+
func (c StaticCredentials) Validate() error {
8181
if c.AccessKeyID == "" {
8282
return fmt.Errorf("missing access_key_id")
8383
}
@@ -93,15 +93,19 @@ func (c AccessKeyCredentials) Validate() error {
9393
}
9494

9595
type Credentials struct {
96-
CredentialType AWSCredentialType `toml:"credential_type"`
97-
AccessKey AccessKeyCredentials `toml:"access_key"`
96+
CredentialType AWSCredentialType `toml:"credential_type"`
97+
StaticCredentials StaticCredentials `toml:"static"`
9898
}
9999

100100
func (c Credentials) Validate() error {
101101
switch c.CredentialType {
102-
case AWSCredentialTypeAccessKey:
103-
return c.AccessKey.Validate()
102+
case AWSCredentialTypeStaticCredentials:
103+
return c.StaticCredentials.Validate()
104104
case AWSCredentialTypeRole:
105+
case "":
106+
return fmt.Errorf("missing credential_type")
107+
default:
108+
return fmt.Errorf("unknown credential type: %s", c.CredentialType)
105109
}
106110
return nil
107111
}
@@ -114,13 +118,13 @@ func (c Config) GetAWSConfig(ctx context.Context) (aws.Config, error) {
114118
var cfg aws.Config
115119
var err error
116120
switch c.Credentials.CredentialType {
117-
case AWSCredentialTypeAccessKey:
121+
case AWSCredentialTypeStaticCredentials:
118122
cfg, err = config.LoadDefaultConfig(ctx,
119123
config.WithCredentialsProvider(
120124
credentials.NewStaticCredentialsProvider(
121-
c.Credentials.AccessKey.AccessKeyID,
122-
c.Credentials.AccessKey.SecretAccessKey,
123-
c.Credentials.AccessKey.SessionToken)),
125+
c.Credentials.StaticCredentials.AccessKeyID,
126+
c.Credentials.StaticCredentials.SecretAccessKey,
127+
c.Credentials.StaticCredentials.SessionToken)),
124128
config.WithRegion(c.Region),
125129
)
126130
case AWSCredentialTypeRole:

config/config_test.go

+55-42
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ func TestConfigValidate(t *testing.T) {
3232
name: "valid config",
3333
c: &Config{
3434
Credentials: Credentials{
35-
CredentialType: AWSCredentialTypeAccessKey,
36-
AccessKey: AccessKeyCredentials{
37-
AccessKeyID: "AccessKeyID",
38-
SecretAccessKey: "SecretAccessKey",
39-
SessionToken: "SessionToken",
35+
CredentialType: AWSCredentialTypeStaticCredentials,
36+
StaticCredentials: StaticCredentials{
37+
AccessKeyID: "access_key_id",
38+
SecretAccessKey: "secret_access_key",
39+
SessionToken: "session_token",
4040
},
4141
},
4242
SubnetID: "subnet_id",
@@ -48,11 +48,11 @@ func TestConfigValidate(t *testing.T) {
4848
name: "missing subnet_id",
4949
c: &Config{
5050
Credentials: Credentials{
51-
CredentialType: AWSCredentialTypeAccessKey,
52-
AccessKey: AccessKeyCredentials{
53-
AccessKeyID: "AccessKeyID",
54-
SecretAccessKey: "SecretAccessKey",
55-
SessionToken: "SessionToken",
51+
CredentialType: AWSCredentialTypeStaticCredentials,
52+
StaticCredentials: StaticCredentials{
53+
AccessKeyID: "access_key_id",
54+
SecretAccessKey: "secret_access_key",
55+
SessionToken: "session_token",
5656
},
5757
},
5858
Region: "region",
@@ -63,24 +63,35 @@ func TestConfigValidate(t *testing.T) {
6363
name: "missing region",
6464
c: &Config{
6565
Credentials: Credentials{
66-
CredentialType: AWSCredentialTypeAccessKey,
67-
AccessKey: AccessKeyCredentials{
68-
AccessKeyID: "AccessKeyID",
69-
SecretAccessKey: "SecretAccessKey",
70-
SessionToken: "SessionToken",
66+
CredentialType: AWSCredentialTypeStaticCredentials,
67+
StaticCredentials: StaticCredentials{
68+
AccessKeyID: "access_key_id",
69+
SecretAccessKey: "secret_access_key",
70+
SessionToken: "session_token",
7171
},
7272
},
7373
SubnetID: "subnet_id",
7474
},
7575
errString: "missing region",
7676
},
7777
{
78-
name: "missing credentials",
78+
name: "missing credential type",
7979
c: &Config{
8080
SubnetID: "subnet_id",
8181
Region: "region",
8282
},
83-
errString: "failed to validate credentials: missing access_key_id",
83+
errString: "failed to validate credentials: missing credential_type",
84+
},
85+
{
86+
name: "invalid credential type",
87+
c: &Config{
88+
SubnetID: "subnet_id",
89+
Region: "region",
90+
Credentials: Credentials{
91+
CredentialType: AWSCredentialType("bogus"),
92+
},
93+
},
94+
errString: "failed to validate credentials: unknown credential type: bogus",
8495
},
8596
}
8697

@@ -105,47 +116,47 @@ func TestCredentialsValidate(t *testing.T) {
105116
{
106117
name: "valid credentials",
107118
c: Credentials{
108-
CredentialType: AWSCredentialTypeAccessKey,
109-
AccessKey: AccessKeyCredentials{
110-
AccessKeyID: "AccessKeyID",
111-
SecretAccessKey: "SecretAccessKey",
112-
SessionToken: "SessionToken",
119+
CredentialType: AWSCredentialTypeStaticCredentials,
120+
StaticCredentials: StaticCredentials{
121+
AccessKeyID: "access_key_id",
122+
SecretAccessKey: "secret_access_key",
123+
SessionToken: "session_token",
113124
},
114125
},
115126
errString: "",
116127
},
117128
{
118129
name: "missing access_key_id",
119130
c: Credentials{
120-
CredentialType: AWSCredentialTypeAccessKey,
121-
AccessKey: AccessKeyCredentials{
122-
AccessKeyID: "AccessKeyID",
123-
SecretAccessKey: "SecretAccessKey",
124-
SessionToken: "SessionToken",
131+
CredentialType: AWSCredentialTypeStaticCredentials,
132+
StaticCredentials: StaticCredentials{
133+
AccessKeyID: "",
134+
SecretAccessKey: "secret_access_key",
135+
SessionToken: "session_token",
125136
},
126137
},
127138
errString: "missing access_key_id",
128139
},
129140
{
130141
name: "missing secret_access_key",
131142
c: Credentials{
132-
CredentialType: AWSCredentialTypeAccessKey,
133-
AccessKey: AccessKeyCredentials{
134-
AccessKeyID: "AccessKeyID",
135-
SecretAccessKey: "SecretAccessKey",
136-
SessionToken: "SessionToken",
143+
CredentialType: AWSCredentialTypeStaticCredentials,
144+
StaticCredentials: StaticCredentials{
145+
AccessKeyID: "access_key_id",
146+
SecretAccessKey: "",
147+
SessionToken: "session_token",
137148
},
138149
},
139150
errString: "missing secret_access_key",
140151
},
141152
{
142153
name: "missing session_token",
143154
c: Credentials{
144-
CredentialType: AWSCredentialTypeAccessKey,
145-
AccessKey: AccessKeyCredentials{
146-
AccessKeyID: "AccessKeyID",
147-
SecretAccessKey: "SecretAccessKey",
148-
SessionToken: "SessionToken",
155+
CredentialType: AWSCredentialTypeStaticCredentials,
156+
StaticCredentials: StaticCredentials{
157+
AccessKeyID: "access_key_id",
158+
SecretAccessKey: "secret_access_key",
159+
SessionToken: "",
149160
},
150161
},
151162
errString: "missing session_token",
@@ -175,6 +186,8 @@ func TestNewConfig(t *testing.T) {
175186
region = "region"
176187
subnet_id = "subnet_id"
177188
[credentials]
189+
credential_type = "static"
190+
[credentials.static]
178191
access_key_id = "access_key_id"
179192
secret_access_key = "secret"
180193
session_token = "token"
@@ -192,11 +205,11 @@ func TestNewConfig(t *testing.T) {
192205
require.NoError(t, err, "NewConfig() should not have returned an error")
193206
require.Equal(t, &Config{
194207
Credentials: Credentials{
195-
CredentialType: AWSCredentialTypeAccessKey,
196-
AccessKey: AccessKeyCredentials{
197-
AccessKeyID: "AccessKeyID",
198-
SecretAccessKey: "SecretAccessKey",
199-
SessionToken: "SessionToken",
208+
CredentialType: AWSCredentialTypeStaticCredentials,
209+
StaticCredentials: StaticCredentials{
210+
AccessKeyID: "access_key_id",
211+
SecretAccessKey: "secret",
212+
SessionToken: "token",
200213
},
201214
},
202215
SubnetID: "subnet_id",

internal/client/aws_test.go

+16-16
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ func TestStartInstance(t *testing.T) {
3535
Region: "us-west-2",
3636
SubnetID: "subnet-1234567890abcdef0",
3737
Credentials: config.Credentials{
38-
CredentialType: config.AWSCredentialTypeAccessKey,
39-
AccessKey: config.AccessKeyCredentials{
38+
CredentialType: config.AWSCredentialTypeStaticCredentials,
39+
StaticCredentials: config.StaticCredentials{
4040
AccessKeyID: "AccessKeyID",
4141
SecretAccessKey: "SecretAccessKey",
4242
SessionToken: "SessionToken",
@@ -65,8 +65,8 @@ func TestStopInstance(t *testing.T) {
6565
Region: "us-west-2",
6666
SubnetID: "subnet-1234567890abcdef0",
6767
Credentials: config.Credentials{
68-
CredentialType: config.AWSCredentialTypeAccessKey,
69-
AccessKey: config.AccessKeyCredentials{
68+
CredentialType: config.AWSCredentialTypeStaticCredentials,
69+
StaticCredentials: config.StaticCredentials{
7070
AccessKeyID: "AccessKeyID",
7171
SecretAccessKey: "SecretAccessKey",
7272
SessionToken: "SessionToken",
@@ -95,8 +95,8 @@ func TestFindInstances(t *testing.T) {
9595
Region: "us-west-2",
9696
SubnetID: "subnet-1234567890abcdef0",
9797
Credentials: config.Credentials{
98-
CredentialType: config.AWSCredentialTypeAccessKey,
99-
AccessKey: config.AccessKeyCredentials{
98+
CredentialType: config.AWSCredentialTypeStaticCredentials,
99+
StaticCredentials: config.StaticCredentials{
100100
AccessKeyID: "AccessKeyID",
101101
SecretAccessKey: "SecretAccessKey",
102102
SessionToken: "SessionToken",
@@ -154,8 +154,8 @@ func TestFindOneInstanceWithName(t *testing.T) {
154154
Region: "us-west-2",
155155
SubnetID: "subnet-1234567890abcdef0",
156156
Credentials: config.Credentials{
157-
CredentialType: config.AWSCredentialTypeAccessKey,
158-
AccessKey: config.AccessKeyCredentials{
157+
CredentialType: config.AWSCredentialTypeStaticCredentials,
158+
StaticCredentials: config.StaticCredentials{
159159
AccessKeyID: "AccessKeyID",
160160
SecretAccessKey: "SecretAccessKey",
161161
SessionToken: "SessionToken",
@@ -207,8 +207,8 @@ func TestFindOneInstanceWithID(t *testing.T) {
207207
Region: "us-west-2",
208208
SubnetID: "subnet-1234567890abcdef0",
209209
Credentials: config.Credentials{
210-
CredentialType: config.AWSCredentialTypeAccessKey,
211-
AccessKey: config.AccessKeyCredentials{
210+
CredentialType: config.AWSCredentialTypeStaticCredentials,
211+
StaticCredentials: config.StaticCredentials{
212212
AccessKeyID: "AccessKeyID",
213213
SecretAccessKey: "SecretAccessKey",
214214
SessionToken: "SessionToken",
@@ -249,8 +249,8 @@ func TestGetInstance(t *testing.T) {
249249
Region: "us-west-2",
250250
SubnetID: "subnet-1234567890abcdef0",
251251
Credentials: config.Credentials{
252-
CredentialType: config.AWSCredentialTypeAccessKey,
253-
AccessKey: config.AccessKeyCredentials{
252+
CredentialType: config.AWSCredentialTypeStaticCredentials,
253+
StaticCredentials: config.StaticCredentials{
254254
AccessKeyID: "AccessKeyID",
255255
SecretAccessKey: "SecretAccessKey",
256256
SessionToken: "SessionToken",
@@ -288,8 +288,8 @@ func TestTerminateInstance(t *testing.T) {
288288
Region: "us-west-2",
289289
SubnetID: "subnet-1234567890abcdef0",
290290
Credentials: config.Credentials{
291-
CredentialType: config.AWSCredentialTypeAccessKey,
292-
AccessKey: config.AccessKeyCredentials{
291+
CredentialType: config.AWSCredentialTypeStaticCredentials,
292+
StaticCredentials: config.StaticCredentials{
293293
AccessKeyID: "AccessKeyID",
294294
SecretAccessKey: "SecretAccessKey",
295295
SessionToken: "SessionToken",
@@ -336,8 +336,8 @@ func TestCreateRunningInstance(t *testing.T) {
336336
Region: "us-west-2",
337337
SubnetID: "subnet-1234567890abcdef0",
338338
Credentials: config.Credentials{
339-
CredentialType: config.AWSCredentialTypeAccessKey,
340-
AccessKey: config.AccessKeyCredentials{
339+
CredentialType: config.AWSCredentialTypeStaticCredentials,
340+
StaticCredentials: config.StaticCredentials{
341341
AccessKeyID: "AccessKeyID",
342342
SecretAccessKey: "SecretAccessKey",
343343
SessionToken: "SessionToken",

internal/spec/spec_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ func TestGetRunnerSpecFromBootstrapParams(t *testing.T) {
120120

121121
config := &config.Config{
122122
Credentials: config.Credentials{
123-
CredentialType: config.AWSCredentialTypeAccessKey,
124-
AccessKey: config.AccessKeyCredentials{
123+
CredentialType: config.AWSCredentialTypeStaticCredentials,
124+
StaticCredentials: config.StaticCredentials{
125125
AccessKeyID: "AccessKeyID",
126126
SecretAccessKey: "SecretAccessKey",
127127
SessionToken: "SessionToken",

0 commit comments

Comments
 (0)