Rohit Sharma has replaced Virat Kohli as India's ODI skipper and has also taken over from Ajinkya Rahane as Test vice-captain.
Opening batter Sharma was installed as Twenty20 International captain for the recent series win over New Zealand following Kohli's decision to step down at the conclusion of the T20 World Cup.
Rohit has now landed the role on a permanent basis and will also lead his country in the 50-over format.
The 34-year-old will also serve as Kohli's deputy in the longest format rather than Rahane, who has retained his place in the squad for the upcoming three-match Test series in South Africa.
Rohit, KL Rahul, Rishabh Pant, Jasprit Bumrah and Mohammed Shami.return to the squad to face the Proteas after being rested for the 1-0 series win over New Zealand.
Ravindra Jadeja, Axar Patel, Shubman Gill and Rahul Chahar miss out due to injuries.
The first Test begins at Supersport Park on December 26.
India Test squad: Virat Kohli (captain), Rohit Sharma, KL Rahul, Mayank Agarwal, Cheteshwar Pujara, Ajinkya Rahane, Shreyas Iyer, Hanuma Vihari, Rishabh Pant, Wriddhiman Saha, Ravichandran Ashwin, Jayant Yadav, Ishant Sharma, Mohd. Mohammed Shami., Umesh Yadav, Jasprit Bumrah, Shardul Thakur, Mohammed Siraj.
Standby Players: Navdeep Saini, Saurabh Kumar, Deepak Chahar, Arzan Nagwaswalla.