func doConfigureGet()

in config/configure_get.go [39:110]


func doConfigureGet(c *cli.Context, args []string) {
	config, err := loadConfiguration()
	if err != nil {
		cli.Errorf(c.Stderr(), "load configuration failed %s", err)
		cli.Printf(c.Stderr(), "\n")
		return
	}

	profile := config.GetCurrentProfile(c)

	if pn, ok := ProfileFlag(c.Flags()).GetValue(); ok {
		profile, ok = config.GetProfile(pn)
		if !ok {
			cli.Errorf(c.Stderr(), "profile %s not found!", pn)
			cli.Printf(c.Stderr(), "\n")
			return
		}
	}

	if len(args) == 0 && !reflect.DeepEqual(profile, Profile{}) {
		data, err := json.MarshalIndent(profile, "", "\t")
		if err != nil {
			cli.Printf(c.Stderr(), "ERROR:"+err.Error())
			cli.Printf(c.Stderr(), "\n")
			return
		}
		cli.Println(c.Stdout(), string(data))
		cli.Printf(c.Stdout(), "\n")
		return
	}

	for _, arg := range args {
		switch arg {
		case ProfileFlagName:
			cli.Printf(c.Stdout(), "profile=%s\n", profile.Name)
		case ModeFlagName:
			cli.Printf(c.Stdout(), "mode=%s\n", profile.Mode)
		case AccessKeyIdFlagName:
			cli.Printf(c.Stdout(), "access-key-id=%s\n", MosaicString(profile.AccessKeyId, 3))
		case AccessKeySecretFlagName:
			cli.Printf(c.Stdout(), "access-key-secret=%s\n", MosaicString(profile.AccessKeySecret, 3))
		case StsTokenFlagName:
			cli.Printf(c.Stdout(), "sts-token=%s\n", profile.StsToken)
		case StsRegionFlagName:
			cli.Printf(c.Stdout(), "sts-region=%s\n", profile.StsRegion)
		case RamRoleNameFlagName:
			cli.Printf(c.Stdout(), "ram-role-name=%s\n", profile.RamRoleName)
		case RamRoleArnFlagName:
			cli.Printf(c.Stdout(), "ram-role-arn=%s\n", profile.RamRoleArn)
		case ExternalIdFlagName:
			cli.Printf(c.Stdout(), "external-id=%s\n", profile.ExternalId)
		case RoleSessionNameFlagName:
			cli.Printf(c.Stdout(), "role-session-name=%s\n", profile.RoleSessionName)
		case KeyPairNameFlagName:
			cli.Printf(c.Stdout(), "key-pair-name=%s\n", profile.KeyPairName)
		case PrivateKeyFlagName:
			cli.Printf(c.Stdout(), "private-key=%s\n", profile.PrivateKey)
		case RegionFlagName:
			cli.Printf(c.Stdout(), profile.RegionId)
		case LanguageFlagName:
			cli.Printf(c.Stdout(), "language=%s\n", profile.Language)
		case CloudSSOSignInUrlFlagName:
			cli.Printf(c.Stdout(), "cloud-sso-sign-in-url=%s\n", profile.CloudSSOSignInUrl)
		case CloudSSOAccessConfigFlagName:
			cli.Printf(c.Stdout(), "cloud-sso-access-config=%s\n", profile.CloudSSOAccessConfig)
		case CloudSSOAccountIdFlagName:
			cli.Printf(c.Stdout(), "cloud-sso-account-id=%s\n", profile.CloudSSOAccountId)
		}
	}

	cli.Printf(c.Stdout(), "\n")
}