56 Commits

Author SHA1 Message Date
Loren Gordon
5a7d14af09 Adds overwrite syntax support to SSM variable syntax
Check for the expected error message in the case the SSM parameter
does not exist and return `undefined`. Any other (unexpected) error
message still throws an exception.
2017-09-01 15:10:00 -04:00
Loren Gordon
a266d4f224 Supports ssm: variable references
Adds support for specifying SSM parameters as serverless variables.
Basic syntax is `${ssm:<foo>}`. To support decryption of SecureString
parameters, the extended syntax is `${ssm:<foo>~true|false}`. The `~`
is a delimiter; `true|false` is evaluated and passed to the
`WithDecryption` option of the SSM API.
2017-09-01 12:54:04 -04:00
Toby Hede
33431cb45a Allow double-quoted and single-quoted variables
Empty string is now valid
2017-08-20 11:05:15 +10:00
Toby Hede
2b3181c362 Handle both single and double quoted strings 2017-08-18 09:13:01 +10:00
Toby Hede
a1c8a37b9a Allow use of string as default values in variables 2017-08-18 09:07:29 +10:00
Rafal Wilinski
fea41a0ddf Fix Variables.s3RefSyntax typo 2017-08-11 20:01:09 +02:00
indieisaconcept
71f1aa09cb preserve context when executing exported function from .js file
The change ensures that when a .js file exported function is executed,
the original execution context is supplied in order to maintain "this".
2017-07-26 11:21:09 +10:00
Philipp Muens
c67d60f5d6 Merge pull request #3888 from mangas/3629-fix-file-absolute-path
handle absolute paths in file()
2017-07-07 14:55:02 +02:00
Filipe Azevedo
aab492f079 handle absolute paths with ~ in file() 2017-07-03 18:19:23 +01:00
Filipe Azevedo
e9e21dbd8e handle absolute paths in file() 2017-07-03 13:43:39 +01:00
Luke Herrington
1264dd015c
Improve usage and error handling of javascript variables. 2017-06-23 10:49:38 -07:00
Philipp Muens
0e4aceb704 Update error message 2017-06-11 21:14:12 +02:00
Philipp Muens
ee14ce9f36 Minor code changes and test improvements 2017-06-08 09:54:46 +02:00
Jeremy Benoist
ca202c5672
Throw an Error when requested variable does not exist
When we define a cf variable in serverless.yml and that variable wasn't output from the Cloudformation Outputs
a useless error was throw:

> Cannot read property 'OutputValue' of undefined

Now the error give more information:

> Trying to request a non variable from Cloudformation.
> Stack name: "some-stack" Requested variable: "DoestNotExist"
2017-06-06 17:18:33 +02:00
Sam Marks
aef89a51c7 Another follow-up on async vars. 2017-05-31 00:18:10 -04:00
Eslam λ Hefnawy
ddb99af627 Merge pull request #3592 from aoskotsky-amplify/master
Add support for S3 variables
2017-05-18 21:28:02 +07:00
Eslam A. Hefnawy
7503fa0bc5 fixed bug when using dot notation in yml keys 2017-05-15 22:05:04 +07:00
Eslam A. Hefnawy
971a27994c fixed bug when referencing vars from other vars object values 2017-05-12 13:34:11 +07:00
Alex Oskotsky
2945880e68 Add support for S3 variables 2017-05-10 23:31:43 -04:00
Eslam A. Hefnawy
f7b26a492c added cross service communication feature via cf variable source 2017-05-09 19:04:30 +07:00
Eslam A. Hefnawy
9b10da6dc8 fixed all unit tests 2017-05-05 00:36:32 +07:00
Eslam A. Hefnawy
bd33c98e7f fixed variables tests 2017-05-03 22:23:25 +07:00
Eslam A. Hefnawy
4810719601 renamed promises 2017-05-03 19:28:16 +07:00
Eslam A. Hefnawy
7cadf28444 supported promises in the variable system 2017-05-02 23:54:09 +07:00
Erik Erikson
93c7afb3f5 Resolve PR Comments
1. Improve wording of documentation.  Note the concrete object that will be written in its entirety
2. Expand documentation.  Note a potential security risk for secrets
3. Move, without changes, the `warnIfNotFound` method because it was putting space between `getValueFromSource` and the various source type specific functions it uses
4. Implement unit tests for `warnIfNotFound`
5. Implement unit tests for `logWarning`
2017-02-10 18:31:02 -08:00
Erik Erikson
7376fc0dff Merge branch 'master' into allow-self-reference
# Conflicts:
#	lib/classes/Error.js
2017-02-08 15:51:57 -08:00
Erik Erikson
079d964908 Add Warning Messages for Unresolvable Variables
1. define new `logWarning` method in Error class and consolidate message formatting for consistency.
2. use new `logWarning` to inform users if a variable cannot be resolved.
2017-02-08 15:40:31 -08:00
Erik Erikson
b936492af1 Allow for Top Level References & Commit Comments
1. Newly allow `${opt:}` and `${env:}` as a valid reference to the root of the option and environment settings hive, respectively
2. Write a test ensuring the above
3. Document the new capability
4. Eliminate a silly through-${self:} use example
5. Allow for the use of populateProperty in a not-in-place manner
6. Allow for the valid (albeit odd) valueToPopulate[''] case
2017-02-08 14:05:36 -08:00
Erik Erikson
230f37f4a4 Allow for Self-Reference
1. Newly allow '${self:}' as a valid reference to the current serverless.yml's root
  a. This allows for a more clean manner of passing names and identifiers around between projects.  Particularly, this facilitates exporting values from projects so they can be used in other projects via Fn::ImportValue.
2. Write a test ensuring the above
3. Document the new capability

Example usage: https://github.com/Nordstrom/hello-retail/pull/26/files
2017-02-07 19:19:30 -08:00
Philipp Muens
54fbaadede Remove defaults service property 2017-01-30 11:03:40 +01:00
John McKim
adea45e978 Temporarily remove provider.variableSyntax during variable population 2016-12-08 17:42:07 +10:00
ac360
d0b84ce1a9 fix formatting errors 2016-11-08 07:39:24 -08:00
Austen
1c93db6089 minor tweak for clearer errors 2016-11-08 06:56:35 -08:00
Austen
8b180452e3 minor tweaks for better error messages 2016-11-08 06:52:52 -08:00
ac360
15d0df22ae fix tests, add errors for better ux 2016-11-07 21:51:01 -08:00
ac360
eb97845ad5 remove console.log 2016-11-06 23:16:52 -08:00
ac360
16aa2c4072 add docs 2016-11-06 23:11:56 -08:00
ac360
d7b5afa459 fix test 2016-11-06 23:04:33 -08:00
ac360
59cebc01c1 start tests 2016-11-06 23:00:11 -08:00
ac360
fe26deb470 add js support to serverless variables 2016-11-06 22:07:33 -08:00
Philipp Muens
31cae71158 Fix regex linting errors 2016-10-31 09:08:50 +01:00
Eslam A. Hefnawy
cd260f0743 removed overwrite for file variable 2016-10-28 16:41:55 +07:00
Eslam A. Hefnawy
531e782dbb fixed conflicts in variables 2016-10-28 16:35:21 +07:00
Eslam λ Hefnawy
3a59cd8857 Merge pull request #2541 from miltador/fix-variables-overwriting
fix overwriting undefined variables #2081, #2522
2016-10-27 15:36:42 +07:00
horike37
56ca36c400 fixed test that should populate non string variables 2016-10-27 01:24:16 +09:00
Vasiliy Solovey
c870a037a5
fix overwriting empty object values 2016-10-25 19:55:44 +03:00
horike37
0dfb7aa437 fixed issue 2490 2016-10-23 22:49:10 +09:00
horike37
bdc5170d43 fixed issue 2500 2016-10-23 19:19:14 +09:00
John McKim
9e7f7c89f3 fix bug where variableSyntax is never set from config 2016-09-16 17:15:25 +10:00
Eslam A. Hefnawy
2e6cce979d fixed issue when referencing to self or file properties with var references 2016-09-08 17:53:18 +09:00