func validateClientConfig()

in deployers/whiskclient.go [271:323]


func validateClientConfig(credential PropertyValue, apiHost PropertyValue, namespace PropertyValue) error {

	// Display error message for each config value found missing
	if len(credential.Value) == 0 || len(apiHost.Value) == 0 || len(namespace.Value) == 0 {

		var errorMsg string = ""
		if len(credential.Value) == 0 {
			errorMsg = wskderrors.AppendDetailToErrorMessage(
				errorMsg, wski18n.T(wski18n.ID_MSG_CONFIG_MISSING_AUTHKEY), 1)
		}

		if len(apiHost.Value) == 0 {
			errorMsg = wskderrors.AppendDetailToErrorMessage(
				errorMsg, wski18n.T(wski18n.ID_MSG_CONFIG_MISSING_APIHOST), 1)
		}

		if len(namespace.Value) == 0 {
			errorMsg = wskderrors.AppendDetailToErrorMessage(
				errorMsg, wski18n.T(wski18n.ID_MSG_CONFIG_MISSING_NAMESPACE), 1)
		}

		if len(errorMsg) > 0 {
			return wskderrors.NewWhiskClientInvalidConfigError(errorMsg)
		}
	}

	// Show caller what final values we used for credential, apihost and namespace
	stdout := wski18n.T(wski18n.ID_MSG_CONFIG_INFO_APIHOST_X_host_X_source_X,
		map[string]interface{}{wski18n.KEY_HOST: apiHost.Value, wski18n.KEY_SOURCE: apiHost.Source})
	wskprint.PrintOpenWhiskVerbose(utils.Flags.Verbose, stdout)

	stdout = wski18n.T(wski18n.ID_MSG_CONFIG_INFO_AUTHKEY_X_source_X,
		map[string]interface{}{wski18n.KEY_SOURCE: credential.Source})
	wskprint.PrintOpenWhiskVerbose(utils.Flags.Verbose, stdout)

	stdout = wski18n.T(wski18n.ID_MSG_CONFIG_INFO_NAMESPACE_X_namespace_X_source_X,
		map[string]interface{}{wski18n.KEY_NAMESPACE: namespace.Value, wski18n.KEY_SOURCE: namespace.Source})
	wskprint.PrintOpenWhiskVerbose(utils.Flags.Verbose, stdout)

	if len(apigwAccessToken.Value) != 0 {
		stdout = wski18n.T(wski18n.ID_MSG_CONFIG_INFO_APIGE_ACCESS_TOKEN_X_source_X,
			map[string]interface{}{wski18n.KEY_SOURCE: apigwAccessToken.Source})
		wskprint.PrintOpenWhiskVerbose(utils.Flags.Verbose, stdout)
	}

	if len(apigwTenantId.Value) != 0 {
		stdout = wski18n.T(wski18n.ID_MSG_CONFIG_INFO_APIGW_TENANT_ID_X_source_X,
			map[string]interface{}{wski18n.KEY_UUID: apigwTenantId, wski18n.KEY_SOURCE: apigwTenantId.Source})
		wskprint.PrintOpenWhiskVerbose(utils.Flags.Verbose, stdout)
	}

	return nil
}