Serverless: VPC-Einstellungen Kann nicht von Variablen zugewiesen werden

Erstellt am 10. Feb. 2017  ·  3Kommentare  ·  Quelle: serverless/serverless

Bei Verwendung von Variablen in der VPC-Definition in serverless.yml wie:

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

serverless löst bei der Bereitstellung den folgenden Fehler aus:

Serverlos: Bereitstellung fehlgeschlagen!

Serverloser Fehler ---------------------------------------

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

Hole dir Unterstützung --------------------------------------------
Dokumente: docs.serverless.com
Fehler: github.com/serverless/serverless/issues

Ihre Umgebungsinformationen -----------------------------
OS: Darwin
Knotenversion: 5.1.1
Serverlose Version: 1.6.1

Sollte in der Lage sein, Variablen (einschließlich verschachtelter Variablen) zu verwenden, um die Bereitstellung über verschiedene Konten und daher verschiedene VPCs hinweg zu unterstützen.

bug

Hilfreichster Kommentar

EDIT: DISREGARD - Ich hatte diese Konfiguration irgendwo aus dem Internet kopiert und sie hat einen Bindestrich anstelle eines Bindestrichs eingefügt, was zu dem Fehler führte, den ich sah.

Ich erhalte den gleichen Fehler. Ich habe nur eine Sicherheitsgruppe.

Ich habe beides versucht

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

UND

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

Ist das nur eine Yaml-Sache?

EDIT: DISREGARD - Ich hatte diese Konfiguration irgendwo aus dem Internet kopiert und sie hat einen Bindestrich anstelle eines Bindestrichs eingefügt, was zu dem Fehler führte, den ich sah.

Alle 3 Kommentare

Ich benutze Variablen dafür, aber es ist mit 1.3. Haben Sie Ihre genaue serverless.yml -Datei?

Unten ist ein Beispiel, wie ich das mache. Es ist so modifiziert, dass es möglicherweise nicht genau richtig ist, aber Ihnen einen Ausgangspunkt geben sollte.

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

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

Vielen Dank! Das schien den Trick zu tun. Muss die Variable als Liste und nicht als Liste von Variablen festlegen. Oder etwas ähnliches. Schätzen Sie die Hilfe!

EDIT: DISREGARD - Ich hatte diese Konfiguration irgendwo aus dem Internet kopiert und sie hat einen Bindestrich anstelle eines Bindestrichs eingefügt, was zu dem Fehler führte, den ich sah.

Ich erhalte den gleichen Fehler. Ich habe nur eine Sicherheitsgruppe.

Ich habe beides versucht

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

UND

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

Ist das nur eine Yaml-Sache?

EDIT: DISREGARD - Ich hatte diese Konfiguration irgendwo aus dem Internet kopiert und sie hat einen Bindestrich anstelle eines Bindestrichs eingefügt, was zu dem Fehler führte, den ich sah.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen