Serverless: Настройки VPC не могут быть присвоены переменными

Созданный на 10 февр. 2017  ·  3Комментарии  ·  Источник: serverless/serverless

При использовании переменных в определении VPC в serverless.yml, например:

vpc:
securityGroupIds:
- $ { self: custom.prod_sg_a }
- $ { self: custom.prod_sg_b }
subnetIds:
- $ { self: custom.prod_subnet_a }
- $ { self: custom.prod_subnet_b }

serverless выдает следующую ошибку при развертывании:

Бессерверный: развертывание не удалось!

Ошибка без сервера ---------------------------------------

 An error occurred while provisioning your stack: LambdaFunction
 - Value of property SecurityGroupIds must be of type
 List of String.

Получать поддержку --------------------------------------------
Документы: docs.serverless.com
Ошибки: github.com/serverless/serverless/issues

Информация о вашей среде -----------------------------
ОС: дарвин
Версия узла: 5.1.1
Бессерверная версия: 1.6.1

Должна иметься возможность использовать переменные (включая вложенные переменные) для поддержки развертывания в разных учетных записях и, следовательно, в разных VPC.

Самый полезный комментарий

EDIT: DISREGARD - я скопировал эту конфигурацию из Интернета где-то, и он вставил дефис вместо тире, что привело к ошибке, которую я увидел.

Я получаю ту же ошибку. У меня только одна группа безопасности.

Я пробовал оба

provider:
  name: aws
  runtime: nodejs6.10
  vpc:
    securityGroupIds:
      — "sg-abcdefg1"
    subnetIds:
      — "subnet-abcdefg1"
      — "subnet-abcdefg2"

И

provider:
  name: aws
  runtime: nodejs6.10
  vpc:
    securityGroupIds: "sg-abcdefg1"
    subnetIds:
      — "subnet-abcdefg1"
      — "subnet-abcdefg2"

Это просто ямл?

EDIT: DISREGARD - Я скопировал эту конфигурацию из Интернета где-то, и он вставил дефис вместо тире, что привело к ошибке, которую я увидел.

Все 3 Комментарий

Я использую для этого переменные, но с 1.3. У вас есть точный serverless.yml файл?

Ниже приведен пример того, как я это делаю. Он изменен, поэтому может быть не совсем правильным, но должен дать вам отправную точку.

custom:
  vpc:
    securityGroupIds: ${self:custom.SecurityGroupId}
    subnetIds: ${self:custom.SubnetId}
  SubnetId:
    - TBA
  SecurityGroupId:
    - TBA

functions:
  test:
    handler: handlers/test.handler
    vpc: ${self:custom.vpc}

Благодаря! Похоже, это помогло. Необходимо установить переменную как список, а не как список переменных. Или что-то вроде того. Цените помощь!

EDIT: DISREGARD - я скопировал эту конфигурацию из Интернета где-то, и он вставил дефис вместо тире, что привело к ошибке, которую я увидел.

Я получаю ту же ошибку. У меня только одна группа безопасности.

Я пробовал оба

provider:
  name: aws
  runtime: nodejs6.10
  vpc:
    securityGroupIds:
      — "sg-abcdefg1"
    subnetIds:
      — "subnet-abcdefg1"
      — "subnet-abcdefg2"

И

provider:
  name: aws
  runtime: nodejs6.10
  vpc:
    securityGroupIds: "sg-abcdefg1"
    subnetIds:
      — "subnet-abcdefg1"
      — "subnet-abcdefg2"

Это просто ямл?

EDIT: DISREGARD - Я скопировал эту конфигурацию из Интернета где-то, и он вставил дефис вместо тире, что привело к ошибке, которую я увидел.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги