{"action":"opened","number":4754,"pull_request":{"url":"https://api.github.com/repos/serverless/serverless/pulls/4754","id":170299991,"html_url":"https://github.com/serverless/serverless/pull/4754","diff_url":"https://github.com/serverless/serverless/pull/4754.diff","patch_url":"https://github.com/serverless/serverless/pull/4754.patch","issue_url":"https://api.github.com/repos/serverless/serverless/issues/4754","number":4754,"state":"open","locked":false,"title":"Allow Deep Variables to be Overwrites","user":{"login":"erikerikson","id":571200,"avatar_url":"https://avatars1.githubusercontent.com/u/571200?v=4","gravatar_id":"","url":"https://api.github.com/users/erikerikson","html_url":"https://github.com/erikerikson","followers_url":"https://api.github.com/users/erikerikson/followers","following_url":"https://api.github.com/users/erikerikson/following{/other_user}","gists_url":"https://api.github.com/users/erikerikson/gists{/gist_id}","starred_url":"https://api.github.com/users/erikerikson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikerikson/subscriptions","organizations_url":"https://api.github.com/users/erikerikson/orgs","repos_url":"https://api.github.com/users/erikerikson/repos","events_url":"https://api.github.com/users/erikerikson/events{/privacy}","received_events_url":"https://api.github.com/users/erikerikson/received_events","type":"User","site_admin":false},"body":"<!--\r\n1. Please check out and follow our Contributing Guidelines: https://github.com/serverless/serverless/blob/master/CONTRIBUTING.md\r\n2. Do not remove any section of the template. If something is not applicable leave it empty but leave it in the PR\r\n3. Please follow the template, otherwise we'll have to ask you to update it and it will take longer until your PR is merged\r\n-->\r\n\r\n## What did you implement:\r\n\r\nFixes: deep variables can contain overwrites (see https://github.com/serverless/serverless/pull/4713#issuecomment-366975172 - thank you @laardee)\r\n\r\n<!--\r\nBriefly describe the feature if no issue exists for this PR\r\n-->\r\n\r\n## How did you implement it:\r\n\r\nensure that the `getValueFromDeep` method uses the standard logic for detecting and resolving overwrites rather than assuming that all deep variables are standard single variable strings.\r\n\r\n<!--\r\nIf this is a nontrivial change please briefly describe your implementation so its easy for us to understand and review your code.\r\n-->\r\n\r\n## How can we verify it:\r\n\r\n<!--\r\nAdd any applicable config, commands, screenshots or other resources\r\nto make it easy for us to verify this works. The easier you make it for us\r\nto review a PR, the faster we can review and merge it.\r\n\r\nExamples:\r\n* serverless.yml - Fully functioning to easily deploy changes\r\n* Screenshots - Showing the difference between your output and the master\r\n* Cloud Configuration - List cloud resources and show that the correct configuration is in place (e.g. AWS CLI commands)\r\n* Other - Anything else that comes to mind to help us evaluate\r\n-->\r\n\r\n`npm run test`\r\n\r\n## Todos:\r\n\r\n- [x] Write tests\r\n- [n/a] Write documentation\r\n- [x] Fix linting errors\r\n- [x] Make sure code coverage hasn't dropped\r\n- [x] Provide verification config / commands / resources\r\n- [x] Enable \"Allow edits from maintainers\" for this PR\r\n- [x] Update the messages below\r\n\r\n***Is this ready for review?:*** YES\r\n***Is it a breaking change?:*** NO\r\n","created_at":"2018-02-20T20:29:27Z","updated_at":"2018-02-20T20:29:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/serverless/serverless/pulls/4754/commits","review_comments_url":"https://api.github.com/repos/serverless/serverless/pulls/4754/comments","review_comment_url":"https://api.github.com/repos/serverless/serverless/pulls/comments{/number}","comments_url":"https://api.github.com/repos/serverless/serverless/issues/4754/comments","statuses_url":"https://api.github.com/repos/serverless/serverless/statuses/a35bcc01cd0b4a1040a3c5baa928d456c7668071","head":{"label":"erikerikson:4713-follow-up-fixes","ref":"4713-follow-up-fixes","sha":"a35bcc01cd0b4a1040a3c5baa928d456c7668071","user":{"login":"erikerikson","id":571200,"avatar_url":"https://avatars1.githubusercontent.com/u/571200?v=4","gravatar_id":"","url":"https://api.github.com/users/erikerikson","html_url":"https://github.com/erikerikson","followers_url":"https://api.github.com/users/erikerikson/followers","following_url":"https://api.github.com/users/erikerikson/following{/other_user}","gists_url":"https://api.github.com/users/erikerikson/gists{/gist_id}","starred_url":"https://api.github.com/users/erikerikson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikerikson/subscriptions","organizations_url":"https://api.github.com/users/erikerikson/orgs","repos_url":"https://api.github.com/users/erikerikson/repos","events_url":"https://api.github.com/users/erikerikson/events{/privacy}","received_events_url":"https://api.github.com/users/erikerikson/received_events","type":"User","site_admin":false},"repo":{"id":66014907,"name":"serverless","full_name":"erikerikson/serverless","owner":{"login":"erikerikson","id":571200,"avatar_url":"https://avatars1.githubusercontent.com/u/571200?v=4","gravatar_id":"","url":"https://api.github.com/users/erikerikson","html_url":"https://github.com/erikerikson","followers_url":"https://api.github.com/users/erikerikson/followers","following_url":"https://api.github.com/users/erikerikson/following{/other_user}","gists_url":"https://api.github.com/users/erikerikson/gists{/gist_id}","starred_url":"https://api.github.com/users/erikerikson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikerikson/subscriptions","organizations_url":"https://api.github.com/users/erikerikson/orgs","repos_url":"https://api.github.com/users/erikerikson/repos","events_url":"https://api.github.com/users/erikerikson/events{/privacy}","received_events_url":"https://api.github.com/users/erikerikson/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/erikerikson/serverless","description":"Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! – ","fork":true,"url":"https://api.github.com/repos/erikerikson/serverless","forks_url":"https://api.github.com/repos/erikerikson/serverless/forks","keys_url":"https://api.github.com/repos/erikerikson/serverless/keys{/key_id}","collaborators_url":"https://api.github.com/repos/erikerikson/serverless/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/erikerikson/serverless/teams","hooks_url":"https://api.github.com/repos/erikerikson/serverless/hooks","issue_events_url":"https://api.github.com/repos/erikerikson/serverless/issues/events{/number}","events_url":"https://api.github.com/repos/erikerikson/serverless/events","assignees_url":"https://api.github.com/repos/erikerikson/serverless/assignees{/user}","branches_url":"https://api.github.com/repos/erikerikson/serverless/branches{/branch}","tags_url":"https://api.github.com/repos/erikerikson/serverless/tags","blobs_url":"https://api.github.com/repos/erikerikson/serverless/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/erikerikson/serverless/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/erikerikson/serverless/git/refs{/sha}","trees_url":"https://api.github.com/repos/erikerikson/serverless/git/trees{/sha}","statuses_url":"https://api.github.com/repos/erikerikson/serverless/statuses/{sha}","languages_url":"https://api.github.com/repos/erikerikson/serverless/languages","stargazers_url":"https://api.github.com/repos/erikerikson/serverless/stargazers","contributors_url":"https://api.github.com/repos/erikerikson/serverless/contributors","subscribers_url":"https://api.github.com/repos/erikerikson/serverless/subscribers","subscription_url":"https://api.github.com/repos/erikerikson/serverless/subscription","commits_url":"https://api.github.com/repos/erikerikson/serverless/commits{/sha}","git_commits_url":"https://api.github.com/repos/erikerikson/serverless/git/commits{/sha}","comments_url":"https://api.github.com/repos/erikerikson/serverless/comments{/number}","issue_comment_url":"https://api.github.com/repos/erikerikson/serverless/issues/comments{/number}","contents_url":"https://api.github.com/repos/erikerikson/serverless/contents/{+path}","compare_url":"https://api.github.com/repos/erikerikson/serverless/compare/{base}...{head}","merges_url":"https://api.github.com/repos/erikerikson/serverless/merges","archive_url":"https://api.github.com/repos/erikerikson/serverless/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/erikerikson/serverless/downloads","issues_url":"https://api.github.com/repos/erikerikson/serverless/issues{/number}","pulls_url":"https://api.github.com/repos/erikerikson/serverless/pulls{/number}","milestones_url":"https://api.github.com/repos/erikerikson/serverless/milestones{/number}","notifications_url":"https://api.github.com/repos/erikerikson/serverless/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/erikerikson/serverless/labels{/name}","releases_url":"https://api.github.com/repos/erikerikson/serverless/releases{/id}","deployments_url":"https://api.github.com/repos/erikerikson/serverless/deployments","created_at":"2016-08-18T16:51:21Z","updated_at":"2016-08-18T16:51:22Z","pushed_at":"2018-02-20T20:21:40Z","git_url":"git://github.com/erikerikson/serverless.git","ssh_url":"git@github.com:erikerikson/serverless.git","clone_url":"https://github.com/erikerikson/serverless.git","svn_url":"https://github.com/erikerikson/serverless","homepage":"http://www.serverless.com","size":77370,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"serverless:master","ref":"master","sha":"39caddc404ecabf40ea3fb2aa51d31cbe8db7acd","user":{"login":"serverless","id":13742415,"avatar_url":"https://avatars0.githubusercontent.com/u/13742415?v=4","gravatar_id":"","url":"https://api.github.com/users/serverless","html_url":"https://github.com/serverless","followers_url":"https://api.github.com/users/serverless/followers","following_url":"https://api.github.com/users/serverless/following{/other_user}","gists_url":"https://api.github.com/users/serverless/gists{/gist_id}","starred_url":"https://api.github.com/users/serverless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/serverless/subscriptions","organizations_url":"https://api.github.com/users/serverless/orgs","repos_url":"https://api.github.com/users/serverless/repos","events_url":"https://api.github.com/users/serverless/events{/privacy}","received_events_url":"https://api.github.com/users/serverless/received_events","type":"Organization","site_admin":false},"repo":{"id":34302698,"name":"serverless","full_name":"serverless/serverless","owner":{"login":"serverless","id":13742415,"avatar_url":"https://avatars0.githubusercontent.com/u/13742415?v=4","gravatar_id":"","url":"https://api.github.com/users/serverless","html_url":"https://github.com/serverless","followers_url":"https://api.github.com/users/serverless/followers","following_url":"https://api.github.com/users/serverless/following{/other_user}","gists_url":"https://api.github.com/users/serverless/gists{/gist_id}","starred_url":"https://api.github.com/users/serverless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/serverless/subscriptions","organizations_url":"https://api.github.com/users/serverless/orgs","repos_url":"https://api.github.com/users/serverless/repos","events_url":"https://api.github.com/users/serverless/events{/privacy}","received_events_url":"https://api.github.com/users/serverless/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/serverless/serverless","description":"Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! – ","fork":false,"url":"https://api.github.com/repos/serverless/serverless","forks_url":"https://api.github.com/repos/serverless/serverless/forks","keys_url":"https://api.github.com/repos/serverless/serverless/keys{/key_id}","collaborators_url":"https://api.github.com/repos/serverless/serverless/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/serverless/serverless/teams","hooks_url":"https://api.github.com/repos/serverless/serverless/hooks","issue_events_url":"https://api.github.com/repos/serverless/serverless/issues/events{/number}","events_url":"https://api.github.com/repos/serverless/serverless/events","assignees_url":"https://api.github.com/repos/serverless/serverless/assignees{/user}","branches_url":"https://api.github.com/repos/serverless/serverless/branches{/branch}","tags_url":"https://api.github.com/repos/serverless/serverless/tags","blobs_url":"https://api.github.com/repos/serverless/serverless/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/serverless/serverless/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/serverless/serverless/git/refs{/sha}","trees_url":"https://api.github.com/repos/serverless/serverless/git/trees{/sha}","statuses_url":"https://api.github.com/repos/serverless/serverless/statuses/{sha}","languages_url":"https://api.github.com/repos/serverless/serverless/languages","stargazers_url":"https://api.github.com/repos/serverless/serverless/stargazers","contributors_url":"https://api.github.com/repos/serverless/serverless/contributors","subscribers_url":"https://api.github.com/repos/serverless/serverless/subscribers","subscription_url":"https://api.github.com/repos/serverless/serverless/subscription","commits_url":"https://api.github.com/repos/serverless/serverless/commits{/sha}","git_commits_url":"https://api.github.com/repos/serverless/serverless/git/commits{/sha}","comments_url":"https://api.github.com/repos/serverless/serverless/comments{/number}","issue_comment_url":"https://api.github.com/repos/serverless/serverless/issues/comments{/number}","contents_url":"https://api.github.com/repos/serverless/serverless/contents/{+path}","compare_url":"https://api.github.com/repos/serverless/serverless/compare/{base}...{head}","merges_url":"https://api.github.com/repos/serverless/serverless/merges","archive_url":"https://api.github.com/repos/serverless/serverless/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/serverless/serverless/downloads","issues_url":"https://api.github.com/repos/serverless/serverless/issues{/number}","pulls_url":"https://api.github.com/repos/serverless/serverless/pulls{/number}","milestones_url":"https://api.github.com/repos/serverless/serverless/milestones{/number}","notifications_url":"https://api.github.com/repos/serverless/serverless/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/serverless/serverless/labels{/name}","releases_url":"https://api.github.com/repos/serverless/serverless/releases{/id}","deployments_url":"https://api.github.com/repos/serverless/serverless/deployments","created_at":"2015-04-21T03:48:40Z","updated_at":"2018-02-20T19:35:06Z","pushed_at":"2018-02-20T12:56:28Z","git_url":"git://github.com/serverless/serverless.git","ssh_url":"git@github.com:serverless/serverless.git","clone_url":"https://github.com/serverless/serverless.git","svn_url":"https://github.com/serverless/serverless","homepage":"http://www.serverless.com","size":77595,"stargazers_count":21927,"watchers_count":21927,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2311,"mirror_url":null,"archived":false,"open_issues_count":442,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":2311,"open_issues":442,"watchers":21927,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/serverless/serverless/pulls/4754"},"html":{"href":"https://github.com/serverless/serverless/pull/4754"},"issue":{"href":"https://api.github.com/repos/serverless/serverless/issues/4754"},"comments":{"href":"https://api.github.com/repos/serverless/serverless/issues/4754/comments"},"review_comments":{"href":"https://api.github.com/repos/serverless/serverless/pulls/4754/comments"},"review_comment":{"href":"https://api.github.com/repos/serverless/serverless/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/serverless/serverless/pulls/4754/commits"},"statuses":{"href":"https://api.github.com/repos/serverless/serverless/statuses/a35bcc01cd0b4a1040a3c5baa928d456c7668071"}},"author_association":"MEMBER","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":32,"deletions":11,"changed_files":2}}
{"actor":{"display_login":"erikerikson"}}