Serverless: Les paramètres VPC ne peuvent pas être affectés par des variables

Créé le 10 févr. 2017  ·  3Commentaires  ·  Source: serverless/serverless

Lors de l'utilisation de variables dans la définition de VPC dans serverless.yml telles que:

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

serverless renvoie l'erreur suivante lors du déploiement:

Sans serveur: le déploiement a échoué!

Erreur sans serveur ---------------------------------------

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

Obtenir de l'aide --------------------------------------------
Documents: docs.serverless.com
Bogues: github.com/serverless/serverless/issues

Informations sur votre environnement -----------------------------
OS: darwin
Version du nœud: 5.1.1
Version sans serveur: 1.6.1

Doit pouvoir utiliser des variables (y compris des variables imbriquées) pour prendre en charge le déploiement sur différents comptes et donc sur différents VPC.

bug

Commentaire le plus utile

EDIT: DISREGARD - J'avais copié cette configuration en ligne quelque part et elle a collé un trait d'union au lieu d'un tiret, ce qui a entraîné l'erreur que j'ai vue.

J'obtiens la même erreur. Je n'ai qu'un seul groupe de sécurité.

J'ai essayé les deux

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

ET

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

Est-ce juste un truc yaml?

EDIT: DISREGARD - J'avais copié cette configuration en ligne quelque part et elle a collé un trait d'union au lieu d'un tiret, ce qui a entraîné l'erreur que j'ai vue.

Tous les 3 commentaires

J'utilise des variables pour cela mais c'est avec 1.3. Avez-vous votre fichier exact serverless.yml ?

Voici un exemple de la façon dont je fais cela. Il est modifié et peut donc ne pas être tout à fait correct, mais devrait vous donner un point de départ.

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

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

Merci! Cela semblait faire l'affaire. Doit définir la variable sous forme de liste plutôt que de liste de variables. Ou quelque chose comme ça. Appréciez l'aide!

EDIT: DISREGARD - J'avais copié cette configuration en ligne quelque part et elle a collé un trait d'union au lieu d'un tiret, ce qui a entraîné l'erreur que j'ai vue.

J'obtiens la même erreur. Je n'ai qu'un seul groupe de sécurité.

J'ai essayé les deux

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

ET

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

Est-ce juste un truc yaml?

EDIT: DISREGARD - J'avais copié cette configuration en ligne quelque part et elle a collé un trait d'union au lieu d'un tiret, ce qui a entraîné l'erreur que j'ai vue.

Cette page vous a été utile?
0 / 5 - 0 notes