2 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
將此變量TERRATEST_IAM_ROLE作為文檔中提到的os環(huán)境變量傳遞的唯一方法您也可以將其定義為您的后端文件,但如果您有讀取值的斷言測(cè)試用例,則不會(huì)被拾取,因?yàn)樗褂胊ws cli
所以我做了這件事,它奏效了。
import (
"os"
)
os.Setenv("TERRATEST_IAM_ROLE", "arn:aws:iam::xxxx/xxxx")

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
**
這段代碼是不可測(cè)試的,所以你不能測(cè)試它。
** https://github.com/gruntwork-io/terratest/blob/f3916f7a5f58e3fedf603388d3e3e8052d6a47a3/modules/aws/auth.go#L18
我希望他們可以像這樣重構(gòu)它:
var AuthAssumeRoleEnvVar string
func SetAuthAssumeRoleEnvVar(role string){
AuthAssumeRoleEnvVar = role
}
func NewAuthenticatedSession(region string) (*session.Session, error) {
if assumeRoleArn, ok := os.LookupEnv(AuthAssumeRoleEnvVar); ok {
return NewAuthenticatedSessionFromRole(region, assumeRoleArn)
} else {
return NewAuthenticatedSessionFromDefaultCredentials(region)
}
}
所以我們可以這樣稱呼它:
aws.SetAuthAssumeRoleEnvVar("testrole")
aws.NewAuthenticatedSession(region)
- 2 回答
- 0 關(guān)注
- 132 瀏覽
添加回答
舉報(bào)