9
9
* [ Usage] ( #usage )
10
10
* [ Parameters] ( #parameters )
11
11
* [ Examples] ( #examples )
12
- * [ String values] ( #string-values )
12
+ * [ Get single parameter value] ( #get-single-parameter-value )
13
+ * [ Get multiple parameter values] ( #get-multiple-parameter-values )
13
14
* [ Custom prefix] ( #custom-prefix )
14
15
* [ Simple JSON parameter values] ( #simple-json-parameter-values )
15
16
* [ Complex JSON values] ( #complex-json-values )
@@ -36,14 +37,14 @@ Action expects 3 secrets to be set in GitHub's repository:
36
37
37
38
Parameter name | Type | Required | Default Value | Description
38
39
--- | --- | --- | --- | ---
39
- ` ssm_parameter ` | string | true | | AWS Systems Manager parameter name (path)
40
+ ` ssm_parameter_list ` | string | true | | AWS Systems Manager parameter name (path) or comma separated list of paths
40
41
` prefix ` | string | false | AWS_SSM_ | Custom environmental variables prefix
41
42
` simple_json ` | boolean | true | false | Parse parameter values as one-level JSON object and convert keys to environmental variables (see example below).
42
43
` jq_params ` | string | true | | Custom space-separated [ ` jq ` filters] ( https://stedolan.github.io/jq/ ) (see example below).
43
44
44
45
### Examples
45
46
46
- #### String values
47
+ #### Get single parameter value
47
48
48
49
Parse simple string value stored in AWS SSM ` my_parameter_name ` parameter:
49
50
``` yaml
@@ -63,11 +64,38 @@ jobs:
63
64
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
64
65
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
65
66
with :
66
- ssm_parameter : ' my_parameter_name'
67
+ ssm_parameter_list : ' my_parameter_name'
67
68
` ` `
68
69
69
70
Example above will set environmental variable ` AWS_SSM_MY_PARAMETER_NAME` with value from the AWS SSM parameter itself.
70
71
72
+ # ### Get multiple parameter values
73
+
74
+ Use comma separated list of strings to fetch multiple parameter values at once :
75
+ ` ` ` yaml
76
+ name: Parse SSM parameter
77
+
78
+ on:
79
+ push
80
+
81
+ jobs:
82
+ aws-ssm-to-env:
83
+ runs-on: ubuntu-latest
84
+ steps:
85
+ - name: aws-ssm-to-env
86
+ uses: bomb-on/aws-ssm-to-env@master
87
+ env:
88
+ AWS_REGION: ${{ secrets.AWS_REGION }}
89
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
90
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
91
+ with:
92
+ ssm_parameter_list: |
93
+ my_first_parameter,
94
+ my_second_parameter
95
+ ` ` `
96
+
97
+ Example above will set environmental variable `AWS_SSM_MY_FIRST_PARAMETER` and `AWS_SSM_MY_SECOND_PARAMETER` with corresponding values from AWS SSM.
98
+
71
99
# ### Custom prefix
72
100
73
101
Parse simple string value stored in AWS SSM `my_parameter_name` parameter and export environmental variable with a
89
117
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
90
118
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
91
119
with:
92
- ssm_parameter : 'my_parameter_name'
120
+ ssm_parameter_list : 'my_parameter_name'
93
121
prefix: FOO_
94
122
` ` `
95
123
@@ -115,7 +143,7 @@ jobs:
115
143
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
116
144
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
117
145
with:
118
- ssm_parameter : 'my_json_parameter'
146
+ ssm_parameter_list : 'my_json_parameter'
119
147
simple_json: true
120
148
` ` `
121
149
@@ -149,7 +177,7 @@ jobs:
149
177
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
150
178
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
151
179
with:
152
- ssm_parameter : 'my_json_parameter'
180
+ ssm_parameter_list : 'my_json_parameter'
153
181
jq_filter: '.db[]|select(.default).host .db[]|select(.default).port'
154
182
prefix: DB_
155
183
` ` `
0 commit comments