title: Create multiple API Gateway stages with different integrations
body: <p>I'm trying to create a lambda function associate with an API Gateway.</p>
  <p>A new lambda version for that function will be created whenever new version is deployed, this version will have this ARN <code>arn:lambda_arn:[version]</code>.</p>
  <p>Also a new API Gateway stage need to be created with integration with that lambda version.</p>
  <p>When I deploy the CF stack :</p>
  <ul>
  <li>Create new lambda version</li>
  <li>Create API Gateway stage that's integrated with that version of lambda</li>
  <li>Create API Gateway stage called <code>dev</code> that's integrated with the lambda alias <code>dev</code> (<code>arn:lambda:dev</code>) and keep this stage where the alias is managen manually from the lambda settings.</li>
  </ul>
  <p>I've already tried to achieve this using sam cli yaml template and also with aws cdk, but here's the issues I faced:</p>
  <h2>Can't create multiple API Gateway Stages with different integrations, keeping the old stages</h2>
  <ul>
  <li>In cdk I can only create the HttpApi once</li>
  </ul>
  <pre class="lang-py prettyprint-override"><code>http_api = apigwv2.HttpApi(self, &quot;cdk_http_api&quot;)
  </code></pre>
  <p>Even though I can create multiple stages for that HttpApi, but all stages will have the exact same integration and routes.</p>
  <p>Creating a deployment would be useful, but even though I can't create different deployments with different integrations (that uses different version of lambda)</p>
  <pre class="lang-py prettyprint-override"><code>deployment = apigwv2.CfnDeployment(
      self, &quot;first_deployment&quot;, api_id=http_api.api_id, stage_name=&quot;test&quot;
  )
  </code></pre>
  <p>Also I can't attach it to a stage! <a href="https://stackoverflow.com/questions/62449187/deploy-multiple-api-gateway-stages-with-aws-cdk">unlike ApiGatewayV1 as mentioned below</a></p>
  <h2>The newly created stage will remove the old stages, I can't append new stages</h2>
  <h2>Lambda version is being removed:</h2>
  <ul>
  <li><p>In cdk, when I deploy a new lambda version the previous lambda version is getting removed.</p>
  </li>
  <li><p>In Sam CLI when I set the <code>AutoPublishAlias</code> property to the function, a new version get created and the specified alias will shifted to that new version, but fortunately it won't remove the older version.</p>
  </li>
  </ul>
  <p>How can I achieve what I want</p>
  <p>Not Duplicate of <a href="https://stackoverflow.com/questions/62449187/deploy-multiple-api-gateway-stages-with-aws-cdk">this answer</a> as it uses ApiGatewayV1 which supports deployments, where ApiGatewayV2 doesn't support unfortunately.</p>