Ao usar variáveis na definição de VPC em serverless.yml, como:
vpc:
securityGroupIds:
- $ { self: custom.prod_sg_a }
- $ { self: custom.prod_sg_b }
subnetIds:
- $ { self: custom.prod_subnet_a }
- $ { self: custom.prod_subnet_b }
serverless gera o seguinte erro na implantação:
Sem servidor: falha na implantação!
Erro sem servidor ---------------------------------------
An error occurred while provisioning your stack: LambdaFunction
- Value of property SecurityGroupIds must be of type
List of String.
Obtenha suporte --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Suas informações ambientais -----------------------------
OS: darwin
Versão do nó: 5.1.1
Versão sem servidor: 1.6.1
Deve ser capaz de usar variáveis (incluindo variáveis aninhadas) para dar suporte à implantação em contas diferentes e, portanto, VPCs diferentes.
Estou usando variáveis para isso, mas com 1.3. Você tem seu arquivo serverless.yml
exato?
Abaixo está um exemplo de como estou fazendo isso. Ele foi modificado, então pode não ser exatamente correto, mas deve fornecer um ponto de partida.
custom:
vpc:
securityGroupIds: ${self:custom.SecurityGroupId}
subnetIds: ${self:custom.SubnetId}
SubnetId:
- TBA
SecurityGroupId:
- TBA
functions:
test:
handler: handlers/test.handler
vpc: ${self:custom.vpc}
Obrigado! Isso pareceu funcionar. Deve definir a variável como uma lista em vez de uma lista de variáveis. Ou algo assim. Agradeço a ajuda!
EDIT: DISREGARD - Copiei esta configuração online em algum lugar e colei um hífen em vez de um travessão, resultando no erro que vi.
Estou recebendo este mesmo erro. Eu só tenho um grupo de segurança.
Eu tentei os dois
provider:
name: aws
runtime: nodejs6.10
vpc:
securityGroupIds:
— "sg-abcdefg1"
subnetIds:
— "subnet-abcdefg1"
— "subnet-abcdefg2"
E
provider:
name: aws
runtime: nodejs6.10
vpc:
securityGroupIds: "sg-abcdefg1"
subnetIds:
— "subnet-abcdefg1"
— "subnet-abcdefg2"
Isso é apenas uma coisa do yaml?
EDIT: DISREGARD - Copiei esta configuração online em algum lugar e colei um hífen em vez de um travessão, resultando no erro que vi.
Comentários muito úteis
EDIT: DISREGARD - Copiei esta configuração online em algum lugar e colei um hífen em vez de um travessão, resultando no erro que vi.
Estou recebendo este mesmo erro. Eu só tenho um grupo de segurança.
Eu tentei os dois
E
Isso é apenas uma coisa do yaml?
EDIT: DISREGARD - Copiei esta configuração online em algum lugar e colei um hífen em vez de um travessão, resultando no erro que vi.