При использовании переменных в определении 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.
Я использую для этого переменные, но с 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 - Я скопировал эту конфигурацию из Интернета где-то, и он вставил дефис вместо тире, что привело к ошибке, которую я увидел.
Самый полезный комментарий
EDIT: DISREGARD - я скопировал эту конфигурацию из Интернета где-то, и он вставил дефис вместо тире, что привело к ошибке, которую я увидел.
Я получаю ту же ошибку. У меня только одна группа безопасности.
Я пробовал оба
И
Это просто ямл?
EDIT: DISREGARD - Я скопировал эту конфигурацию из Интернета где-то, и он вставил дефис вместо тире, что привело к ошибке, которую я увидел.