To prepare cake: Preheat oven to 350°F. Coat a 9-by-13-inch baking pan with cooking spray. Drain pineapple in a sieve (strainer) set over a bowl, pressing on the solids. Reserve the drained pineapple and 1/4 cup of the juice.
Whisk flour, cinnamon, baking soda and salt in a medium bowl. Whisk eggs, sugar, buttermilk, oil, 1 tsp vanilla and the 1/4 cup pineapple juice in a large bowl until blended. Stir in pineapple, carrots and coconut.
Add the dry ingredients and mix with a rubber spatula until just blended. Stir in the walnuts. Scrape the batter into the prepared pan, spreading evenly.
Bake the cake until the top springs back when touched lightly and a skewer inserted in the center comes out clean, 40 to 45 minutes. Let cool completely on a wire rack.
To prepare frosting & finish cake: Beat cream cheese, powdered sugar and 1 1/2 tsp vanilla in a mixing bowl with an electric mixer until smooth and creamy. Spread the frosting over the cooled cake. Sprinkle with toasted coconut.