Skip to content

Commit

Permalink
added support for us-gov region domains
Browse files Browse the repository at this point in the history
  • Loading branch information
rkoval committed Aug 4, 2021
1 parent 64761e3 commit f30ea76
Show file tree
Hide file tree
Showing 10 changed files with 261 additions and 4 deletions.
3 changes: 3 additions & 0 deletions awsworkflow/aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,15 @@ func InitAWS(transport http.RoundTripper, profile *awsconfig.Profile, region *aw

var defaultAwsConsoleDomain string = "console.aws.amazon.com"
var defaultAwsConsoleDomainChina string = "console.amazonaws.cn"
var defaultAwsConsoleDomainUsGov string = "console.amazonaws-us-gov.com"

func initAWSConsoleDomain(region string) {
awsConsoleDomain := os.Getenv("ALRED_AWS_CONSOLE_SERVICES_WORKFLOW_AWS_CONSOLE_DOMAIN")
if awsConsoleDomain == "" {
if strings.HasPrefix(region, "cn-") {
awsConsoleDomain = defaultAwsConsoleDomainChina
} else if strings.HasPrefix(region, "us-gov-") {
awsConsoleDomain = defaultAwsConsoleDomainUsGov
} else {
awsConsoleDomain = defaultAwsConsoleDomain
}
Expand Down
6 changes: 6 additions & 0 deletions tests/test_aws_config_file
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,9 @@ region = sa-east-1

[profile bogusprofile]
region = bogus

[profile usgov]
region = us-gov-east-1

[profile china]
region = cn-north-1
10 changes: 9 additions & 1 deletion tests/test_aws_credentials_file
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,12 @@ aws_secret_access_key=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
aws_access_key_id=BBBBBBBBBBBBBBBBBBBB
aws_secret_access_key=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

[bogusprofile]
[bogusprofile]

[usgov]
aws_access_key_id=BBBBBBBBBBBBBBBBBBBB
aws_secret_access_key=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

[china]
aws_access_key_id=BBBBBBBBBBBBBBBBBBBB
aws_secret_access_key=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
35 changes: 35 additions & 0 deletions workflow/.snapshots/TestRun-$cn-north-1_elasticbeanstalk
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
([]*aw.Item) (len=1) {
(*aw.Item)({
title: (string) (len=16) "elasticbeanstalk",
subtitle: (*string)((len=50) "🗂 Elastic Beanstalk – Run and Manage Web Apps"),
match: (*string)((len=34) "elasticbeanstalk Elastic Beanstalk"),
uid: (*string)((len=16) "elasticbeanstalk"),
autocomplete: (*string)((len=29) "$cn-north-1 elasticbeanstalk "),
arg: (*string)((len=93) "https://cn-north-1.console.amazonaws.cn/elasticbeanstalk/home?region=cn-north-1#/environments"),
valid: (bool) true,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) (len=1) {
(string) (len=6) "action": (string) (len=8) "open-url"
},
mods: (map[aw.ModKey]*aw.Modifier) (len=1) {
(aw.ModKey) (len=3) "cmd": (*aw.Modifier)({
Key: (aw.ModKey) (len=3) "cmd",
arg: (*string)(<nil>),
subtitle: (*string)((len=21) "Copy URL to clipboard"),
valid: (bool) false,
icon: (*aw.Icon)(<nil>),
vars: (map[string]string) (len=1) {
(string) (len=6) "action": (string) (len=17) "copy-to-clipboard"
}
})
},
icon: (*aw.Icon)({
Value: (string) (len=27) "images/elasticbeanstalk.png",
Type: (aw.IconType) ""
}),
noUID: (bool) false
})
}
44 changes: 43 additions & 1 deletion workflow/.snapshots/TestRun-$us-east-1_@
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
([]*aw.Item) (len=5) {
([]*aw.Item) (len=7) {
(*aw.Item)({
title: (string) (len=5) "china",
subtitle: (*string)((len=15) "🌎 cn-north-1"),
match: (*string)(<nil>),
uid: (*string)((len=5) "china"),
autocomplete: (*string)((len=18) "$us-east-1 @china "),
arg: (*string)(<nil>),
valid: (bool) false,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) {
},
mods: (map[aw.ModKey]*aw.Modifier) <nil>,
icon: (*aw.Icon)({
Value: (string) (len=78) "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Accounts.icns",
Type: (aw.IconType) ""
}),
noUID: (bool) false
}),
(*aw.Item)({
title: (string) (len=5) "usgov",
subtitle: (*string)((len=18) "🌎 us-gov-east-1"),
match: (*string)(<nil>),
uid: (*string)((len=5) "usgov"),
autocomplete: (*string)((len=18) "$us-east-1 @usgov "),
arg: (*string)(<nil>),
valid: (bool) false,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) {
},
mods: (map[aw.ModKey]*aw.Modifier) <nil>,
icon: (*aw.Icon)({
Value: (string) (len=78) "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Accounts.icns",
Type: (aw.IconType) ""
}),
noUID: (bool) false
}),
(*aw.Item)({
title: (string) (len=7) "default",
subtitle: (*string)((len=14) "🌎 us-west-2"),
Expand Down
44 changes: 43 additions & 1 deletion workflow/.snapshots/TestRun-@
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
([]*aw.Item) (len=5) {
([]*aw.Item) (len=7) {
(*aw.Item)({
title: (string) (len=5) "china",
subtitle: (*string)((len=15) "🌎 cn-north-1"),
match: (*string)(<nil>),
uid: (*string)((len=5) "china"),
autocomplete: (*string)((len=7) "@china "),
arg: (*string)(<nil>),
valid: (bool) false,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) {
},
mods: (map[aw.ModKey]*aw.Modifier) <nil>,
icon: (*aw.Icon)({
Value: (string) (len=78) "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Accounts.icns",
Type: (aw.IconType) ""
}),
noUID: (bool) false
}),
(*aw.Item)({
title: (string) (len=5) "usgov",
subtitle: (*string)((len=18) "🌎 us-gov-east-1"),
match: (*string)(<nil>),
uid: (*string)((len=5) "usgov"),
autocomplete: (*string)((len=7) "@usgov "),
arg: (*string)(<nil>),
valid: (bool) false,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) {
},
mods: (map[aw.ModKey]*aw.Modifier) <nil>,
icon: (*aw.Icon)({
Value: (string) (len=78) "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Accounts.icns",
Type: (aw.IconType) ""
}),
noUID: (bool) false
}),
(*aw.Item)({
title: (string) (len=7) "default",
subtitle: (*string)((len=14) "🌎 us-west-2"),
Expand Down
44 changes: 43 additions & 1 deletion workflow/.snapshots/TestRun-@_$
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
([]*aw.Item) (len=5) {
([]*aw.Item) (len=7) {
(*aw.Item)({
title: (string) (len=5) "china",
subtitle: (*string)((len=15) "🌎 cn-north-1"),
match: (*string)(<nil>),
uid: (*string)((len=5) "china"),
autocomplete: (*string)((len=9) "@china $"),
arg: (*string)(<nil>),
valid: (bool) false,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) {
},
mods: (map[aw.ModKey]*aw.Modifier) <nil>,
icon: (*aw.Icon)({
Value: (string) (len=78) "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Accounts.icns",
Type: (aw.IconType) ""
}),
noUID: (bool) false
}),
(*aw.Item)({
title: (string) (len=5) "usgov",
subtitle: (*string)((len=18) "🌎 us-gov-east-1"),
match: (*string)(<nil>),
uid: (*string)((len=5) "usgov"),
autocomplete: (*string)((len=9) "@usgov $"),
arg: (*string)(<nil>),
valid: (bool) false,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) {
},
mods: (map[aw.ModKey]*aw.Modifier) <nil>,
icon: (*aw.Icon)({
Value: (string) (len=78) "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Accounts.icns",
Type: (aw.IconType) ""
}),
noUID: (bool) false
}),
(*aw.Item)({
title: (string) (len=7) "default",
subtitle: (*string)((len=14) "🌎 us-west-2"),
Expand Down
35 changes: 35 additions & 0 deletions workflow/.snapshots/TestRun-@china_elasticbeanstalk
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
([]*aw.Item) (len=1) {
(*aw.Item)({
title: (string) (len=16) "elasticbeanstalk",
subtitle: (*string)((len=50) "🗂 Elastic Beanstalk – Run and Manage Web Apps"),
match: (*string)((len=34) "elasticbeanstalk Elastic Beanstalk"),
uid: (*string)((len=16) "elasticbeanstalk"),
autocomplete: (*string)((len=24) "@china elasticbeanstalk "),
arg: (*string)((len=93) "https://cn-north-1.console.amazonaws.cn/elasticbeanstalk/home?region=cn-north-1#/environments"),
valid: (bool) true,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) (len=1) {
(string) (len=6) "action": (string) (len=8) "open-url"
},
mods: (map[aw.ModKey]*aw.Modifier) (len=1) {
(aw.ModKey) (len=3) "cmd": (*aw.Modifier)({
Key: (aw.ModKey) (len=3) "cmd",
arg: (*string)(<nil>),
subtitle: (*string)((len=21) "Copy URL to clipboard"),
valid: (bool) false,
icon: (*aw.Icon)(<nil>),
vars: (map[string]string) (len=1) {
(string) (len=6) "action": (string) (len=17) "copy-to-clipboard"
}
})
},
icon: (*aw.Icon)({
Value: (string) (len=27) "images/elasticbeanstalk.png",
Type: (aw.IconType) ""
}),
noUID: (bool) false
})
}
35 changes: 35 additions & 0 deletions workflow/.snapshots/TestRun-@usgov_elasticbeanstalk
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
([]*aw.Item) (len=1) {
(*aw.Item)({
title: (string) (len=16) "elasticbeanstalk",
subtitle: (*string)((len=50) "🗂 Elastic Beanstalk – Run and Manage Web Apps"),
match: (*string)((len=34) "elasticbeanstalk Elastic Beanstalk"),
uid: (*string)((len=16) "elasticbeanstalk"),
autocomplete: (*string)((len=24) "@usgov elasticbeanstalk "),
arg: (*string)((len=107) "https://us-gov-east-1.console.amazonaws-us-gov.com/elasticbeanstalk/home?region=us-gov-east-1#/environments"),
valid: (bool) true,
file: (bool) false,
copytext: (*string)(<nil>),
largetype: (*string)(<nil>),
ql: (*string)(<nil>),
vars: (map[string]string) (len=1) {
(string) (len=6) "action": (string) (len=8) "open-url"
},
mods: (map[aw.ModKey]*aw.Modifier) (len=1) {
(aw.ModKey) (len=3) "cmd": (*aw.Modifier)({
Key: (aw.ModKey) (len=3) "cmd",
arg: (*string)(<nil>),
subtitle: (*string)((len=21) "Copy URL to clipboard"),
valid: (bool) false,
icon: (*aw.Icon)(<nil>),
vars: (map[string]string) (len=1) {
(string) (len=6) "action": (string) (len=17) "copy-to-clipboard"
}
})
},
icon: (*aw.Icon)({
Value: (string) (len=27) "images/elasticbeanstalk.png",
Type: (aw.IconType) ""
}),
noUID: (bool) false
})
}
9 changes: 9 additions & 0 deletions workflow/workflow_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,15 @@ var tcs []testCase = []testCase{
{
query: "$us-east-1 @profile3 elasticbeanstalk",
},
{
query: "$cn-north-1 elasticbeanstalk",
},
{
query: "@usgov elasticbeanstalk",
},
{
query: "@china elasticbeanstalk",
},
{
query: "alex",
},
Expand Down

0 comments on commit f30ea76

Please sign in to comment.