deployable-awscdk-app-ts 0.0.1 ā 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +94 -123
- package/API.md +54 -141
- package/README.md +18 -6
- package/lib/index.d.ts +15 -0
- package/lib/index.js +43 -8
- package/lib/steps.d.ts +1 -2
- package/lib/steps.js +31 -27
- package/lib/types.d.ts +14 -24
- package/lib/types.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
},
|
|
68
68
|
"name": "deployable-awscdk-app-ts",
|
|
69
69
|
"readme": {
|
|
70
|
-
"markdown": "# Deployable Typescript AWS CDK App Projen Project\n\nInspired by [projen](https://github.com/projen/projen)\nThis is a projen project for typescript AWS CDK Applications deployed via github actions.\n\n## Getting started\n\nTo create a new project, run the following command and follow the instructions:\n\n```\nconsole\n$ mkdir my-project\n$ cd my-project\n$ git init\n$ npx projen new --from deployable-awscdk-app-ts\nš¤ Synthesizing project...\n...\n```\n\nThis will initialize a projen project and will create `.projenrc.js` file for capturing the project details and options. Below is an example of the contents in this file\n\n### Example\n```javascript\nconst { DeployableAwsCdkTypeScriptApp } = require('deployable-awscdk-app-ts');\n\nconst project = new TypeScriptProject({\n name: 'my-test-app',\n defaultReleaseBranch: 'main',\n cdkVersion: '1.129.0',\n workflowNodeVersion: '14.18.1',\n deployOptions: {\n environments: ['dev'
|
|
70
|
+
"markdown": "# Deployable Typescript AWS CDK App Projen Project\n\nInspired by [projen](https://github.com/projen/projen)\nThis is a projen project for typescript AWS CDK Applications deployed via github actions.\n\n## Getting started\n\nTo create a new project, run the following command and follow the instructions:\n\n```\nconsole\n$ mkdir my-project\n$ cd my-project\n$ git init\n$ npx projen new --from deployable-awscdk-app-ts\nš¤ Synthesizing project...\n...\n```\n\nThis will initialize a projen project and will create `.projenrc.js` file for capturing the project details and options. Below is an example of the contents in this file\n\n### Example\n```javascript\nconst { DeployableAwsCdkTypeScriptApp } = require('deployable-awscdk-app-ts');\n\nconst project = new TypeScriptProject({\n name: 'my-test-app',\n defaultReleaseBranch: 'main',\n cdkVersion: '1.129.0',\n workflowNodeVersion: '14.18.1',\n deployOptions: {\n environments: [\n {\n name: 'dev',\n awsCredentials: {\n accessKeyIdSecretName: 'dev-secret-1',\n secretAccessKeySecretName: 'dev-secret-2',\n region: 'dev-aws-region-1',\n },\n },\n {\n name: 'staging',\n awsCredentials: {\n accessKeyIdSecretName: 'staging-secret-1',\n secretAccessKeySecretName: 'staging-secret-2',\n region: 'staging-aws-region-1',\n },\n },\n ]\n }\n});\n\nproject.synth()\n```\n"
|
|
71
71
|
},
|
|
72
72
|
"repository": {
|
|
73
73
|
"type": "git",
|
|
@@ -80,19 +80,19 @@
|
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
"types": {
|
|
83
|
-
"deployable-awscdk-app-ts.
|
|
83
|
+
"deployable-awscdk-app-ts.AWSCredentials": {
|
|
84
84
|
"assembly": "deployable-awscdk-app-ts",
|
|
85
85
|
"datatype": true,
|
|
86
86
|
"docs": {
|
|
87
87
|
"stability": "stable"
|
|
88
88
|
},
|
|
89
|
-
"fqn": "deployable-awscdk-app-ts.
|
|
89
|
+
"fqn": "deployable-awscdk-app-ts.AWSCredentials",
|
|
90
90
|
"kind": "interface",
|
|
91
91
|
"locationInModule": {
|
|
92
92
|
"filename": "src/types.ts",
|
|
93
|
-
"line":
|
|
93
|
+
"line": 36
|
|
94
94
|
},
|
|
95
|
-
"name": "
|
|
95
|
+
"name": "AWSCredentials",
|
|
96
96
|
"properties": [
|
|
97
97
|
{
|
|
98
98
|
"abstract": true,
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"immutable": true,
|
|
105
105
|
"locationInModule": {
|
|
106
106
|
"filename": "src/types.ts",
|
|
107
|
-
"line":
|
|
107
|
+
"line": 64
|
|
108
108
|
},
|
|
109
109
|
"name": "region",
|
|
110
110
|
"type": {
|
|
@@ -114,70 +114,52 @@
|
|
|
114
114
|
{
|
|
115
115
|
"abstract": true,
|
|
116
116
|
"docs": {
|
|
117
|
-
"default": "
|
|
117
|
+
"default": "\"AWS_ACCESS_KEY_ID\"",
|
|
118
118
|
"stability": "stable",
|
|
119
|
-
"summary": "
|
|
119
|
+
"summary": "GitHub Secret name for AWS Access Key Id."
|
|
120
120
|
},
|
|
121
121
|
"immutable": true,
|
|
122
122
|
"locationInModule": {
|
|
123
123
|
"filename": "src/types.ts",
|
|
124
|
-
"line":
|
|
124
|
+
"line": 41
|
|
125
125
|
},
|
|
126
|
-
"name": "
|
|
126
|
+
"name": "accessKeyIdSecretName",
|
|
127
127
|
"optional": true,
|
|
128
128
|
"type": {
|
|
129
|
-
"primitive": "
|
|
129
|
+
"primitive": "string"
|
|
130
130
|
}
|
|
131
131
|
},
|
|
132
132
|
{
|
|
133
133
|
"abstract": true,
|
|
134
134
|
"docs": {
|
|
135
|
+
"default": "300",
|
|
135
136
|
"stability": "stable",
|
|
136
|
-
"summary": "
|
|
137
|
+
"summary": "Duration of assume role session."
|
|
137
138
|
},
|
|
138
139
|
"immutable": true,
|
|
139
140
|
"locationInModule": {
|
|
140
141
|
"filename": "src/types.ts",
|
|
141
|
-
"line":
|
|
142
|
+
"line": 58
|
|
142
143
|
},
|
|
143
|
-
"name": "
|
|
144
|
+
"name": "assumeRoleDurationSeconds",
|
|
144
145
|
"optional": true,
|
|
145
146
|
"type": {
|
|
146
|
-
"primitive": "
|
|
147
|
+
"primitive": "number"
|
|
147
148
|
}
|
|
148
|
-
}
|
|
149
|
-
],
|
|
150
|
-
"symbolId": "src/types:AWSCredentialsBase"
|
|
151
|
-
},
|
|
152
|
-
"deployable-awscdk-app-ts.AWSCredentialsGitHubSecrets": {
|
|
153
|
-
"assembly": "deployable-awscdk-app-ts",
|
|
154
|
-
"datatype": true,
|
|
155
|
-
"docs": {
|
|
156
|
-
"stability": "stable"
|
|
157
|
-
},
|
|
158
|
-
"fqn": "deployable-awscdk-app-ts.AWSCredentialsGitHubSecrets",
|
|
159
|
-
"interfaces": [
|
|
160
|
-
"deployable-awscdk-app-ts.AWSCredentialsBase"
|
|
161
|
-
],
|
|
162
|
-
"kind": "interface",
|
|
163
|
-
"locationInModule": {
|
|
164
|
-
"filename": "src/types.ts",
|
|
165
|
-
"line": 31
|
|
166
|
-
},
|
|
167
|
-
"name": "AWSCredentialsGitHubSecrets",
|
|
168
|
-
"properties": [
|
|
149
|
+
},
|
|
169
150
|
{
|
|
170
151
|
"abstract": true,
|
|
171
152
|
"docs": {
|
|
172
153
|
"stability": "stable",
|
|
173
|
-
"summary": "
|
|
154
|
+
"summary": "ARN of AWS role to be assumed."
|
|
174
155
|
},
|
|
175
156
|
"immutable": true,
|
|
176
157
|
"locationInModule": {
|
|
177
158
|
"filename": "src/types.ts",
|
|
178
|
-
"line":
|
|
159
|
+
"line": 52
|
|
179
160
|
},
|
|
180
|
-
"name": "
|
|
161
|
+
"name": "roleToAssume",
|
|
162
|
+
"optional": true,
|
|
181
163
|
"type": {
|
|
182
164
|
"primitive": "string"
|
|
183
165
|
}
|
|
@@ -185,73 +167,23 @@
|
|
|
185
167
|
{
|
|
186
168
|
"abstract": true,
|
|
187
169
|
"docs": {
|
|
170
|
+
"default": "\"AWS_SECRET_ACCESS_KEY\"",
|
|
188
171
|
"stability": "stable",
|
|
189
172
|
"summary": "GitHub Secret name for AWS Secret Access Key."
|
|
190
173
|
},
|
|
191
174
|
"immutable": true,
|
|
192
|
-
"locationInModule": {
|
|
193
|
-
"filename": "src/types.ts",
|
|
194
|
-
"line": 40
|
|
195
|
-
},
|
|
196
|
-
"name": "secretAccessKeySecretName",
|
|
197
|
-
"type": {
|
|
198
|
-
"primitive": "string"
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
],
|
|
202
|
-
"symbolId": "src/types:AWSCredentialsGitHubSecrets"
|
|
203
|
-
},
|
|
204
|
-
"deployable-awscdk-app-ts.AWSCredentialsValues": {
|
|
205
|
-
"assembly": "deployable-awscdk-app-ts",
|
|
206
|
-
"datatype": true,
|
|
207
|
-
"docs": {
|
|
208
|
-
"stability": "stable"
|
|
209
|
-
},
|
|
210
|
-
"fqn": "deployable-awscdk-app-ts.AWSCredentialsValues",
|
|
211
|
-
"interfaces": [
|
|
212
|
-
"deployable-awscdk-app-ts.AWSCredentialsBase"
|
|
213
|
-
],
|
|
214
|
-
"kind": "interface",
|
|
215
|
-
"locationInModule": {
|
|
216
|
-
"filename": "src/types.ts",
|
|
217
|
-
"line": 43
|
|
218
|
-
},
|
|
219
|
-
"name": "AWSCredentialsValues",
|
|
220
|
-
"properties": [
|
|
221
|
-
{
|
|
222
|
-
"abstract": true,
|
|
223
|
-
"docs": {
|
|
224
|
-
"stability": "stable",
|
|
225
|
-
"summary": "AWS Access Key Id."
|
|
226
|
-
},
|
|
227
|
-
"immutable": true,
|
|
228
175
|
"locationInModule": {
|
|
229
176
|
"filename": "src/types.ts",
|
|
230
177
|
"line": 47
|
|
231
178
|
},
|
|
232
|
-
"name": "
|
|
233
|
-
"
|
|
234
|
-
"primitive": "string"
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
"abstract": true,
|
|
239
|
-
"docs": {
|
|
240
|
-
"stability": "stable",
|
|
241
|
-
"summary": "AWS Secret Access Key."
|
|
242
|
-
},
|
|
243
|
-
"immutable": true,
|
|
244
|
-
"locationInModule": {
|
|
245
|
-
"filename": "src/types.ts",
|
|
246
|
-
"line": 52
|
|
247
|
-
},
|
|
248
|
-
"name": "secretAccessKey",
|
|
179
|
+
"name": "secretAccessKeySecretName",
|
|
180
|
+
"optional": true,
|
|
249
181
|
"type": {
|
|
250
182
|
"primitive": "string"
|
|
251
183
|
}
|
|
252
184
|
}
|
|
253
185
|
],
|
|
254
|
-
"symbolId": "src/types:
|
|
186
|
+
"symbolId": "src/types:AWSCredentials"
|
|
255
187
|
},
|
|
256
188
|
"deployable-awscdk-app-ts.DeployOptions": {
|
|
257
189
|
"assembly": "deployable-awscdk-app-ts",
|
|
@@ -271,32 +203,7 @@
|
|
|
271
203
|
"abstract": true,
|
|
272
204
|
"docs": {
|
|
273
205
|
"stability": "stable",
|
|
274
|
-
"summary": "
|
|
275
|
-
},
|
|
276
|
-
"immutable": true,
|
|
277
|
-
"locationInModule": {
|
|
278
|
-
"filename": "src/types.ts",
|
|
279
|
-
"line": 26
|
|
280
|
-
},
|
|
281
|
-
"name": "awsCredentials",
|
|
282
|
-
"type": {
|
|
283
|
-
"union": {
|
|
284
|
-
"types": [
|
|
285
|
-
{
|
|
286
|
-
"fqn": "deployable-awscdk-app-ts.AWSCredentialsGitHubSecrets"
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
"fqn": "deployable-awscdk-app-ts.AWSCredentialsValues"
|
|
290
|
-
}
|
|
291
|
-
]
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
{
|
|
296
|
-
"abstract": true,
|
|
297
|
-
"docs": {
|
|
298
|
-
"stability": "stable",
|
|
299
|
-
"summary": "Environment names to deploy to."
|
|
206
|
+
"summary": "Environment settings to deploy to."
|
|
300
207
|
},
|
|
301
208
|
"immutable": true,
|
|
302
209
|
"locationInModule": {
|
|
@@ -307,7 +214,7 @@
|
|
|
307
214
|
"type": {
|
|
308
215
|
"collection": {
|
|
309
216
|
"elementtype": {
|
|
310
|
-
"
|
|
217
|
+
"fqn": "deployable-awscdk-app-ts.EnvironmentOptions"
|
|
311
218
|
},
|
|
312
219
|
"kind": "array"
|
|
313
220
|
}
|
|
@@ -347,7 +254,7 @@
|
|
|
347
254
|
},
|
|
348
255
|
"locationInModule": {
|
|
349
256
|
"filename": "src/index.ts",
|
|
350
|
-
"line":
|
|
257
|
+
"line": 14
|
|
351
258
|
},
|
|
352
259
|
"parameters": [
|
|
353
260
|
{
|
|
@@ -363,6 +270,21 @@
|
|
|
363
270
|
"filename": "src/index.ts",
|
|
364
271
|
"line": 8
|
|
365
272
|
},
|
|
273
|
+
"methods": [
|
|
274
|
+
{
|
|
275
|
+
"docs": {
|
|
276
|
+
"remarks": "1. Call \"this.preSynthesize()\"\n2. Delete all generated files\n3. Synthesize all sub-projects\n4. Synthesize all components of this project\n5. Call \"postSynthesize()\" for all components of this project\n6. Call \"this.postSynthesize()\"",
|
|
277
|
+
"stability": "stable",
|
|
278
|
+
"summary": "(experimental) Synthesize all project files into `outdir`."
|
|
279
|
+
},
|
|
280
|
+
"locationInModule": {
|
|
281
|
+
"filename": "src/index.ts",
|
|
282
|
+
"line": 28
|
|
283
|
+
},
|
|
284
|
+
"name": "synth",
|
|
285
|
+
"overrides": "projen.Project"
|
|
286
|
+
}
|
|
287
|
+
],
|
|
366
288
|
"name": "DeployableAwsCdkTypeScriptApp",
|
|
367
289
|
"symbolId": "src/index:DeployableAwsCdkTypeScriptApp"
|
|
368
290
|
},
|
|
@@ -401,8 +323,57 @@
|
|
|
401
323
|
}
|
|
402
324
|
],
|
|
403
325
|
"symbolId": "src/types:DeployableAwsCdkTypeScriptAppOptions"
|
|
326
|
+
},
|
|
327
|
+
"deployable-awscdk-app-ts.EnvironmentOptions": {
|
|
328
|
+
"assembly": "deployable-awscdk-app-ts",
|
|
329
|
+
"datatype": true,
|
|
330
|
+
"docs": {
|
|
331
|
+
"stability": "stable"
|
|
332
|
+
},
|
|
333
|
+
"fqn": "deployable-awscdk-app-ts.EnvironmentOptions",
|
|
334
|
+
"kind": "interface",
|
|
335
|
+
"locationInModule": {
|
|
336
|
+
"filename": "src/types.ts",
|
|
337
|
+
"line": 24
|
|
338
|
+
},
|
|
339
|
+
"name": "EnvironmentOptions",
|
|
340
|
+
"properties": [
|
|
341
|
+
{
|
|
342
|
+
"abstract": true,
|
|
343
|
+
"docs": {
|
|
344
|
+
"stability": "stable",
|
|
345
|
+
"summary": "AWS credential details for deployment."
|
|
346
|
+
},
|
|
347
|
+
"immutable": true,
|
|
348
|
+
"locationInModule": {
|
|
349
|
+
"filename": "src/types.ts",
|
|
350
|
+
"line": 33
|
|
351
|
+
},
|
|
352
|
+
"name": "awsCredentials",
|
|
353
|
+
"type": {
|
|
354
|
+
"fqn": "deployable-awscdk-app-ts.AWSCredentials"
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"abstract": true,
|
|
359
|
+
"docs": {
|
|
360
|
+
"stability": "stable",
|
|
361
|
+
"summary": "Environment name to deploy to."
|
|
362
|
+
},
|
|
363
|
+
"immutable": true,
|
|
364
|
+
"locationInModule": {
|
|
365
|
+
"filename": "src/types.ts",
|
|
366
|
+
"line": 28
|
|
367
|
+
},
|
|
368
|
+
"name": "name",
|
|
369
|
+
"type": {
|
|
370
|
+
"primitive": "string"
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
],
|
|
374
|
+
"symbolId": "src/types:EnvironmentOptions"
|
|
404
375
|
}
|
|
405
376
|
},
|
|
406
|
-
"version": "0.0.
|
|
407
|
-
"fingerprint": "+
|
|
377
|
+
"version": "0.0.2",
|
|
378
|
+
"fingerprint": "IGfkz2nEJ7zKbHII+fLpoVOuuiXnunTiaQxkns2lSGg="
|
|
408
379
|
}
|
package/API.md
CHANGED
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
|
|
4
4
|
## Structs <a name="Structs"></a>
|
|
5
5
|
|
|
6
|
-
###
|
|
6
|
+
### AWSCredentials <a name="deployable-awscdk-app-ts.AWSCredentials"></a>
|
|
7
7
|
|
|
8
8
|
#### Initializer <a name="[object Object].Initializer"></a>
|
|
9
9
|
|
|
10
10
|
```typescript
|
|
11
|
-
import {
|
|
11
|
+
import { AWSCredentials } from 'deployable-awscdk-app-ts'
|
|
12
12
|
|
|
13
|
-
const
|
|
13
|
+
const aWSCredentials: AWSCredentials = { ... }
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
##### `region`<sup>Required</sup> <a name="deployable-awscdk-app-ts.
|
|
16
|
+
##### `region`<sup>Required</sup> <a name="deployable-awscdk-app-ts.AWSCredentials.property.region"></a>
|
|
17
17
|
|
|
18
18
|
```typescript
|
|
19
19
|
public readonly region: string;
|
|
@@ -25,125 +25,20 @@ Default AWS region for the account.
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
##### `
|
|
29
|
-
|
|
30
|
-
```typescript
|
|
31
|
-
public readonly assumeRoleDurationSeconds: number;
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
- *Type:* `number`
|
|
35
|
-
- *Default:* 300
|
|
36
|
-
|
|
37
|
-
Duration of assume role session.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
##### `roleToAssume`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.AWSCredentialsBase.property.roleToAssume"></a>
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
public readonly roleToAssume: string;
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
- *Type:* `string`
|
|
48
|
-
|
|
49
|
-
ARN of AWS role to be assumed.
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
### AWSCredentialsGitHubSecrets <a name="deployable-awscdk-app-ts.AWSCredentialsGitHubSecrets"></a>
|
|
54
|
-
|
|
55
|
-
#### Initializer <a name="[object Object].Initializer"></a>
|
|
56
|
-
|
|
57
|
-
```typescript
|
|
58
|
-
import { AWSCredentialsGitHubSecrets } from 'deployable-awscdk-app-ts'
|
|
59
|
-
|
|
60
|
-
const aWSCredentialsGitHubSecrets: AWSCredentialsGitHubSecrets = { ... }
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
##### `region`<sup>Required</sup> <a name="deployable-awscdk-app-ts.AWSCredentialsGitHubSecrets.property.region"></a>
|
|
64
|
-
|
|
65
|
-
```typescript
|
|
66
|
-
public readonly region: string;
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
- *Type:* `string`
|
|
70
|
-
|
|
71
|
-
Default AWS region for the account.
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
##### `assumeRoleDurationSeconds`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.AWSCredentialsGitHubSecrets.property.assumeRoleDurationSeconds"></a>
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
public readonly assumeRoleDurationSeconds: number;
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
- *Type:* `number`
|
|
82
|
-
- *Default:* 300
|
|
83
|
-
|
|
84
|
-
Duration of assume role session.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
##### `roleToAssume`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.AWSCredentialsGitHubSecrets.property.roleToAssume"></a>
|
|
89
|
-
|
|
90
|
-
```typescript
|
|
91
|
-
public readonly roleToAssume: string;
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
- *Type:* `string`
|
|
95
|
-
|
|
96
|
-
ARN of AWS role to be assumed.
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
##### `accessKeyIdSecretName`<sup>Required</sup> <a name="deployable-awscdk-app-ts.AWSCredentialsGitHubSecrets.property.accessKeyIdSecretName"></a>
|
|
28
|
+
##### `accessKeyIdSecretName`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.AWSCredentials.property.accessKeyIdSecretName"></a>
|
|
101
29
|
|
|
102
30
|
```typescript
|
|
103
31
|
public readonly accessKeyIdSecretName: string;
|
|
104
32
|
```
|
|
105
33
|
|
|
106
34
|
- *Type:* `string`
|
|
35
|
+
- *Default:* "AWS_ACCESS_KEY_ID"
|
|
107
36
|
|
|
108
37
|
GitHub Secret name for AWS Access Key Id.
|
|
109
38
|
|
|
110
39
|
---
|
|
111
40
|
|
|
112
|
-
##### `
|
|
113
|
-
|
|
114
|
-
```typescript
|
|
115
|
-
public readonly secretAccessKeySecretName: string;
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
- *Type:* `string`
|
|
119
|
-
|
|
120
|
-
GitHub Secret name for AWS Secret Access Key.
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
### AWSCredentialsValues <a name="deployable-awscdk-app-ts.AWSCredentialsValues"></a>
|
|
125
|
-
|
|
126
|
-
#### Initializer <a name="[object Object].Initializer"></a>
|
|
127
|
-
|
|
128
|
-
```typescript
|
|
129
|
-
import { AWSCredentialsValues } from 'deployable-awscdk-app-ts'
|
|
130
|
-
|
|
131
|
-
const aWSCredentialsValues: AWSCredentialsValues = { ... }
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
##### `region`<sup>Required</sup> <a name="deployable-awscdk-app-ts.AWSCredentialsValues.property.region"></a>
|
|
135
|
-
|
|
136
|
-
```typescript
|
|
137
|
-
public readonly region: string;
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
- *Type:* `string`
|
|
141
|
-
|
|
142
|
-
Default AWS region for the account.
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
##### `assumeRoleDurationSeconds`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.AWSCredentialsValues.property.assumeRoleDurationSeconds"></a>
|
|
41
|
+
##### `assumeRoleDurationSeconds`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.AWSCredentials.property.assumeRoleDurationSeconds"></a>
|
|
147
42
|
|
|
148
43
|
```typescript
|
|
149
44
|
public readonly assumeRoleDurationSeconds: number;
|
|
@@ -156,7 +51,7 @@ Duration of assume role session.
|
|
|
156
51
|
|
|
157
52
|
---
|
|
158
53
|
|
|
159
|
-
##### `roleToAssume`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.
|
|
54
|
+
##### `roleToAssume`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.AWSCredentials.property.roleToAssume"></a>
|
|
160
55
|
|
|
161
56
|
```typescript
|
|
162
57
|
public readonly roleToAssume: string;
|
|
@@ -168,27 +63,16 @@ ARN of AWS role to be assumed.
|
|
|
168
63
|
|
|
169
64
|
---
|
|
170
65
|
|
|
171
|
-
##### `
|
|
66
|
+
##### `secretAccessKeySecretName`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.AWSCredentials.property.secretAccessKeySecretName"></a>
|
|
172
67
|
|
|
173
68
|
```typescript
|
|
174
|
-
public readonly
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
- *Type:* `string`
|
|
178
|
-
|
|
179
|
-
AWS Access Key Id.
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
##### `secretAccessKey`<sup>Required</sup> <a name="deployable-awscdk-app-ts.AWSCredentialsValues.property.secretAccessKey"></a>
|
|
184
|
-
|
|
185
|
-
```typescript
|
|
186
|
-
public readonly secretAccessKey: string;
|
|
69
|
+
public readonly secretAccessKeySecretName: string;
|
|
187
70
|
```
|
|
188
71
|
|
|
189
72
|
- *Type:* `string`
|
|
73
|
+
- *Default:* "AWS_SECRET_ACCESS_KEY"
|
|
190
74
|
|
|
191
|
-
AWS Secret Access Key.
|
|
75
|
+
GitHub Secret name for AWS Secret Access Key.
|
|
192
76
|
|
|
193
77
|
---
|
|
194
78
|
|
|
@@ -1996,41 +1880,63 @@ import { DeployOptions } from 'deployable-awscdk-app-ts'
|
|
|
1996
1880
|
const deployOptions: DeployOptions = { ... }
|
|
1997
1881
|
```
|
|
1998
1882
|
|
|
1999
|
-
##### `
|
|
1883
|
+
##### `environments`<sup>Required</sup> <a name="deployable-awscdk-app-ts.DeployOptions.property.environments"></a>
|
|
1884
|
+
|
|
1885
|
+
```typescript
|
|
1886
|
+
public readonly environments: EnvironmentOptions[];
|
|
1887
|
+
```
|
|
1888
|
+
|
|
1889
|
+
- *Type:* [`deployable-awscdk-app-ts.EnvironmentOptions`](#deployable-awscdk-app-ts.EnvironmentOptions)[]
|
|
1890
|
+
|
|
1891
|
+
Environment settings to deploy to.
|
|
1892
|
+
|
|
1893
|
+
---
|
|
1894
|
+
|
|
1895
|
+
##### `stackPattern`<sup>Optional</sup> <a name="deployable-awscdk-app-ts.DeployOptions.property.stackPattern"></a>
|
|
2000
1896
|
|
|
2001
1897
|
```typescript
|
|
2002
|
-
public readonly
|
|
1898
|
+
public readonly stackPattern: string;
|
|
2003
1899
|
```
|
|
2004
1900
|
|
|
2005
|
-
- *Type:*
|
|
1901
|
+
- *Type:* `string`
|
|
2006
1902
|
|
|
2007
|
-
|
|
1903
|
+
Regex for stacks to be deployed.
|
|
1904
|
+
|
|
1905
|
+
if not provided matches all of the stacks in the CDK App.
|
|
2008
1906
|
|
|
2009
1907
|
---
|
|
2010
1908
|
|
|
2011
|
-
|
|
1909
|
+
### EnvironmentOptions <a name="deployable-awscdk-app-ts.EnvironmentOptions"></a>
|
|
1910
|
+
|
|
1911
|
+
#### Initializer <a name="[object Object].Initializer"></a>
|
|
2012
1912
|
|
|
2013
1913
|
```typescript
|
|
2014
|
-
|
|
1914
|
+
import { EnvironmentOptions } from 'deployable-awscdk-app-ts'
|
|
1915
|
+
|
|
1916
|
+
const environmentOptions: EnvironmentOptions = { ... }
|
|
2015
1917
|
```
|
|
2016
1918
|
|
|
2017
|
-
|
|
1919
|
+
##### `awsCredentials`<sup>Required</sup> <a name="deployable-awscdk-app-ts.EnvironmentOptions.property.awsCredentials"></a>
|
|
1920
|
+
|
|
1921
|
+
```typescript
|
|
1922
|
+
public readonly awsCredentials: AWSCredentials;
|
|
1923
|
+
```
|
|
2018
1924
|
|
|
2019
|
-
|
|
1925
|
+
- *Type:* [`deployable-awscdk-app-ts.AWSCredentials`](#deployable-awscdk-app-ts.AWSCredentials)
|
|
1926
|
+
|
|
1927
|
+
AWS credential details for deployment.
|
|
2020
1928
|
|
|
2021
1929
|
---
|
|
2022
1930
|
|
|
2023
|
-
##### `
|
|
1931
|
+
##### `name`<sup>Required</sup> <a name="deployable-awscdk-app-ts.EnvironmentOptions.property.name"></a>
|
|
2024
1932
|
|
|
2025
1933
|
```typescript
|
|
2026
|
-
public readonly
|
|
1934
|
+
public readonly name: string;
|
|
2027
1935
|
```
|
|
2028
1936
|
|
|
2029
1937
|
- *Type:* `string`
|
|
2030
1938
|
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
if not provided matches all of the stacks in the CDK App.
|
|
1939
|
+
Environment name to deploy to.
|
|
2034
1940
|
|
|
2035
1941
|
---
|
|
2036
1942
|
|
|
@@ -2052,6 +1958,13 @@ new DeployableAwsCdkTypeScriptApp(options: DeployableAwsCdkTypeScriptAppOptions)
|
|
|
2052
1958
|
|
|
2053
1959
|
---
|
|
2054
1960
|
|
|
1961
|
+
#### Methods <a name="Methods"></a>
|
|
1962
|
+
|
|
1963
|
+
##### `synth` <a name="deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp.synth"></a>
|
|
1964
|
+
|
|
1965
|
+
```typescript
|
|
1966
|
+
public synth()
|
|
1967
|
+
```
|
|
2055
1968
|
|
|
2056
1969
|
|
|
2057
1970
|
|
package/README.md
CHANGED
|
@@ -29,12 +29,24 @@ const project = new TypeScriptProject({
|
|
|
29
29
|
cdkVersion: '1.129.0',
|
|
30
30
|
workflowNodeVersion: '14.18.1',
|
|
31
31
|
deployOptions: {
|
|
32
|
-
environments: [
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
environments: [
|
|
33
|
+
{
|
|
34
|
+
name: 'dev',
|
|
35
|
+
awsCredentials: {
|
|
36
|
+
accessKeyIdSecretName: 'dev-secret-1',
|
|
37
|
+
secretAccessKeySecretName: 'dev-secret-2',
|
|
38
|
+
region: 'dev-aws-region-1',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'staging',
|
|
43
|
+
awsCredentials: {
|
|
44
|
+
accessKeyIdSecretName: 'staging-secret-1',
|
|
45
|
+
secretAccessKeySecretName: 'staging-secret-2',
|
|
46
|
+
region: 'staging-aws-region-1',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
]
|
|
38
50
|
}
|
|
39
51
|
});
|
|
40
52
|
|
package/lib/index.d.ts
CHANGED
|
@@ -5,10 +5,25 @@ export * from './types';
|
|
|
5
5
|
* @stability stable
|
|
6
6
|
*/
|
|
7
7
|
export declare class DeployableAwsCdkTypeScriptApp extends AwsCdkTypeScriptApp {
|
|
8
|
+
private readonly deployable;
|
|
9
|
+
private readonly workflowNodeVersion?;
|
|
8
10
|
private readonly deployOptions;
|
|
9
11
|
/**
|
|
10
12
|
* @stability stable
|
|
11
13
|
*/
|
|
12
14
|
constructor(options: DeployableAwsCdkTypeScriptAppOptions);
|
|
15
|
+
/**
|
|
16
|
+
* (experimental) Synthesize all project files into `outdir`.
|
|
17
|
+
*
|
|
18
|
+
* 1. Call "this.preSynthesize()"
|
|
19
|
+
* 2. Delete all generated files
|
|
20
|
+
* 3. Synthesize all sub-projects
|
|
21
|
+
* 4. Synthesize all components of this project
|
|
22
|
+
* 5. Call "postSynthesize()" for all components of this project
|
|
23
|
+
* 6. Call "this.postSynthesize()"
|
|
24
|
+
*
|
|
25
|
+
* @stability stable
|
|
26
|
+
*/
|
|
27
|
+
synth(): void;
|
|
13
28
|
private addDeployJobs;
|
|
14
29
|
}
|
package/lib/index.js
CHANGED
|
@@ -26,18 +26,53 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.AwsCdkTypeScriptApp {
|
|
|
26
26
|
*/
|
|
27
27
|
constructor(options) {
|
|
28
28
|
var _b;
|
|
29
|
-
const
|
|
29
|
+
const deployable = (_b = options.release) !== null && _b !== void 0 ? _b : true;
|
|
30
30
|
super({
|
|
31
31
|
...options,
|
|
32
|
-
release,
|
|
32
|
+
release: deployable,
|
|
33
33
|
});
|
|
34
|
+
this.deployable = deployable;
|
|
35
|
+
this.workflowNodeVersion = options.workflowNodeVersion;
|
|
34
36
|
this.deployOptions = options.deployOptions;
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
+
if (!deployable)
|
|
38
|
+
console.warn('The project is explicitly set to not release, make sure this is desired setting');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* (experimental) Synthesize all project files into `outdir`.
|
|
42
|
+
*
|
|
43
|
+
* 1. Call "this.preSynthesize()"
|
|
44
|
+
* 2. Delete all generated files
|
|
45
|
+
* 3. Synthesize all sub-projects
|
|
46
|
+
* 4. Synthesize all components of this project
|
|
47
|
+
* 5. Call "postSynthesize()" for all components of this project
|
|
48
|
+
* 6. Call "this.postSynthesize()"
|
|
49
|
+
*
|
|
50
|
+
* @stability stable
|
|
51
|
+
*/
|
|
52
|
+
synth() {
|
|
53
|
+
if (this.deployable)
|
|
54
|
+
this.addDeployJobs(this.workflowNodeVersion);
|
|
55
|
+
super.synth();
|
|
37
56
|
}
|
|
38
57
|
addDeployJobs(workflowNodeVersion) {
|
|
39
58
|
var _b;
|
|
40
|
-
const include = this.deployOptions.environments.map(
|
|
59
|
+
const include = this.deployOptions.environments.map(environmentOptions => {
|
|
60
|
+
var _b, _c;
|
|
61
|
+
const { awsCredentials } = environmentOptions;
|
|
62
|
+
const assumeRole = awsCredentials.roleToAssume ? 'true' : 'false';
|
|
63
|
+
const assumeRoleSettings = awsCredentials.roleToAssume ? {
|
|
64
|
+
roleToAssume: awsCredentials.roleToAssume,
|
|
65
|
+
assumeRoleDurationSeconds: (awsCredentials.assumeRoleDurationSeconds || 300).toString(),
|
|
66
|
+
} : undefined;
|
|
67
|
+
return {
|
|
68
|
+
environment: environmentOptions.name,
|
|
69
|
+
accessKeyId: (_b = awsCredentials.accessKeyIdSecretName) !== null && _b !== void 0 ? _b : 'AWS_ACCESS_KEY_ID',
|
|
70
|
+
secretAccessKey: (_c = awsCredentials.secretAccessKeySecretName) !== null && _c !== void 0 ? _c : 'AWS_SECRET_ACCESS_KEY',
|
|
71
|
+
region: awsCredentials.region,
|
|
72
|
+
assumeRole,
|
|
73
|
+
...assumeRoleSettings,
|
|
74
|
+
};
|
|
75
|
+
});
|
|
41
76
|
const jobDefinition = {
|
|
42
77
|
runsOn: 'ubuntu-latest',
|
|
43
78
|
concurrency: 'deploy',
|
|
@@ -62,12 +97,12 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.AwsCdkTypeScriptApp {
|
|
|
62
97
|
if (workflowNodeVersion)
|
|
63
98
|
jobDefinition.steps.push(steps.setNodeVersionStep(workflowNodeVersion));
|
|
64
99
|
jobDefinition.steps.push(steps.installDependenciesStep());
|
|
65
|
-
jobDefinition.steps.push(steps.
|
|
100
|
+
jobDefinition.steps.push(...steps.setAwsCredentialsSteps());
|
|
66
101
|
jobDefinition.steps.push(steps.deploymentStep(this.deployOptions.stackPattern));
|
|
67
102
|
(_b = this.release) === null || _b === void 0 ? void 0 : _b.addJobs({ deploy: jobDefinition });
|
|
68
103
|
}
|
|
69
104
|
}
|
|
70
105
|
exports.DeployableAwsCdkTypeScriptApp = DeployableAwsCdkTypeScriptApp;
|
|
71
106
|
_a = JSII_RTTI_SYMBOL_1;
|
|
72
|
-
DeployableAwsCdkTypeScriptApp[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp", version: "0.0.
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
DeployableAwsCdkTypeScriptApp[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp", version: "0.0.2" };
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBQTBDO0FBQzFDLHVFQUFvRTtBQUNwRSxpQ0FBZ0M7QUFHaEMsMENBQXVCOzs7O0FBRXZCLE1BQWEsNkJBQThCLFNBQVEsNEJBQW1COzs7O0lBTXBFLFlBQVksT0FBNkM7O1FBQ3ZELE1BQU0sVUFBVSxTQUFHLE9BQU8sQ0FBQyxPQUFPLG1DQUFJLElBQUksQ0FBQTtRQUMxQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFBO1FBQ3RELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQTtRQUUxQyxJQUFJLENBQUMsVUFBVTtZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUZBQWlGLENBQUMsQ0FBQTtJQUNuRyxDQUFDOzs7Ozs7Ozs7Ozs7O0lBRUQsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLFVBQVU7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUU5QyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDZixDQUFDO0lBRU8sYUFBYSxDQUFDLG1CQUE0Qjs7UUFFaEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7O1lBQ3ZFLE1BQU0sRUFBQyxjQUFjLEVBQUMsR0FBRyxrQkFBa0IsQ0FBQTtZQUUzQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtZQUVqRSxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxZQUFZLEVBQUUsY0FBYyxDQUFDLFlBQVk7Z0JBQ3pDLHlCQUF5QixFQUFFLENBQUMsY0FBYyxDQUFDLHlCQUF5QixJQUFJLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRTthQUN4RixDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUE7WUFFWixPQUFPO2dCQUNMLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJO2dCQUNwQyxXQUFXLFFBQUUsY0FBYyxDQUFDLHFCQUFxQixtQ0FBSSxtQkFBbUI7Z0JBQ3hFLGVBQWUsUUFBRSxjQUFjLENBQUMseUJBQXlCLG1DQUFJLHVCQUF1QjtnQkFDcEYsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2dCQUM3QixVQUFVO2dCQUNWLEdBQUcsa0JBQWtCO2FBQ3RCLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sYUFBYSxHQUFRO1lBQ3pCLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLEtBQUssRUFBRTtnQkFDTCxnQkFBZ0I7YUFDakI7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLCtCQUFhLENBQUMsSUFBSTthQUM3QjtZQUNELFFBQVEsRUFBRTtnQkFDUixXQUFXLEVBQUUsQ0FBQztnQkFDZCxNQUFNLEVBQUU7b0JBQ04sT0FBTztpQkFDUjthQUNGO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSwyQkFBMkI7YUFDbEM7WUFDRCxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUE7UUFFRCxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtRQUU5QyxJQUFJLG1CQUFtQjtZQUNyQixhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFBO1FBRXpFLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUE7UUFDekQsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFBO1FBQzNELGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO1FBRS9FLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsT0FBTyxDQUFDLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBQyxFQUFDO0lBQ2hELENBQUM7O0FBaEZILHNFQWlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXdzQ2RrVHlwZVNjcmlwdEFwcH0gZnJvbSAncHJvamVuJ1xuaW1wb3J0IHtKb2IsIEpvYlBlcm1pc3Npb259IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCdcbmltcG9ydCAqIGFzIHN0ZXBzIGZyb20gJy4vc3RlcHMnXG5pbXBvcnQge0RlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucywgRGVwbG95T3B0aW9uc30gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGNsYXNzIERlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwIGV4dGVuZHMgQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXBsb3lhYmxlOiBib29sZWFuXG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZ1xuICBwcml2YXRlIHJlYWRvbmx5IGRlcGxveU9wdGlvbnM6IERlcGxveU9wdGlvbnNcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBEZXBsb3lhYmxlQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMpIHtcbiAgICBjb25zdCBkZXBsb3lhYmxlID0gb3B0aW9ucy5yZWxlYXNlID8/IHRydWVcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgcmVsZWFzZTogZGVwbG95YWJsZSxcbiAgICB9KVxuICAgIHRoaXMuZGVwbG95YWJsZSA9IGRlcGxveWFibGVcbiAgICB0aGlzLndvcmtmbG93Tm9kZVZlcnNpb24gPSBvcHRpb25zLndvcmtmbG93Tm9kZVZlcnNpb25cbiAgICB0aGlzLmRlcGxveU9wdGlvbnMgPSBvcHRpb25zLmRlcGxveU9wdGlvbnNcblxuICAgIGlmICghZGVwbG95YWJsZSlcbiAgICAgIGNvbnNvbGUud2FybignVGhlIHByb2plY3QgaXMgZXhwbGljaXRseSBzZXQgdG8gbm90IHJlbGVhc2UsIG1ha2Ugc3VyZSB0aGlzIGlzIGRlc2lyZWQgc2V0dGluZycpXG4gIH1cblxuICBzeW50aCgpIHtcbiAgICBpZiAodGhpcy5kZXBsb3lhYmxlKVxuICAgICAgdGhpcy5hZGREZXBsb3lKb2JzKHRoaXMud29ya2Zsb3dOb2RlVmVyc2lvbilcblxuICAgIHN1cGVyLnN5bnRoKClcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGVwbG95Sm9icyh3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nKSB7XG5cbiAgICBjb25zdCBpbmNsdWRlID0gdGhpcy5kZXBsb3lPcHRpb25zLmVudmlyb25tZW50cy5tYXAoZW52aXJvbm1lbnRPcHRpb25zID0+IHtcbiAgICAgIGNvbnN0IHthd3NDcmVkZW50aWFsc30gPSBlbnZpcm9ubWVudE9wdGlvbnNcblxuICAgICAgY29uc3QgYXNzdW1lUm9sZSA9IGF3c0NyZWRlbnRpYWxzLnJvbGVUb0Fzc3VtZSA/ICd0cnVlJyA6ICdmYWxzZSdcblxuICAgICAgY29uc3QgYXNzdW1lUm9sZVNldHRpbmdzID0gYXdzQ3JlZGVudGlhbHMucm9sZVRvQXNzdW1lID8ge1xuICAgICAgICByb2xlVG9Bc3N1bWU6IGF3c0NyZWRlbnRpYWxzLnJvbGVUb0Fzc3VtZSxcbiAgICAgICAgYXNzdW1lUm9sZUR1cmF0aW9uU2Vjb25kczogKGF3c0NyZWRlbnRpYWxzLmFzc3VtZVJvbGVEdXJhdGlvblNlY29uZHMgfHwgMzAwKS50b1N0cmluZygpLFxuICAgICAgfTogdW5kZWZpbmVkXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVudmlyb25tZW50OiBlbnZpcm9ubWVudE9wdGlvbnMubmFtZSxcbiAgICAgICAgYWNjZXNzS2V5SWQ6IGF3c0NyZWRlbnRpYWxzLmFjY2Vzc0tleUlkU2VjcmV0TmFtZSA/PyAnQVdTX0FDQ0VTU19LRVlfSUQnLFxuICAgICAgICBzZWNyZXRBY2Nlc3NLZXk6IGF3c0NyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleVNlY3JldE5hbWUgPz8gJ0FXU19TRUNSRVRfQUNDRVNTX0tFWScsXG4gICAgICAgIHJlZ2lvbjogYXdzQ3JlZGVudGlhbHMucmVnaW9uLFxuICAgICAgICBhc3N1bWVSb2xlLFxuICAgICAgICAuLi5hc3N1bWVSb2xlU2V0dGluZ3MsXG4gICAgICB9XG4gICAgfSlcblxuICAgIGNvbnN0IGpvYkRlZmluaXRpb246IEpvYiA9IHtcbiAgICAgIHJ1bnNPbjogJ3VidW50dS1sYXRlc3QnLFxuICAgICAgY29uY3VycmVuY3k6ICdkZXBsb3knLFxuICAgICAgbmVlZHM6IFtcbiAgICAgICAgJ3JlbGVhc2VfZ2l0aHViJyxcbiAgICAgIF0sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSxcbiAgICAgIHN0cmF0ZWd5OiB7XG4gICAgICAgIG1heFBhcmFsbGVsOiAxLFxuICAgICAgICBtYXRyaXg6IHtcbiAgICAgICAgICBpbmNsdWRlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIG5hbWU6ICcke3sgbWF0cml4LmVudmlyb25tZW50IH19JyxcbiAgICAgIH0sXG4gICAgICBzdGVwczogW10sXG4gICAgfVxuXG4gICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKHN0ZXBzLmNoZWNrb3V0U3RlcCgpKVxuXG4gICAgaWYgKHdvcmtmbG93Tm9kZVZlcnNpb24pXG4gICAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goc3RlcHMuc2V0Tm9kZVZlcnNpb25TdGVwKHdvcmtmbG93Tm9kZVZlcnNpb24pKVxuXG4gICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKHN0ZXBzLmluc3RhbGxEZXBlbmRlbmNpZXNTdGVwKCkpXG4gICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKC4uLnN0ZXBzLnNldEF3c0NyZWRlbnRpYWxzU3RlcHMoKSlcbiAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goc3RlcHMuZGVwbG95bWVudFN0ZXAodGhpcy5kZXBsb3lPcHRpb25zLnN0YWNrUGF0dGVybikpXG5cbiAgICB0aGlzLnJlbGVhc2U/LmFkZEpvYnMoe2RlcGxveTogam9iRGVmaW5pdGlvbn0pXG4gIH1cbn0iXX0=
|
package/lib/steps.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { JobStep } from 'projen/lib/github/workflows-model';
|
|
2
|
-
import { AWSCredentials } from '.';
|
|
3
2
|
export declare function checkoutStep(): JobStep;
|
|
4
3
|
export declare function setNodeVersionStep(nodeVersion: string): JobStep;
|
|
5
4
|
export declare function installDependenciesStep(): JobStep;
|
|
6
5
|
export declare function deploymentStep(stackPattern?: string): JobStep;
|
|
7
|
-
export declare function
|
|
6
|
+
export declare function setAwsCredentialsSteps(): JobStep[];
|
package/lib/steps.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.setAwsCredentialsSteps = exports.deploymentStep = exports.installDependenciesStep = exports.setNodeVersionStep = exports.checkoutStep = void 0;
|
|
4
4
|
function checkoutStep() {
|
|
5
5
|
return {
|
|
6
6
|
name: 'Checkout',
|
|
@@ -36,38 +36,42 @@ function deploymentStep(stackPattern) {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
exports.deploymentStep = deploymentStep;
|
|
39
|
-
function
|
|
40
|
-
var _a;
|
|
41
|
-
const name = 'Configure AWS Credentials';
|
|
42
|
-
const accessKeyId = 'accessKeyId' in awsCredentials ? awsCredentials.accessKeyId : `'\${{ secrets.${awsCredentials.accessKeyIdSecretName} }}'`;
|
|
43
|
-
const secretAccessKey = 'secretAccessKey' in awsCredentials ? awsCredentials.secretAccessKey : `'\${{ secrets.${awsCredentials.secretAccessKeySecretName} }}'`;
|
|
44
|
-
if (awsCredentials.roleToAssume)
|
|
45
|
-
return {
|
|
46
|
-
name,
|
|
47
|
-
uses: 'aws-actions/configure-aws-credentials@v1',
|
|
48
|
-
with: {
|
|
49
|
-
'aws-access-key-id': accessKeyId,
|
|
50
|
-
'aws-secret-access-key': secretAccessKey,
|
|
51
|
-
'role-to-assume': awsCredentials.roleToAssume,
|
|
52
|
-
'aws-region': awsCredentials.region,
|
|
53
|
-
'role-duration-seconds': (_a = awsCredentials.assumeRoleDurationSeconds) !== null && _a !== void 0 ? _a : 300,
|
|
54
|
-
},
|
|
55
|
-
};
|
|
39
|
+
function setAwsCredentialsInEnvironment() {
|
|
56
40
|
const commands = [
|
|
57
|
-
`accessKeyId=${accessKeyId}`,
|
|
58
|
-
'echo "::add-mask::$accessKeyId"',
|
|
59
41
|
'echo "AWS_ACCESS_KEY_ID=$accessKeyId" >> $GITHUB_ENV',
|
|
60
|
-
`secretAccessKey=${secretAccessKey}`,
|
|
61
|
-
'echo "::add-mask::$secretAccessKey"',
|
|
62
42
|
'echo "AWS_SECRET_ACCESS_KEY=$secretAccessKey" >> $GITHUB_ENV',
|
|
63
|
-
`region=${awsCredentials.region}`,
|
|
64
|
-
'echo "::add-mask::$region"',
|
|
65
43
|
'echo "AWS_REGION=$region" >> $GITHUB_ENV',
|
|
66
44
|
];
|
|
67
45
|
return {
|
|
68
|
-
|
|
46
|
+
if: '${{ matrix.assumeRole == "false" }}',
|
|
47
|
+
name: 'Configure AWS Credentials',
|
|
69
48
|
run: `\n${commands.join('\n')}`,
|
|
49
|
+
env: {
|
|
50
|
+
accessKeyId: '${{ matrix.accessKeyId }}',
|
|
51
|
+
secretAccessKey: '${{ matrix.secretAccessKey }}',
|
|
52
|
+
region: '${{ matrix.region }}',
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function assumeAwsRoleStep() {
|
|
57
|
+
return {
|
|
58
|
+
if: '${{ matrix.assumeRole == "true" }}',
|
|
59
|
+
name: 'Assume AWS Role',
|
|
60
|
+
uses: 'aws-actions/configure-aws-credentials@v1',
|
|
61
|
+
with: {
|
|
62
|
+
'aws-access-key-id': '${{ matrix.accessKeyId }}',
|
|
63
|
+
'aws-secret-access-key': '${{ matrix.secretAccessKey }}',
|
|
64
|
+
'role-to-assume': '${{ matrix.roleToAssume }}',
|
|
65
|
+
'aws-region': '${{ matrix.region }}',
|
|
66
|
+
'role-duration-seconds': '${{ matrix.assumeRoleDurationSeconds }}',
|
|
67
|
+
},
|
|
70
68
|
};
|
|
71
69
|
}
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
function setAwsCredentialsSteps() {
|
|
71
|
+
return [
|
|
72
|
+
setAwsCredentialsInEnvironment(),
|
|
73
|
+
assumeAwsRoleStep(),
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
exports.setAwsCredentialsSteps = setAwsCredentialsSteps;
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsWUFBWTtJQUMxQixPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixJQUFJLEVBQUU7WUFDSixHQUFHLEVBQUUsbUJBQW1CO1NBQ3pCO0tBQ0YsQ0FBQTtBQUNILENBQUM7QUFSRCxvQ0FRQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLFdBQW1CO0lBQ3BELE9BQU87UUFDTCxJQUFJLEVBQUUsZUFBZTtRQUNyQixJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSxXQUFXO1NBQzVCO0tBQ0YsQ0FBQTtBQUNILENBQUM7QUFSRCxnREFRQztBQUVELFNBQWdCLHVCQUF1QjtJQUNyQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixHQUFHLEVBQUUsUUFBUTtLQUNkLENBQUE7QUFDSCxDQUFDO0FBTEQsMERBS0M7QUFFRCxTQUFnQixjQUFjLENBQUMsWUFBcUI7SUFDbEQsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFNUQsT0FBTztRQUNMLElBQUksRUFBRSxZQUFZO1FBQ2xCLEdBQUcsRUFBRSxvQkFBb0IsY0FBYyxFQUFFO0tBQzFDLENBQUE7QUFDSCxDQUFDO0FBUEQsd0NBT0M7QUFFRCxTQUFTLDhCQUE4QjtJQUNyQyxNQUFNLFFBQVEsR0FBRztRQUNmLHNEQUFzRDtRQUN0RCw4REFBOEQ7UUFDOUQsMENBQTBDO0tBQzNDLENBQUE7SUFFRCxPQUFPO1FBQ0wsRUFBRSxFQUFFLHFDQUFxQztRQUN6QyxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLEdBQUcsRUFBRSxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDL0IsR0FBRyxFQUFFO1lBQ0gsV0FBVyxFQUFFLDJCQUEyQjtZQUN4QyxlQUFlLEVBQUUsK0JBQStCO1lBQ2hELE1BQU0sRUFBRSxzQkFBc0I7U0FDL0I7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsaUJBQWlCO0lBQ3hCLE9BQU87UUFDTCxFQUFFLEVBQUUsb0NBQW9DO1FBQ3hDLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsSUFBSSxFQUFFLDBDQUEwQztRQUNoRCxJQUFJLEVBQUU7WUFDSixtQkFBbUIsRUFBRSwyQkFBMkI7WUFDaEQsdUJBQXVCLEVBQUUsK0JBQStCO1lBQ3hELGdCQUFnQixFQUFFLDRCQUE0QjtZQUM5QyxZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLHVCQUF1QixFQUFFLHlDQUF5QztTQUNuRTtLQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBZ0Isc0JBQXNCO0lBQ3BDLE9BQU87UUFDTCw4QkFBOEIsRUFBRTtRQUNoQyxpQkFBaUIsRUFBRTtLQUNwQixDQUFBO0FBQ0gsQ0FBQztBQUxELHdEQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtKb2JTdGVwfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnXG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja291dFN0ZXAoKTogSm9iU3RlcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2MicsXG4gICAgd2l0aDoge1xuICAgICAgcmVmOiAnJHt7IGdpdGh1Yi5zaGEgfX0nLFxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE5vZGVWZXJzaW9uU3RlcChub2RlVmVyc2lvbjogc3RyaW5nKTogSm9iU3RlcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgIHVzZXM6ICdhY3Rpb25zL3NldHVwLW5vZGVAdjIuMi4wJyxcbiAgICB3aXRoOiB7XG4gICAgICAnbm9kZS12ZXJzaW9uJzogbm9kZVZlcnNpb24sXG4gICAgfSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1N0ZXAoKTogSm9iU3RlcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ0luc3RhbGwgZGVwZW5kZW5jaWVzJyxcbiAgICBydW46ICducG0gY2knLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBsb3ltZW50U3RlcChzdGFja1BhdHRlcm4/OiBzdHJpbmcpOiBKb2JTdGVwIHtcbiAgY29uc3QgZGVwbG95QXJndW1lbnQgPSBzdGFja1BhdHRlcm4gPyBgICR7c3RhY2tQYXR0ZXJufWA6ICcnXG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnRGVwbG95bWVudCcsXG4gICAgcnVuOiBgbnB4IHByb2plbiBkZXBsb3kke2RlcGxveUFyZ3VtZW50fWAsXG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0QXdzQ3JlZGVudGlhbHNJbkVudmlyb25tZW50KCk6IEpvYlN0ZXAge1xuICBjb25zdCBjb21tYW5kcyA9IFtcbiAgICAnZWNobyBcIkFXU19BQ0NFU1NfS0VZX0lEPSRhY2Nlc3NLZXlJZFwiID4+ICRHSVRIVUJfRU5WJyxcbiAgICAnZWNobyBcIkFXU19TRUNSRVRfQUNDRVNTX0tFWT0kc2VjcmV0QWNjZXNzS2V5XCIgPj4gJEdJVEhVQl9FTlYnLFxuICAgICdlY2hvIFwiQVdTX1JFR0lPTj0kcmVnaW9uXCIgPj4gJEdJVEhVQl9FTlYnLFxuICBdXG5cbiAgcmV0dXJuIHtcbiAgICBpZjogJyR7eyBtYXRyaXguYXNzdW1lUm9sZSA9PSBcImZhbHNlXCIgfX0nLFxuICAgIG5hbWU6ICdDb25maWd1cmUgQVdTIENyZWRlbnRpYWxzJyxcbiAgICBydW46IGBcXG4ke2NvbW1hbmRzLmpvaW4oJ1xcbicpfWAsXG4gICAgZW52OiB7XG4gICAgICBhY2Nlc3NLZXlJZDogJyR7eyBtYXRyaXguYWNjZXNzS2V5SWQgfX0nLFxuICAgICAgc2VjcmV0QWNjZXNzS2V5OiAnJHt7IG1hdHJpeC5zZWNyZXRBY2Nlc3NLZXkgfX0nLFxuICAgICAgcmVnaW9uOiAnJHt7IG1hdHJpeC5yZWdpb24gfX0nLFxuICAgIH0sXG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzdW1lQXdzUm9sZVN0ZXAoKTogSm9iU3RlcCB7XG4gIHJldHVybiB7XG4gICAgaWY6ICcke3sgbWF0cml4LmFzc3VtZVJvbGUgPT0gXCJ0cnVlXCIgfX0nLFxuICAgIG5hbWU6ICdBc3N1bWUgQVdTIFJvbGUnLFxuICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHYxJyxcbiAgICB3aXRoOiB7XG4gICAgICAnYXdzLWFjY2Vzcy1rZXktaWQnOiAnJHt7IG1hdHJpeC5hY2Nlc3NLZXlJZCB9fScsXG4gICAgICAnYXdzLXNlY3JldC1hY2Nlc3Mta2V5JzogJyR7eyBtYXRyaXguc2VjcmV0QWNjZXNzS2V5IH19JyxcbiAgICAgICdyb2xlLXRvLWFzc3VtZSc6ICcke3sgbWF0cml4LnJvbGVUb0Fzc3VtZSB9fScsXG4gICAgICAnYXdzLXJlZ2lvbic6ICcke3sgbWF0cml4LnJlZ2lvbiB9fScsXG4gICAgICAncm9sZS1kdXJhdGlvbi1zZWNvbmRzJzogJyR7eyBtYXRyaXguYXNzdW1lUm9sZUR1cmF0aW9uU2Vjb25kcyB9fScsXG4gICAgfSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QXdzQ3JlZGVudGlhbHNTdGVwcygpOiBKb2JTdGVwW10ge1xuICByZXR1cm4gW1xuICAgIHNldEF3c0NyZWRlbnRpYWxzSW5FbnZpcm9ubWVudCgpLFxuICAgIGFzc3VtZUF3c1JvbGVTdGVwKCksXG4gIF1cbn0iXX0=
|
package/lib/types.d.ts
CHANGED
|
@@ -15,11 +15,11 @@ export interface DeployableAwsCdkTypeScriptAppOptions extends AwsCdkTypeScriptAp
|
|
|
15
15
|
*/
|
|
16
16
|
export interface DeployOptions {
|
|
17
17
|
/**
|
|
18
|
-
* Environment
|
|
18
|
+
* Environment settings to deploy to.
|
|
19
19
|
*
|
|
20
20
|
* @stability stable
|
|
21
21
|
*/
|
|
22
|
-
readonly environments:
|
|
22
|
+
readonly environments: EnvironmentOptions[];
|
|
23
23
|
/**
|
|
24
24
|
* Regex for stacks to be deployed.
|
|
25
25
|
*
|
|
@@ -28,52 +28,42 @@ export interface DeployOptions {
|
|
|
28
28
|
* @stability stable
|
|
29
29
|
*/
|
|
30
30
|
readonly stackPattern?: string;
|
|
31
|
-
/**
|
|
32
|
-
* AWS credential details for deployment.
|
|
33
|
-
*
|
|
34
|
-
* @stability stable
|
|
35
|
-
*/
|
|
36
|
-
readonly awsCredentials: AWSCredentials;
|
|
37
31
|
}
|
|
38
|
-
export declare type AWSCredentials = AWSCredentialsValues | AWSCredentialsGitHubSecrets;
|
|
39
32
|
/**
|
|
40
33
|
* @stability stable
|
|
41
34
|
*/
|
|
42
|
-
export interface
|
|
35
|
+
export interface EnvironmentOptions {
|
|
43
36
|
/**
|
|
44
|
-
*
|
|
37
|
+
* Environment name to deploy to.
|
|
45
38
|
*
|
|
46
39
|
* @stability stable
|
|
47
40
|
*/
|
|
48
|
-
readonly
|
|
41
|
+
readonly name: string;
|
|
49
42
|
/**
|
|
50
|
-
*
|
|
43
|
+
* AWS credential details for deployment.
|
|
51
44
|
*
|
|
52
45
|
* @stability stable
|
|
53
46
|
*/
|
|
54
|
-
readonly
|
|
47
|
+
readonly awsCredentials: AWSCredentials;
|
|
55
48
|
}
|
|
56
49
|
/**
|
|
57
50
|
* @stability stable
|
|
58
51
|
*/
|
|
59
|
-
export interface
|
|
52
|
+
export interface AWSCredentials {
|
|
60
53
|
/**
|
|
61
|
-
* AWS Access Key Id.
|
|
54
|
+
* GitHub Secret name for AWS Access Key Id.
|
|
62
55
|
*
|
|
56
|
+
* @default "AWS_ACCESS_KEY_ID"
|
|
63
57
|
* @stability stable
|
|
64
58
|
*/
|
|
65
|
-
readonly
|
|
59
|
+
readonly accessKeyIdSecretName?: string;
|
|
66
60
|
/**
|
|
67
|
-
* AWS Secret Access Key.
|
|
61
|
+
* GitHub Secret name for AWS Secret Access Key.
|
|
68
62
|
*
|
|
63
|
+
* @default "AWS_SECRET_ACCESS_KEY"
|
|
69
64
|
* @stability stable
|
|
70
65
|
*/
|
|
71
|
-
readonly
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* @stability stable
|
|
75
|
-
*/
|
|
76
|
-
export interface AWSCredentialsBase {
|
|
66
|
+
readonly secretAccessKeySecretName?: string;
|
|
77
67
|
/**
|
|
78
68
|
* ARN of AWS role to be assumed.
|
|
79
69
|
*
|
package/lib/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnN9IGZyb20gJ3Byb2plbidcblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lhYmxlQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBkZXBsb3lPcHRpb25zOiBEZXBsb3lPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveU9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudE9wdGlvbnNbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgc3RhY2tQYXR0ZXJuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50T3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGF3c0NyZWRlbnRpYWxzOiBBV1NDcmVkZW50aWFscztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBV1NDcmVkZW50aWFscyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFjY2Vzc0tleUlkU2VjcmV0TmFtZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNlY3JldEFjY2Vzc0tleVNlY3JldE5hbWU/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcm9sZVRvQXNzdW1lPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUR1cmF0aW9uU2Vjb25kcz86IG51bWJlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG59XG4iXX0=
|