Serverless: La configuración de VPC no se puede asignar mediante variables

Creado en 10 feb. 2017  ·  3Comentarios  ·  Fuente: serverless/serverless

Cuando se utilizan variables en la definición de VPC en 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 arroja el siguiente error en la implementación:

Sin servidor: ¡la implementación falló!

Error sin servidor ---------------------------------------

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

Obtener apoyo --------------------------------------------
Documentos: docs.serverless.com
Errores: github.com/serverless/serverless/issues

Información de su entorno -----------------------------
SO: darwin
Versión de nodo: 5.1.1
Versión sin servidor: 1.6.1

Debería poder usar variables (incluidas variables anidadas) para admitir la implementación en diferentes cuentas y, por lo tanto, diferentes VPC.

bug

Comentario más útil

EDITAR: IGNORAR: había copiado esta configuración de en línea en algún lugar y pegué un guión en lugar de un guión, lo que resultó en el error que vi.

Recibo este mismo error. Solo tengo un grupo de seguridad.

He probado ambos

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

Y

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

¿Es esto solo una cosa de yaml?

EDITAR: IGNORAR: había copiado esta configuración de en línea en algún lugar y pegué un guión en lugar de un guión, lo que resultó en el error que vi.

Todos 3 comentarios

Estoy usando variables para esto, pero es con 1.3. ¿Tiene su archivo serverless.yml exacto?

A continuación se muestra un ejemplo de cómo lo estoy haciendo. Está modificado, por lo que puede que no sea exactamente correcto, pero debería proporcionarle un punto 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}

¡Gracias! Eso pareció funcionar. Debe establecer la variable como una lista en lugar de una lista de variables. O algo así. ¡Agradezco la ayuda!

EDITAR: IGNORAR: había copiado esta configuración de en línea en algún lugar y pegué un guión en lugar de un guión, lo que resultó en el error que vi.

Recibo este mismo error. Solo tengo un grupo de seguridad.

He probado ambos

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

Y

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

¿Es esto solo una cosa de yaml?

EDITAR: IGNORAR: había copiado esta configuración de en línea en algún lugar y pegué un guión en lugar de un guión, lo que resultó en el error que vi.

¿Fue útil esta página
0 / 5 - 0 calificaciones