dougmoscrop / serverless-plugin-split-stacks

A plugin to generate nested stacks to get around CloudFormation resource/parameter/output limits
297 stars 68 forks source link

plugin appears to be removing VPC configuration from functions? #22

Closed eliasisrael closed 6 years ago

eliasisrael commented 6 years ago

When I run a 'package' command without this plugin, the vpc: configuration on a function appears to go through to the resultling package.

When I turn the plugin on, I cannot find the vpc config on the functions in the resulting package at all.

If I deploy the resulting package with the plugin turned on, the vpc configuration is not set in AWS.

Could it be that there's an oddity in function migration?

eliasisrael commented 6 years ago

@dougmoscrop , any thoughts? If you know for sure I'm barking up the wrong tree, let me know.

dougmoscrop commented 6 years ago

Do you have any other plugins running?

I just tried a very quick simple test and it appeared to retain the vpc configuration:

"HelloLambdaFunction": {
      "Type": "AWS::Lambda::Function",
      "Properties": {
        "Code": {
          "S3Bucket": {
            "Ref": "ServerlessDeploymentBucket"
          },
          "S3Key": "serverless/aws-nodejs/dev/1516725506173-2018-01-23T16:38:26.173Z/aws-nodejs.zip"
        },
        "FunctionName": "aws-nodejs-dev-hello",
        "Handler": "handler.hello",
        "MemorySize": 1024,
        "Role": {
          "Fn::GetAtt": [
            "IamRoleLambdaExecution",
            "Arn"
          ]
        },
        "Runtime": "nodejs6.10",
        "Timeout": 6,
        "VpcConfig": {
          "SecurityGroupIds": [
            "securityGroupId1",
            "securityGroupId2"
          ],
          "SubnetIds": [
            "subnetId1",
            "subnetId2"
          ]
        }
      },
      "DependsOn": [
        "HelloLogGroup",
        "IamRoleLambdaExecution"
      ]
    },
    "VersionsNestedStack": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "Parameters": {
          "HelloLambdaFunctionParameter": {
            "Ref": "HelloLambdaFunction"
          }
        },
        "TemplateURL": {
          "Fn::Join": [
            "/",
            [
              "https://s3.amazonaws.com",
              {
                "Ref": "ServerlessDeploymentBucket"
              },
              "serverless/aws-nodejs/dev/1516725506173-2018-01-23T16:38:26.173Z",
              "cloudformation-template-Versions-nested-stack.json"
            ]
          ]
        }
      },
      "DependsOn": [
        "HelloLambdaFunction"
      ]
eliasisrael commented 6 years ago

Odd. I have only the domain manager plugin running, but as I mentioned above, taking out split-stacks and leaving domain-manager in there it seemed to pass the vpc config through as expected.

dougmoscrop commented 6 years ago

Any chance you can put together a simple demo repo?

eliasisrael commented 6 years ago

Hmm. I rechecked and now I can’t reproduce it the same way. Must be something else. Sorry for the confusion.

On Jan 23, 2018, at 10:20 AM, Doug Moscrop notifications@github.com wrote:

Any chance you can put together a simple demo repo?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/dougmoscrop/serverless-plugin-split-stacks/issues/22#issuecomment-359882360, or mute the thread https://github.com/notifications/unsubscribe-auth/ABO5063ob_sdthniokSlKmb66K_sU9JSks5tNiLZgaJpZM4RUFGC.

dougmoscrop commented 6 years ago

No problem! I would like to close this, please re-open if it comes back.