func formatParameterValue()

in cmd/hub/api/parameter.go [272:337]


func formatParameterValue(resource string, kind string, value interface{}, showSecret bool) (string, error) {
	var err error
	switch kind {

	case "license":
		if id, ok := value.(string); ok && id != "" {
			l, err2 := license(id)
			if err2 != nil {
				err = err2
				value = "(error)"
			} else {
				if showSecret {
					value = fmt.Sprintf("%s : %s", l.Component, l.LicenseKey)
				} else {
					value = fmt.Sprintf("[%s] <hidden>", id)
				}
			}
		}

	case "secret":
		reallySecretRef := ""
		annotation := ""
		if maybeMap, ok := value.(map[string]interface{}); ok {
			if maybeSecretRef, ok := maybeMap["secret"]; ok {
				if secretRef, ok := maybeSecretRef.(string); ok {
					annotation = fmt.Sprintf("%s, %s", maybeMap["kind"], secretRef)
					reallySecretRef = secretRef
				}
			}
		} else if secretRef, ok := value.(string); ok {
			annotation = secretRef
			reallySecretRef = secretRef
		}
		if len(reallySecretRef) == 36 { // uuid
			value2 := ""
			if !showSecret && !config.ApiDerefSecrets {
				value2 = "<no deref>"
			} else {
				s, err2 := secret(resource, reallySecretRef)
				if err2 != nil {
					err = err2
					value2 = "<error>"
				} else if s != nil {
					secretValue, secretKind := formatSecret(s)
					if showSecret {
						value2 = secretValue
					} else {
						value2 = "<hidden>"
					}
					if secretKind != "" && !strings.HasPrefix(annotation, secretKind+", ") {
						annotation = fmt.Sprintf("%s, %s", secretKind, annotation)
					}
				} else {
					value2 = "<nil>"
				}
			}
			if strings.Contains(value2, "\n") {
				value = fmt.Sprintf("(%s)\n%s", annotation, value2)
			} else {
				value = fmt.Sprintf("%s (%s)", value2, annotation)
			}
		}
	}

	return fmt.Sprintf("%v", value), err
}