Могу ли я вставить текст из другого файла в шаблон облачной информации? - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть это, например, в моем шаблоне:

 ApiGatewayRestApi:
      Type: AWS::ApiGateway::RestApi
      Properties:
        Name: MyApi
        Description: My AWS API Gateway config
        Body:
          # INSERT swagger.yml content here

Есть ли какая-либо функция облачной информации, которую я могу использовать, чтобы прочитать swagger.yml или прикрепить ее под "Body:"? Так что я могу сохранить его в другом файле, и мой шаблон не станет огромным.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Существует функция Fn :: Transform , которая позволяет вам вызывать различные макросы Cloudformation для обработки ваших шаблонов.Один из этих макросов: AWS :: Include

Вот пример:

Resources:
  APIGateway:
    Fn::Transform:
      Name: AWS::Include
      Parameters:
        Location:
          Fn::Sub: s3://partials-bucket/${PartialsEnv}/resources/api-gateway.yaml

Здесь api-gateway.yaml будет иметь полное определение вашего ресурса.

Вы можете использовать эту функцию так же, как и другие встроенные функции.Единственное предостережение: AWS::Include будет работать только с файлами, размещенными на S3, поэтому вам нужно будет загружать свои партиалы отдельно.

0 голосов
/ 11 сентября 2018

Вы можете попробовать BodyS3Location.

Расположение Amazon Simple Storage Service (Amazon S3), которое указывает на файл OpenAPI, который определяет набор API RESTful в формате JSON или YAML.

Например

"BodyS3Location": {
          "Bucket": "you_bucket_name",
          "Key": "filename.yaml"
        }

Подробнее см. BodyS3Расположение

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