mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-29 17:05:46 +08:00
39 lines
932 B
Go
39 lines
932 B
Go
package defaults
|
|
|
|
import (
|
|
"github.com/aws/aws-sdk-go-v2/aws"
|
|
"runtime"
|
|
"strings"
|
|
)
|
|
|
|
var getGOOS = func() string {
|
|
return runtime.GOOS
|
|
}
|
|
|
|
// ResolveDefaultsModeAuto is used to determine the effective aws.DefaultsMode when the mode
|
|
// is set to aws.DefaultsModeAuto.
|
|
func ResolveDefaultsModeAuto(region string, environment aws.RuntimeEnvironment) aws.DefaultsMode {
|
|
goos := getGOOS()
|
|
if goos == "android" || goos == "ios" {
|
|
return aws.DefaultsModeMobile
|
|
}
|
|
|
|
var currentRegion string
|
|
if len(environment.EnvironmentIdentifier) > 0 {
|
|
currentRegion = environment.Region
|
|
}
|
|
|
|
if len(currentRegion) == 0 && len(environment.EC2InstanceMetadataRegion) > 0 {
|
|
currentRegion = environment.EC2InstanceMetadataRegion
|
|
}
|
|
|
|
if len(region) > 0 && len(currentRegion) > 0 {
|
|
if strings.EqualFold(region, currentRegion) {
|
|
return aws.DefaultsModeInRegion
|
|
}
|
|
return aws.DefaultsModeCrossRegion
|
|
}
|
|
|
|
return aws.DefaultsModeStandard
|
|
}
|