CloudFormation, развертывающие методы ApiGateway, наследуют AWS_IAM от корневого ресурса - PullRequest
0 голосов
/ 12 сентября 2018

Я строю больший стек CloudFormation с такими ресурсами, как ApiGateway, Lambda и т. Д.

Для последней версии ApiGateway я поместил AWS :: ApiGateway :: Methods непосредственно в / (rootresourceid), а при развертывании из CloudFormation авторизатор на AWS :: ApiGateway :: Stage станет AWS_IAM, хотя я установите в методе собственный авторизатор и используйте DependsOn, чтобы ресурсы подождали.

   Post:
    DependsOn:
      - AuthorizerApi
    Type: AWS::ApiGateway::Method
    Properties:
      AuthorizationType: CUSTOM
      AuthorizerId: !Ref AuthorizerApi
      RestApiId: !Ref Api
      ResourceId: !GetAtt Api.RootResourceId
      HttpMethod: POST
      Integration:
        Type: AWS_PROXY
        IntegrationHttpMethod: POST
        Uri: !Join ['', ["arn:aws:apigateway:", !Ref "AWS::Region", ":lambda:path/2015-03-31/functions/", !GetAtt PostLambda.Outputs.FunctionGetAtt, ":${stageVariables.environment}/invocations"]]
      MethodResponses:
      - ResponseModels:
          application/json: Empty
        StatusCode: 200

Самое смешное, что это не проблема с ресурсами в корневом ресурсе, так что, похоже, это проблема наследования.

Кто-нибудь еще, кто испытал это, и каково решение, если требование не состоит в том, чтобы иметь путь под root?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...