Colin Powell, a Republican and former secretary of state, endorsed Hillary Clinton for president Tuesday, just two weeks before the 2016 election.

Powell, who served under three Republican presidents, announced he was breaking party rank and voting for the Democratic nominee during a luncheon in Long Island, saying Donald Trump insults Americans "every day," Newsday reported.

"He has insulted America in one way almost every day," Powell reportedly told the crowd at the Long Island Association Fall Luncheon. "He has insulted Latino Americans. He has insulted African-Americans. He has insulted women. He has insulted his own party. He has insulted our allies around the world one by one. He has insulted veterans."

By contrast, Powell, who previously endorsed President Obama, described Clinton as smart and capable.

"She is balanced, she has temperament, and no matter what anyone says, she has stamina," he said.

Powell's disdain for the Republican candidate is no surprise.

In personal emails that were obtained by DCLeaks.com from the former four-star general, Powell described Trump as a "know nothing" and called him a "national disgrace."