func()

in agent/session/plugin/config/profile.go [149:209]


func (cp *Profile) OverwriteWithFlags(ctx *cli.Context) {
	cp.Mode = AuthenticateMode(ModeFlag(ctx.Flags()).GetStringOrDefault(string(cp.Mode)))
	cp.AccessKeyId = AccessKeyIdFlag(ctx.Flags()).GetStringOrDefault(cp.AccessKeyId)
	cp.AccessKeySecret = AccessKeySecretFlag(ctx.Flags()).GetStringOrDefault(cp.AccessKeySecret)
	cp.StsToken = StsTokenFlag(ctx.Flags()).GetStringOrDefault(cp.StsToken)
	cp.StsRegion = StsRegionFlag(ctx.Flags()).GetStringOrDefault(cp.StsRegion)
	cp.RamRoleName = RamRoleNameFlag(ctx.Flags()).GetStringOrDefault(cp.RamRoleName)
	cp.RamRoleArn = RamRoleArnFlag(ctx.Flags()).GetStringOrDefault(cp.RamRoleArn)
	cp.RoleSessionName = RoleSessionNameFlag(ctx.Flags()).GetStringOrDefault(cp.RoleSessionName)
	cp.KeyPairName = KeyPairNameFlag(ctx.Flags()).GetStringOrDefault(cp.KeyPairName)
	cp.PrivateKey = PrivateKeyFlag(ctx.Flags()).GetStringOrDefault(cp.PrivateKey)
	cp.RegionId = RegionFlag(ctx.Flags()).GetStringOrDefault(cp.RegionId)
	cp.Language = LanguageFlag(ctx.Flags()).GetStringOrDefault(cp.Language)
	cp.ReadTimeout = ReadTimeoutFlag(ctx.Flags()).GetIntegerOrDefault(cp.ReadTimeout)
	cp.ConnectTimeout = ConnectTimeoutFlag(ctx.Flags()).GetIntegerOrDefault(cp.ConnectTimeout)
	cp.RetryCount = RetryCountFlag(ctx.Flags()).GetIntegerOrDefault(cp.RetryCount)
	cp.ExpiredSeconds = ExpiredSecondsFlag(ctx.Flags()).GetIntegerOrDefault(cp.ExpiredSeconds)
	cp.ProcessCommand = ProcessCommandFlag(ctx.Flags()).GetStringOrDefault(cp.ProcessCommand)

	if cp.AccessKeyId == "" {
		switch {
		case os.Getenv("ALIBABACLOUD_ACCESS_KEY_ID") != "":
			cp.AccessKeyId = os.Getenv("ALIBABACLOUD_ACCESS_KEY_ID")
		case os.Getenv("ALICLOUD_ACCESS_KEY_ID") != "":
			cp.AccessKeyId = os.Getenv("ALICLOUD_ACCESS_KEY_ID")
		case os.Getenv("ACCESS_KEY_ID") != "":
			cp.AccessKeyId = os.Getenv("ACCESS_KEY_ID")
		}
	}

	if cp.AccessKeySecret == "" {
		switch {
		case os.Getenv("ALIBABACLOUD_ACCESS_KEY_SECRET") != "":
			cp.AccessKeySecret = os.Getenv("ALIBABACLOUD_ACCESS_KEY_SECRET")
		case os.Getenv("ALICLOUD_ACCESS_KEY_SECRET") != "":
			cp.AccessKeySecret = os.Getenv("ALICLOUD_ACCESS_KEY_SECRET")
		case os.Getenv("ACCESS_KEY_SECRET") != "":
			cp.AccessKeySecret = os.Getenv("ACCESS_KEY_SECRET")
		}
	}

	if cp.StsToken == "" {
		cp.StsToken = os.Getenv("SECURITY_TOKEN")
	}

	if cp.CredentialsURI == "" {
		cp.CredentialsURI = os.Getenv("ALIBABA_CLOUD_CREDENTIALS_URI")
	}

	if cp.RegionId == "" {
		switch {
		case os.Getenv("ALIBABACLOUD_REGION_ID") != "":
			cp.RegionId = os.Getenv("ALIBABACLOUD_REGION_ID")
		case os.Getenv("ALICLOUD_REGION_ID") != "":
			cp.RegionId = os.Getenv("ALICLOUD_REGION_ID")
		case os.Getenv("REGION") != "":
			cp.RegionId = os.Getenv("REGION")
		}
	}
	AutoModeRecognition(cp)
}