title: AWS Api Gateway attach existing policy
body: <p>Normally if I want to create a private <code>AWS::ApiGateway::RestApi</code> with policy only allowing VPC traffic to invoke any resources on the API I'd do something like so:</p>
  <pre><code>&quot;ApiGatewayRestApi&quot;: {
        &quot;Type&quot;: &quot;AWS::ApiGateway::RestApi&quot;,
        &quot;Properties&quot;: {
          &quot;Name&quot;: &quot;api-foo-bar&quot;,
          &quot;EndpointConfiguration&quot;: {
            &quot;Types&quot;: [
              &quot;PRIVATE&quot;
            ]
          },
          &quot;Policy&quot;: {
            &quot;Version&quot;: &quot;2012-10-17&quot;,
            &quot;Statement&quot;: [
              {
                &quot;Effect&quot;: &quot;Allow&quot;,
                &quot;Principal&quot;: &quot;*&quot;,
                &quot;Action&quot;: [
                  &quot;execute-api:Invoke&quot;
                ],
                &quot;Resource&quot;: &quot;execute-api:/*&quot;,
                &quot;Condition&quot;: {
                  &quot;StringEquals&quot;: {
                    &quot;aws:SourceVpc&quot;: &quot;vpc-000000000000&quot;
                  }
                }
              }
            ]
          }
        }
      }
  </code></pre>
  <p>I have been asked if we can create a policy and then reuse it for different Api Gateways we may create? something amongst the lines:</p>
  <pre><code>&quot;ApiGatewayRestApi&quot;: {
        &quot;Type&quot;: &quot;AWS::ApiGateway::RestApi&quot;,
        &quot;Properties&quot;: {
          &quot;Name&quot;: &quot;api-foo-bar&quot;,
          &quot;EndpointConfiguration&quot;: {
            &quot;Types&quot;: [
              &quot;PRIVATE&quot;
            ]
          },
          &quot;Policy&quot;: &quot;arn:aws:*whatever*&quot;
        }
      },
  </code></pre>
  <p>And I have no idea! Nor can I find any documentation or examples showing that. Has anyone done this? Is it at all doable? Thanks :)</p>