@infodb/lctl 0.3.0 → 0.5.0

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/README.md CHANGED
@@ -1,66 +1,93 @@
1
1
  # lctl - Lambda Control Tool
2
2
 
3
3
  ## 概要
4
- AWS Lambda関数を簡単に管理するためのCLIツール。内部的にAWS CLIを呼び出してLambda関数の作成、更新、削除を行う。
4
+ AWS Lambda関数を簡単に管理するためのCLIツール。YAML設定ファイルによる設定管理と、内部的なAWS CLIを使用したLambda関数の作成、更新、削除を行います。
5
5
 
6
6
  ## インストール・実行方法
7
7
  ```bash
8
- pnpx @infodb/lctl [コマンド] [関数名] [オプション]
8
+ pnpx @infodb/lctl [コマンド] [設定ファイル名] [オプション]
9
9
  ```
10
10
 
11
- ## コマンド一覧
11
+ ## 基本的な使用方法
12
12
 
13
- ### 1. deploy - Lambda関数のデプロイ(作成・更新)
13
+ ### 1. プロジェクト構成を作成
14
+ ```
15
+ project/
16
+ ├── configs/ # 設定ファイル(必須)
17
+ │ ├── my-function.yaml
18
+ │ └── other-function.yaml
19
+ ├── functions/ # Lambda関数コード(必須)
20
+ │ ├── my-function.py
21
+ │ ├── requirements.txt
22
+ │ └── utils.py
23
+ └── other-files/
24
+ ```
25
+
26
+ ### 2. YAML設定ファイルを作成
27
+ `configs/my-function.yaml`:
28
+ ```yaml
29
+ # 基本設定
30
+ function_name: my_function # 実際のLambda関数名
31
+ runtime: python3.12
32
+ handler: my_function.handler
33
+ role: arn:aws:iam::123456789012:role/lambda-execution-role
34
+
35
+ # ファイル設定
36
+ files:
37
+ - my_function.py
38
+ - requirements.txt
39
+
40
+ # 環境変数
41
+ environment:
42
+ ENV: production
43
+
44
+ # 権限設定
45
+ permissions:
46
+ - service: apigateway
47
+ source_arn: "arn:aws:execute-api:us-east-1:123456789012:*"
48
+ ```
49
+
50
+ ### 3. デプロイ実行
14
51
  ```bash
15
- pnpx @infodb/lctl deploy <function-name> [オプション]
52
+ # AWS認証情報を設定してデプロイ
53
+ pnpx @infodb/lctl deploy my-function
16
54
  ```
17
55
 
18
- 関数が存在しない場合は作成し、存在する場合は更新します。
56
+ ## コマンド一覧
19
57
 
20
- **設定の優先順位:**
21
- 1. コマンドラインオプション (最優先)
22
- 2. `configs/<function-name>.yaml` 設定ファイル
23
- 3. デフォルト値
58
+ ### 1. deploy - Lambda関数のデプロイ(作成・更新)
59
+ ```bash
60
+ pnpx @infodb/lctl deploy <config-name> [オプション]
61
+ ```
24
62
 
25
63
  **必須引数:**
26
- - `function-name`: デプロイするLambda関数名
64
+ - `config-name`: 設定ファイル名(.yaml拡張子は不要)
27
65
 
28
66
  **オプション:**
29
- - `--runtime <runtime>`: ランタイム環境 (デフォルト: python3.12)
30
- - `--handler <handler>`: ハンドラー関数 (デフォルト: {function-name}.handler)
31
- - `--role <role-arn>`: IAMロールARN (新規作成時に必須)
32
- - `--params <key=value>`: YAML内の変数を置換 (複数指定可能)
33
- - `--config <directory>`: 設定ファイルのディレクトリ (デフォルト: configs)
34
- - `--function <directory>`: 関数ファイルのディレクトリ (デフォルト: functions)
67
+ - `--verbose`: 詳細なログを出力
35
68
 
36
69
  **例:**
37
70
  ```bash
38
- # 最もシンプルな使用方法(functionsディレクトリのファイルを自動ZIP化)
39
- pnpx @infodb/lctl deploy my-function --role arn:aws:iam::123456789012:role/lambda-role
71
+ # 基本的な使用方法
72
+ pnpx @infodb/lctl deploy my-function
40
73
 
41
- # YAML設定ファイルを使用(推奨)
42
- pnpx @infodb/lctl deploy my-function # configs/my-function.yaml から設定を読み込み
74
+ # 詳細ログ付き
75
+ pnpx @infodb/lctl deploy my-function --verbose
43
76
 
44
- # パラメータを使ってフレキシブルなデプロイ
45
- pnpx @infodb/lctl deploy my-function --params env=prod --params db_host=db.prod.example.com
46
-
47
- # 開発環境向け
48
- pnpx @infodb/lctl deploy my-function --params env=dev --params db_host=localhost --params db_port=5432
49
-
50
- # カスタム設定ディレクトリを使用
51
- pnpx @infodb/lctl deploy my-function --config environments/prod
52
-
53
- # カスタム関数ディレクトリを使用
54
- pnpx @infodb/lctl deploy my-function --function src
77
+ # 環境変数を使用
78
+ ENV_NAME=prod DB_HOST=prod.example.com pnpx @infodb/lctl deploy my-function
55
79
  ```
56
80
 
57
81
  ### 2. delete - Lambda関数の削除
58
82
  ```bash
59
- pnpx @infodb/lctl delete <function-name>
83
+ pnpx @infodb/lctl delete <config-name> [オプション]
60
84
  ```
61
85
 
62
86
  **必須引数:**
63
- - `function-name`: 削除するLambda関数名
87
+ - `config-name`: 設定ファイル名(.yaml拡張子は不要)
88
+
89
+ **オプション:**
90
+ - `--verbose`: 詳細なログを出力
64
91
 
65
92
  **例:**
66
93
  ```bash
@@ -69,11 +96,14 @@ pnpx @infodb/lctl delete my-function
69
96
 
70
97
  ### 3. info - Lambda関数の詳細情報表示
71
98
  ```bash
72
- pnpx @infodb/lctl info <function-name>
99
+ pnpx @infodb/lctl info <config-name> [オプション]
73
100
  ```
74
101
 
75
102
  **必須引数:**
76
- - `function-name`: 情報を表示するLambda関数名
103
+ - `config-name`: 設定ファイル名(.yaml拡張子は不要)
104
+
105
+ **オプション:**
106
+ - `--verbose`: 詳細なログを出力
77
107
 
78
108
  **例:**
79
109
  ```bash
@@ -82,24 +112,14 @@ pnpx @infodb/lctl info my-function
82
112
 
83
113
  ### 4. export - デプロイメントスクリプトの出力
84
114
  ```bash
85
- pnpx @infodb/lctl export <function-name> [オプション]
115
+ pnpx @infodb/lctl export <config-name> [オプション]
86
116
  ```
87
117
 
88
- デプロイ用のバッシュスクリプトを生成して保存します。
89
-
90
118
  **必須引数:**
91
- - `function-name`: Lambda関数名
119
+ - `config-name`: 設定ファイル名(.yaml拡張子は不要)
92
120
 
93
121
  **オプション:**
94
- - `--runtime <runtime>`: ランタイム環境 (デフォルト: python3.12)
95
- - `--handler <handler>`: ハンドラー関数 (デフォルト: {function-name}.handler)
96
- - `--role <role-arn>`: IAMロールARN (新規作成時に必須)
97
- - `--params <key=value>`: YAML内の変数を置換 (複数指定可能)
98
- - `--config <directory>`: 設定ファイルのディレクトリ (デフォルト: configs)
99
- - `--function <directory>`: 関数ファイルのディレクトリ (デフォルト: functions)
100
- - `--output <file>`: 出力ファイルパス (デフォルト: deploy-{function-name}.sh)
101
- - `--region <region>`: AWSリージョン
102
- - `--profile <profile>`: AWSプロファイル
122
+ - `--output <file>`: 出力ファイルパス(デフォルト: deploy-{config-name}.sh)
103
123
  - `--verbose`: 詳細なログを出力
104
124
 
105
125
  **例:**
@@ -107,76 +127,58 @@ pnpx @infodb/lctl export <function-name> [オプション]
107
127
  # スクリプト出力
108
128
  pnpx @infodb/lctl export my-function --output deploy-script.sh
109
129
 
110
- # パラメータ付きでスクリプト出力
111
- pnpx @infodb/lctl export my-function --params env=prod --params db_host=prod.example.com
130
+ # 環境変数を使用してスクリプト出力
131
+ ENV_NAME=prod DB_HOST=prod.example.com pnpx @infodb/lctl export my-function
112
132
  ```
113
133
 
114
- ## グローバルオプション
115
- - `--region <region>`: AWSリージョンを指定 (デフォルト: 環境変数またはAWS設定)
116
- - `--profile <profile>`: AWSプロファイルを指定
117
- - `--help, -h`: ヘルプを表示
118
- - `--version, -v`: バージョンを表示
119
- - `--verbose`: 詳細なログを出力
134
+ ## YAML設定ファイル(必須)
120
135
 
121
- ## 環境要件
122
- - Node.js 16以上
123
- - AWS CLI v2がインストールされていること
124
- - 適切なAWS認証情報が設定されていること
125
-
126
- ## プロジェクト構成
127
-
128
- 推奨されるプロジェクト構成:
129
-
130
- ```
131
- project/
132
- ├── configs/ # 設定ファイル
133
- │ ├── my-function.yaml
134
- │ └── other-function.yaml
135
- ├── functions/ # Lambda関数コード
136
- │ ├── my-function.py
137
- │ ├── requirements.txt
138
- │ └── utils.py
139
- └── other-files/
140
- ```
136
+ 設定ファイルは `configs/` ディレクトリに配置し、`configs/<config-name>.yaml` 形式で命名します。
141
137
 
142
- ## YAML設定ファイル
138
+ ### 基本的な設定例
143
139
 
144
- 設定ファイルは `configs/` ディレクトリ(デフォルト)から自動的に読み込まれます。
145
- Lambda関数のコードは `functions/` ディレクトリ(デフォルト)から読み込まれます。
146
-
147
- ### ファイル名の規則
148
- - `configs/<function-name>.yaml` (例: `configs/my-function.yaml`)
149
- - `--config` オプションでディレクトリを変更可能
150
- - `--function` オプションで関数ディレクトリを変更可能
140
+ ```yaml
141
+ # configs/my-function.yaml
151
142
 
152
- ### YAML設定例
143
+ # 関数名設定(オプション)
144
+ function_name: ${ENV_NAME}_my_function # 環境変数を使用した動的命名
145
+ # function_name: my_function # 固定名
146
+ # 未設定の場合、設定ファイル名(my-function)を使用
153
147
 
154
- ```yaml
155
- # my-function.yaml
148
+ # 基本設定
156
149
  runtime: python3.12
157
- handler: my-function.handler
158
- role: arn:aws:iam::123456789012:role/lambda-execution-role-$env
150
+ handler: my_function.handler
151
+ role: arn:aws:iam::123456789012:role/lambda-execution-role
159
152
  architecture: x86_64 # x86_64 または arm64
160
153
  memory: 256
161
154
  timeout: 30
162
155
  description: "マイ Lambda 関数"
163
156
 
164
- # 依存ファイルの指定(functionsディレクトリ内の相対パス)
157
+ # デプロイするファイル(functionsディレクトリ内の相対パス)
165
158
  files:
166
- - my-function.py
159
+ - my_function.py
167
160
  - requirements.txt
168
161
  - utils.py
169
162
  - "lib/**/*.py" # glob パターンも使用可能
170
163
 
171
164
  # 環境変数
172
165
  environment:
173
- DB_HOST: $db_host
174
- DB_PORT: $db_port
175
- API_KEY: ${API_KEY} # 環境変数から取得
176
- ENV: $env
166
+ DB_HOST: ${DB_HOST}
167
+ DB_PORT: ${DB_PORT}
168
+ API_KEY: ${API_KEY}
169
+ ENV: ${ENV_NAME}
170
+
171
+ # 権限設定(外部サービスからの呼び出し許可)
172
+ permissions:
173
+ - service: apigateway
174
+ source_arn: "arn:aws:execute-api:us-east-1:123456789012:*"
175
+ statement_id: "api-gateway-invoke"
176
+ - service: events
177
+ source_arn: "arn:aws:events:us-east-1:123456789012:rule/my-rule"
178
+ statement_id: "eventbridge-invoke"
177
179
 
178
180
  # ログ設定
179
- log_retention_days: 7 # ログ保持期間(日)
181
+ log_retention_days: 14 # ログ保持期間(日)
180
182
  auto_create_log_group: true # ロググループ自動作成
181
183
 
182
184
  # ZIP除外設定
@@ -184,16 +186,22 @@ zip_excludes: # ZIP化時の除外パターン
184
186
  - "*.git*"
185
187
  - "node_modules/*"
186
188
  - "*.zip"
187
- - "dist/*"
188
- - ".DS_Store"
189
+ - "*.pyc"
190
+ - "__pycache__/*"
189
191
 
190
- # リザーブド同時実行数
191
- reserved_concurrency: 100
192
+ # タグ
193
+ tags:
194
+ Environment: ${ENV_NAME}
195
+ Team: backend
196
+ Project: my-project
197
+ ```
192
198
 
193
- # プロビジョンド同時実行設定
194
- provisioned_concurrency: 10
199
+ ### 高度な設定例
195
200
 
196
- # エフェメラルストレージ
201
+ ```yaml
202
+ # 高度な設定
203
+ reserved_concurrency: 100
204
+ provisioned_concurrency: 10
197
205
  ephemeral_storage: 1024 # MB (512-10240)
198
206
 
199
207
  # レイヤー
@@ -212,63 +220,118 @@ vpc:
212
220
  # デッドレターキュー
213
221
  dead_letter_queue:
214
222
  target_arn: arn:aws:sqs:us-east-1:123456789012:my-dlq
223
+ ```
215
224
 
216
- # タグ
225
+ ### 権限設定(permissions)
226
+
227
+ 外部サービスやIAMユーザー・ロールからLambda関数を呼び出すための権限を自動設定します。
228
+
229
+ #### サービス別の権限設定
230
+ ```yaml
231
+ permissions:
232
+ - service: apigateway # API Gateway
233
+ source_arn: "arn:aws:execute-api:region:account:api-id/*"
234
+ - service: events # EventBridge
235
+ source_arn: "arn:aws:events:region:account:rule/rule-name"
236
+ - service: sns # SNS
237
+ source_arn: "arn:aws:sns:region:account:topic-name"
238
+ - service: s3 # S3
239
+ source_arn: "arn:aws:s3:::bucket-name"
240
+ - service: elasticloadbalancing # ALB
241
+ source_arn: "arn:aws:elasticloadbalancing:region:account:targetgroup/name"
242
+ ```
243
+
244
+ #### IAMユーザー・ロールの直接指定
245
+ ```yaml
246
+ permissions:
247
+ - principal: "arn:aws:iam::123456789012:user/MyUser"
248
+ statement_id: "allow-my-user"
249
+ action: "lambda:InvokeFunction"
250
+ - principal: "arn:aws:iam::123456789012:role/MyRole"
251
+ statement_id: "allow-my-role"
252
+ - principal: "123456789012" # AWS Account ID
253
+ statement_id: "allow-account"
254
+ ```
255
+
256
+ #### 混合設定例
257
+ ```yaml
258
+ permissions:
259
+ # サービス別設定(principalは自動設定)
260
+ - service: apigateway
261
+ source_arn: "arn:aws:execute-api:region:account:api-id/*"
262
+ statement_id: "api-gateway-invoke"
263
+
264
+ # IAMユーザー直接指定
265
+ - principal: "arn:aws:iam::123456789012:user/DeployUser"
266
+ statement_id: "deploy-user-invoke"
267
+ action: "lambda:InvokeFunction"
268
+
269
+ # IAMロール直接指定
270
+ - principal: "arn:aws:iam::123456789012:role/CrossAccountRole"
271
+ statement_id: "cross-account-invoke"
272
+ source_arn: "arn:aws:iam::123456789012:role/CrossAccountRole"
273
+ ```
274
+
275
+ **注意**: `service` または `principal` のどちらか一方を必ず指定してください。両方指定した場合は `principal` が優先されます。
276
+
277
+ ### 環境変数による動的設定
278
+
279
+ ```yaml
280
+ # 環境変数を使用した設定
281
+ function_name: ${ENV_NAME}_my_function
282
+ role: arn:aws:iam::123456789012:role/lambda-role-${ENV_NAME}
283
+ environment:
284
+ DB_HOST: ${DB_HOST}
285
+ ENV: ${ENV_NAME}
217
286
  tags:
218
- Environment: production
219
- Team: backend
220
- Project: my-project
287
+ Environment: ${ENV_NAME}
288
+ ```
289
+
290
+ 実行時に環境変数を設定:
291
+ ```bash
292
+ ENV_NAME=prod DB_HOST=prod.example.com pnpx @infodb/lctl deploy my-function
221
293
  ```
222
294
 
223
- ### YAML設定項目
224
-
225
- | 項目 | 型 | 説明 | 例 |
226
- |------|----|----|-----|
227
- | `runtime` | string | ランタイム環境 | `python3.12`, `nodejs18.x` |
228
- | `handler` | string | ハンドラー関数 | `my-function.handler`, `app.lambda_handler` |
229
- | `role` | string | IAMロールARN | `arn:aws:iam::123456789012:role/...` |
230
- | `architecture` | string | アーキテクチャ | `x86_64`, `arm64` |
231
- | `memory` | number | メモリサイズ(MB) | `128`, `256`, `512` |
232
- | `timeout` | number | タイムアウト時間(秒) | `3`, `30`, `900` |
233
- | `description` | string | 関数の説明 | `"マイ Lambda 関数"` |
234
- | `reserved_concurrency` | number | リザーブド同時実行数 | `100`, `1000` |
235
- | `provisioned_concurrency` | number | プロビジョンド同時実行 | `10`, `50` |
236
- | `ephemeral_storage` | number | エフェメラルストレージ(MB) | `512`, `1024`, `10240` |
237
- | `files` | array | 含めるファイル・ディレクトリ | `["src/", "*.py"]` |
238
- | `environment` | object | 環境変数 | `{DB_HOST: "localhost"}` |
239
- | `log_retention_days` | number | ログ保持期間(日) | `7`, `14`, `30` |
240
- | `auto_create_log_group` | boolean | ロググループ自動作成 | `true`, `false` |
241
- | `zip_excludes` | array | ZIP化時の除外パターン | `["*.git*", "node_modules/*"]` |
242
- | `layers` | array | レイヤーARN | `["arn:aws:lambda:..."]` |
243
- | `vpc` | object | VPC設定 | `{subnets: [...], security_groups: [...]}` |
244
- | `dead_letter_queue` | object | DLQ設定 | `{target_arn: "arn:aws:sqs:..."}` |
245
- | `tags` | object | タグ | `{Environment: "prod"}` |
246
-
247
- ### ファイル処理の仕組み
248
-
249
- 1. YAMLファイルの `files` に指定されたファイル・ディレクトリを自動的にZIP化
250
- 2. YAMLファイルがない場合は、カレントディレクトリの全ファイルをZIP化
251
- 3. glob パターンをサポート(`**/*.py`, `src/**/*` など)
252
- 4. 一時的なZIPファイルを作成してデプロイ後に削除
253
-
254
- ### 変数の展開
255
-
256
- **環境変数の展開:**
257
- - `${VAR_NAME}` 形式で現在の環境変数を参照可能
258
- - 存在しない環境変数を参照した場合はエラー
259
-
260
- **パラメータ変数の展開:**
261
- - `$key` 形式で `--params` オプションで指定した値を参照可能
262
- - `--params env=prod --params db_host=db.example.com` のように複数指定可能
263
- - YAML内の `$env` `prod`、`$db_host` は `db.example.com` に置換される
264
-
265
- **変数の優先順位:**
266
- 1. `--params` で指定したパラメータ変数 (`$key`)
267
- 2. 環境変数 (`${VAR_NAME}`)
268
- 3. 存在しない変数の場合はエラー
269
-
270
- ## エラーハンドリング
271
- - AWS CLIコマンドが失敗した場合、適切なエラーメッセージを表示
272
- - 必須パラメータが不足している場合、使用方法を表示
273
- - 存在しない関数に対する操作の場合、エラーメッセージを表示
274
- - YAML設定ファイルの構文エラーがある場合、詳細なエラーメッセージを表示
295
+ ## 環境要件
296
+
297
+ - Node.js 16以上
298
+ - AWS CLI v2がインストールされていること
299
+ - 適切なAWS認証情報が設定されていること
300
+ - `configs/` `functions/` ディレクトリが存在すること
301
+
302
+ ## AWS認証情報の設定
303
+
304
+ 以下のいずれかの方法でAWS認証情報を設定してください:
305
+
306
+ 1. AWS CLIによる設定:
307
+ ```bash
308
+ aws configure
309
+ ```
310
+
311
+ 2. 環境変数による設定:
312
+ ```bash
313
+ export AWS_ACCESS_KEY_ID=your-access-key
314
+ export AWS_SECRET_ACCESS_KEY=your-secret-key
315
+ export AWS_DEFAULT_REGION=us-east-1
316
+ ```
317
+
318
+ 3. IAMロールの使用(EC2、Lambda等)
319
+
320
+ ## トラブルシューティング
321
+
322
+ ### よくある問題
323
+ 1. **AWS CLI not found**: AWS CLI v2がインストールされていることを確認
324
+ 2. **権限エラー**: 適切なIAMロールとポリシーが設定されていることを確認
325
+ 3. **YAML設定ファイルが見つからない**: `configs/<config-name>.yaml` が存在することを確認
326
+ 4. **YAML構文エラー**: YAML ファイルの構文を確認
327
+ 5. **環境変数が見つからない**: `${VAR_NAME}` で参照する環境変数が設定されていることを確認
328
+
329
+ ### デバッグ
330
+ ```bash
331
+ # 詳細ログ出力
332
+ pnpx @infodb/lctl deploy my-function --verbose
333
+
334
+ # スクリプト出力してデバッグ
335
+ pnpx @infodb/lctl export my-function --output debug-script.sh
336
+ bash debug-script.sh
337
+ ```
@@ -1,6 +1,4 @@
1
1
  export interface DeleteOptions {
2
- region?: string;
3
- profile?: string;
4
2
  verbose?: boolean;
5
3
  }
6
4
  export declare function deleteCommand(functionName: string, options: DeleteOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/F"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB/F"}
@@ -6,14 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.deleteCommand = deleteCommand;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const aws_cli_1 = require("../utils/aws-cli");
9
+ const config_1 = require("../utils/config");
9
10
  const logger_1 = require("../utils/logger");
10
11
  async function deleteCommand(functionName, options) {
11
12
  const logger = new logger_1.Logger(options.verbose || false);
12
13
  try {
13
14
  logger.info(`Deleting Lambda function: ${chalk_1.default.cyan(functionName)}`);
14
- const awsCliManager = new aws_cli_1.AwsCliManager(options.region, options.profile, logger);
15
- await awsCliManager.deleteFunction(functionName);
16
- logger.success(`✅ Lambda function ${chalk_1.default.cyan(functionName)} deleted successfully!`);
15
+ // Load configuration to get actual function name
16
+ const configManager = new config_1.ConfigManager(functionName, logger);
17
+ const config = await configManager.loadConfig({});
18
+ const actualFunctionName = config.function_name || functionName;
19
+ const awsCliManager = new aws_cli_1.AwsCliManager(undefined, undefined, logger);
20
+ await awsCliManager.deleteFunction(actualFunctionName);
21
+ logger.success(`✅ Lambda function ${chalk_1.default.cyan(actualFunctionName)} deleted successfully!`);
17
22
  }
18
23
  catch (error) {
19
24
  logger.error(`❌ Failed to delete Lambda function: ${error instanceof Error ? error.message : error}`);
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":";;;;;AAUA,sCAeC;AAzBD,kDAA0B;AAC1B,8CAAiD;AACjD,4CAAyC;AAQlC,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,OAAsB;IAC9E,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,6BAA6B,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjF,MAAM,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM,CAAC,OAAO,CAAC,qBAAqB,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;IAExF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":";;;;;AASA,sCAoBC;AA7BD,kDAA0B;AAC1B,8CAAiD;AACjD,4CAAgD;AAChD,4CAAyC;AAMlC,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,OAAsB;IAC9E,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,6BAA6B,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAErE,iDAAiD;QACjD,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,CAAC,aAAa,IAAI,YAAY,CAAC;QAEhE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,aAAa,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAEvD,MAAM,CAAC,OAAO,CAAC,qBAAqB,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;IAE9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,12 +1,4 @@
1
1
  export interface DeployOptions {
2
- runtime?: string;
3
- handler?: string;
4
- role?: string;
5
- params?: string[];
6
- config?: string;
7
- function?: string;
8
- region?: string;
9
- profile?: string;
10
2
  verbose?: boolean;
11
3
  }
12
4
  export declare function deployCommand(functionName: string, options: DeployOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD/F"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC/F"}
@@ -13,42 +13,24 @@ async function deployCommand(functionName, options) {
13
13
  const logger = new logger_1.Logger(options.verbose || false);
14
14
  try {
15
15
  logger.info(`Deploying Lambda function: ${chalk_1.default.cyan(functionName)}`);
16
- // Parse parameters
17
- const params = {};
18
- if (options.params) {
19
- for (const param of options.params) {
20
- const [key, value] = param.split('=');
21
- if (key && value) {
22
- params[key] = value;
23
- }
24
- else {
25
- throw new Error(`Invalid parameter format: ${param}. Use key=value format.`);
26
- }
27
- }
28
- }
29
16
  // Load configuration
30
- const configManager = new config_1.ConfigManager(functionName, params, logger);
31
- const config = await configManager.loadConfig({
32
- runtime: options.runtime,
33
- handler: options.handler,
34
- role: options.role,
35
- }, options.config, options.function);
17
+ const configManager = new config_1.ConfigManager(functionName, logger);
18
+ const config = await configManager.loadConfig({});
36
19
  logger.verbose('Configuration loaded:', config);
37
20
  // Generate and execute deployment script
38
21
  const scriptGenerator = new script_generator_1.ScriptGenerator(logger);
39
- const script = scriptGenerator.generateDeployScript(functionName, config);
22
+ const actualFunctionName = config.function_name || functionName;
23
+ const script = scriptGenerator.generateDeployScript(actualFunctionName, config);
40
24
  const scriptPath = await scriptGenerator.saveScript(functionName, script);
41
25
  try {
42
26
  // Set environment variables for the script
43
27
  const env = {
44
28
  ...process.env,
45
- AWS_PROFILE: options.profile || process.env.AWS_PROFILE || 'default',
46
- AWS_REGION: options.region || process.env.AWS_REGION || 'ap-northeast-1',
47
29
  };
48
30
  // Execute the script
49
31
  logger.info('Executing deployment script...');
50
32
  await executeScript(scriptPath, env, logger);
51
- logger.success(`✅ Lambda function ${chalk_1.default.cyan(functionName)} deployed successfully!`);
33
+ logger.success(`✅ Lambda function ${chalk_1.default.cyan(actualFunctionName)} deployed successfully!`);
52
34
  }
53
35
  finally {
54
36
  // Clean up script file
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,6 @@
1
1
  export interface ExportOptions {
2
- runtime?: string;
3
- handler?: string;
4
- role?: string;
5
- params?: string[];
6
- config?: string;
7
- function?: string;
8
- region?: string;
9
- profile?: string;
10
- verbose?: boolean;
11
2
  output?: string;
3
+ verbose?: boolean;
12
4
  }
13
5
  export declare function exportCommand(functionName: string, options: ExportOptions): Promise<void>;
14
6
  //# sourceMappingURL=export.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C/F"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B/F"}
@@ -12,30 +12,14 @@ async function exportCommand(functionName, options) {
12
12
  const logger = new logger_1.Logger(options.verbose || false);
13
13
  try {
14
14
  logger.info(`Exporting deploy script for Lambda function: ${chalk_1.default.cyan(functionName)}`);
15
- // Parse parameters
16
- const params = {};
17
- if (options.params) {
18
- for (const param of options.params) {
19
- const [key, value] = param.split('=');
20
- if (key && value) {
21
- params[key] = value;
22
- }
23
- else {
24
- throw new Error(`Invalid parameter format: ${param}. Use key=value format.`);
25
- }
26
- }
27
- }
28
15
  // Load configuration
29
- const configManager = new config_1.ConfigManager(functionName, params, logger);
30
- const config = await configManager.loadConfig({
31
- runtime: options.runtime,
32
- handler: options.handler,
33
- role: options.role,
34
- }, options.config, options.function);
16
+ const configManager = new config_1.ConfigManager(functionName, logger);
17
+ const config = await configManager.loadConfig({});
35
18
  logger.verbose('Configuration loaded:', config);
36
19
  // Generate script
37
20
  const scriptGenerator = new script_generator_1.ScriptGenerator(logger);
38
- const script = scriptGenerator.generateDeployScript(functionName, config);
21
+ const actualFunctionName = config.function_name || functionName;
22
+ const script = scriptGenerator.generateDeployScript(actualFunctionName, config);
39
23
  // Save script
40
24
  const outputPath = options.output || `deploy-${functionName}.sh`;
41
25
  const scriptPath = await scriptGenerator.saveScript(outputPath, script);
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":";;;;;AAkBA,sCA4CC;AA9DD,kDAA0B;AAC1B,4CAAgD;AAChD,gEAA4D;AAC5D,4CAAyC;AAelC,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,OAAsB;IAC9E,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,gDAAgD,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAExF,mBAAmB;QACnB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;oBACjB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,yBAAyB,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAEhD,kBAAkB;QAClB,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,eAAe,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAE1E,cAAc;QACd,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,YAAY,KAAK,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAExE,MAAM,CAAC,OAAO,CAAC,0CAA0C,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,aAAa,eAAK,CAAC,MAAM,CAAC,QAAQ,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":";;;;;AAUA,sCA4BC;AAtCD,kDAA0B;AAC1B,4CAAgD;AAChD,gEAA4D;AAC5D,4CAAyC;AAOlC,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,OAAsB;IAC9E,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,gDAAgD,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAExF,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAElD,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAEhD,kBAAkB;QAClB,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,kBAAkB,GAAG,MAAM,CAAC,aAAa,IAAI,YAAY,CAAC;QAChE,MAAM,MAAM,GAAG,eAAe,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAEhF,cAAc;QACd,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,YAAY,KAAK,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAExE,MAAM,CAAC,OAAO,CAAC,0CAA0C,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,aAAa,eAAK,CAAC,MAAM,CAAC,QAAQ,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,6 +1,4 @@
1
1
  export interface InfoOptions {
2
- region?: string;
3
- profile?: string;
4
2
  verbose?: boolean;
5
3
  }
6
4
  export declare function infoCommand(functionName: string, options: InfoOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C3F"}
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD3F"}
@@ -6,13 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.infoCommand = infoCommand;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const aws_cli_1 = require("../utils/aws-cli");
9
+ const config_1 = require("../utils/config");
9
10
  const logger_1 = require("../utils/logger");
10
11
  async function infoCommand(functionName, options) {
11
12
  const logger = new logger_1.Logger(options.verbose || false);
12
13
  try {
13
14
  logger.info(`Getting information for Lambda function: ${chalk_1.default.cyan(functionName)}`);
14
- const awsCliManager = new aws_cli_1.AwsCliManager(options.region, options.profile, logger);
15
- const functionInfo = await awsCliManager.getFunctionInfo(functionName);
15
+ // Load configuration to get actual function name
16
+ const configManager = new config_1.ConfigManager(functionName, logger);
17
+ const config = await configManager.loadConfig({});
18
+ const actualFunctionName = config.function_name || functionName;
19
+ const awsCliManager = new aws_cli_1.AwsCliManager(undefined, undefined, logger);
20
+ const functionInfo = await awsCliManager.getFunctionInfo(actualFunctionName);
16
21
  // Display function information in a readable format
17
22
  console.log(chalk_1.default.green('\n📋 Lambda Function Information:'));
18
23
  console.log(chalk_1.default.cyan('Function Name:'), functionInfo.FunctionName);
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,54 +14,34 @@ const program = new commander_1.Command();
14
14
  program
15
15
  .name('lctl')
16
16
  .description('AWS Lambda Control Tool - Simple CLI for managing Lambda functions')
17
- .version('0.3.0');
17
+ .version('0.5.0');
18
18
  // Deploy command
19
19
  program
20
20
  .command('deploy')
21
21
  .description('Deploy Lambda function (create or update)')
22
- .argument('<function-name>', 'Lambda function name')
23
- .option('--runtime <runtime>', 'Runtime environment', 'python3.12')
24
- .option('--handler <handler>', 'Handler function')
25
- .option('--role <role-arn>', 'IAM role ARN (required for new functions)')
26
- .option('--params <key=value>', 'Parameters for YAML variable substitution', [])
27
- .option('--config <directory>', 'Config directory path', 'configs')
28
- .option('--function <directory>', 'Functions directory path', 'functions')
29
- .option('--region <region>', 'AWS region')
30
- .option('--profile <profile>', 'AWS profile')
22
+ .argument('<function-name>', 'Configuration file name (without .yaml extension)')
31
23
  .option('--verbose', 'Verbose output')
32
24
  .action(deploy_1.deployCommand);
33
25
  // Delete command
34
26
  program
35
27
  .command('delete')
36
28
  .description('Delete Lambda function')
37
- .argument('<function-name>', 'Lambda function name')
38
- .option('--region <region>', 'AWS region')
39
- .option('--profile <profile>', 'AWS profile')
29
+ .argument('<function-name>', 'Configuration file name (without .yaml extension)')
40
30
  .option('--verbose', 'Verbose output')
41
31
  .action(delete_1.deleteCommand);
42
32
  // Info command
43
33
  program
44
34
  .command('info')
45
35
  .description('Show Lambda function information')
46
- .argument('<function-name>', 'Lambda function name')
47
- .option('--region <region>', 'AWS region')
48
- .option('--profile <profile>', 'AWS profile')
36
+ .argument('<function-name>', 'Configuration file name (without .yaml extension)')
49
37
  .option('--verbose', 'Verbose output')
50
38
  .action(info_1.infoCommand);
51
39
  // Export command
52
40
  program
53
41
  .command('export')
54
42
  .description('Export deployment script')
55
- .argument('<function-name>', 'Lambda function name')
56
- .option('--runtime <runtime>', 'Runtime environment', 'python3.12')
57
- .option('--handler <handler>', 'Handler function')
58
- .option('--role <role-arn>', 'IAM role ARN (required for new functions)')
59
- .option('--params <key=value>', 'Parameters for YAML variable substitution', [])
60
- .option('--config <directory>', 'Config directory path', 'configs')
61
- .option('--function <directory>', 'Functions directory path', 'functions')
43
+ .argument('<function-name>', 'Configuration file name (without .yaml extension)')
62
44
  .option('--output <file>', 'Output script file path')
63
- .option('--region <region>', 'AWS region')
64
- .option('--profile <profile>', 'AWS profile')
65
45
  .option('--verbose', 'Verbose output')
66
46
  .action(export_1.exportCommand);
67
47
  program.parse();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAkD;AAClD,8CAAkD;AAClD,0CAA8C;AAC9C,8CAAkD;AAElD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2CAA2C,CAAC;KACxD,QAAQ,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;KAChF,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACrC,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wBAAwB,CAAC;KACrC,QAAQ,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;KAChF,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACrC,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;KAChF,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACrC,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0BAA0B,CAAC;KACvC,QAAQ,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;KAChF,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;KACpD,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACrC,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE;IACzC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Logger } from './logger';
2
2
  export interface LambdaConfig {
3
+ function_name?: string;
3
4
  runtime: string;
4
5
  handler: string;
5
6
  role: string;
@@ -21,6 +22,13 @@ export interface LambdaConfig {
21
22
  target_arn: string;
22
23
  };
23
24
  tags?: Record<string, string>;
25
+ permissions?: Array<{
26
+ service?: string;
27
+ principal?: string;
28
+ source_arn?: string;
29
+ statement_id?: string;
30
+ action?: string;
31
+ }>;
24
32
  log_retention_days?: number;
25
33
  auto_create_log_group?: boolean;
26
34
  zip_excludes?: string[];
@@ -33,10 +41,9 @@ export interface DeployConfig {
33
41
  }
34
42
  export declare class ConfigManager {
35
43
  private functionName;
36
- private params;
37
44
  private logger;
38
- constructor(functionName: string, params: Record<string, string>, logger: Logger);
39
- loadConfig(overrides: DeployConfig, configDir?: string, functionDir?: string): Promise<LambdaConfig>;
45
+ constructor(functionName: string, logger: Logger);
46
+ loadConfig(overrides: DeployConfig): Promise<LambdaConfig>;
40
47
  private substituteVariables;
41
48
  }
42
49
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;gBAFN,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM;IAGlB,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAqD1G,OAAO,CAAC,mBAAmB;CAkC5B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG9B,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAGH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;gBADN,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM;IAGlB,UAAU,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IA6DhE,OAAO,CAAC,mBAAmB;CA4B5B"}
@@ -38,34 +38,40 @@ const fs = __importStar(require("fs/promises"));
38
38
  const path = __importStar(require("path"));
39
39
  const yaml = __importStar(require("yaml"));
40
40
  class ConfigManager {
41
- constructor(functionName, params, logger) {
41
+ constructor(functionName, logger) {
42
42
  this.functionName = functionName;
43
- this.params = params;
44
43
  this.logger = logger;
45
44
  }
46
- async loadConfig(overrides, configDir, functionDir) {
47
- const configDirectory = configDir || 'configs';
48
- const functionsDirectory = functionDir || 'functions';
49
- const yamlPath = path.join(process.cwd(), configDirectory, `${this.functionName}.yaml`);
45
+ async loadConfig(overrides) {
46
+ const configDirectory = 'configs';
47
+ const functionsDirectory = 'functions';
48
+ const yamlPath = path.resolve(configDirectory, `${this.functionName}.yaml`);
50
49
  let yamlConfig = {};
51
- // Try to load YAML config
50
+ // YAML config is now required
52
51
  try {
53
52
  const yamlContent = await fs.readFile(yamlPath, 'utf-8');
54
53
  const parsedYaml = yaml.parse(yamlContent);
54
+ this.logger.verbose(`Parsed YAML before substitution:`, parsedYaml);
55
55
  yamlConfig = this.substituteVariables(parsedYaml);
56
56
  this.logger.verbose(`Loaded YAML config from: ${yamlPath}`);
57
+ this.logger.verbose(`YAML config after substitution:`, yamlConfig);
57
58
  }
58
59
  catch (error) {
59
60
  if (error instanceof Error) {
60
- this.logger.verbose(`Failed to load YAML config: ${error.message}`);
61
+ if (error.code === 'ENOENT') {
62
+ throw new Error(`YAML config file is required but not found: ${yamlPath}`);
63
+ }
64
+ // 変数展開エラーの場合、エラーを再スローしてユーザーに通知
65
+ throw error;
61
66
  }
62
67
  else {
63
- this.logger.verbose(`No YAML config found at: ${yamlPath}`);
68
+ throw new Error(`Failed to load YAML config from: ${yamlPath}`);
64
69
  }
65
70
  }
66
71
  // Set defaults
67
72
  const defaultHandler = `${this.functionName}.handler`;
68
73
  const config = {
74
+ function_name: yamlConfig.function_name || this.functionName,
69
75
  runtime: overrides.runtime || yamlConfig.runtime || 'python3.12',
70
76
  handler: overrides.handler || yamlConfig.handler || defaultHandler,
71
77
  role: overrides.role || yamlConfig.role || '',
@@ -82,6 +88,7 @@ class ConfigManager {
82
88
  vpc: yamlConfig.vpc,
83
89
  dead_letter_queue: yamlConfig.dead_letter_queue,
84
90
  tags: yamlConfig.tags || {},
91
+ permissions: yamlConfig.permissions || [],
85
92
  log_retention_days: yamlConfig.log_retention_days || 7,
86
93
  auto_create_log_group: yamlConfig.auto_create_log_group !== false,
87
94
  zip_excludes: yamlConfig.zip_excludes || ['*.git*', 'node_modules/*', '*.zip', 'dist/*', '.DS_Store'],
@@ -95,13 +102,8 @@ class ConfigManager {
95
102
  }
96
103
  substituteVariables(obj) {
97
104
  if (typeof obj === 'string') {
98
- // Replace $key with params
99
- let result = obj;
100
- for (const [key, value] of Object.entries(this.params)) {
101
- result = result.replace(new RegExp(`\\$${key}\\b`, 'g'), value);
102
- }
103
105
  // Replace ${ENV_VAR} with environment variables
104
- result = result.replace(/\$\{([^}]+)\}/g, (_, envVar) => {
106
+ const result = obj.replace(/\$\{([^}]+)\}/g, (_, envVar) => {
105
107
  const envValue = process.env[envVar];
106
108
  if (envValue === undefined) {
107
109
  throw new Error(`Environment variable ${envVar} is not defined`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ export declare class ScriptGenerator {
4
4
  private logger;
5
5
  constructor(logger: Logger);
6
6
  generateDeployScript(functionName: string, config: LambdaConfig): string;
7
- private generateEnvironmentSection;
8
7
  private generateZipSection;
9
8
  private generateEnvironmentVariablesSection;
10
9
  private generateLayersSection;
@@ -12,6 +11,8 @@ export declare class ScriptGenerator {
12
11
  private generateLayersFlag;
13
12
  private generateDescriptionFlag;
14
13
  private generateAdditionalConfigurationCommands;
14
+ private generatePermissionsSection;
15
+ private getPrincipalForService;
15
16
  private generateLogGroupSection;
16
17
  saveScript(outputPath: string, script: string): Promise<string>;
17
18
  cleanupScript(scriptPath: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"script-generator.d.ts","sourceRoot":"","sources":["../../src/utils/script-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAkDxE,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,mCAAmC;IAqB3C,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,gCAAgC;IAOxC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,uCAAuC;IA0C/C,OAAO,CAAC,uBAAuB;IAuBzB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO/D,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQvD"}
1
+ {"version":3,"file":"script-generator.d.ts","sourceRoot":"","sources":["../../src/utils/script-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAiDxE,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,mCAAmC;IAqB3C,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,gCAAgC;IAOxC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,uCAAuC;IA0C/C,OAAO,CAAC,0BAA0B;IAqClC,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,uBAAuB;IAuBzB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO/D,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQvD"}
@@ -18,7 +18,7 @@ set -eu
18
18
  # Function: ${functionName}
19
19
  # Generated at: ${new Date().toISOString()}
20
20
 
21
- ${this.generateEnvironmentSection(config)}${this.generateZipSection(config)}${this.generateEnvironmentVariablesSection(config)}${this.generateLayersSection(config)}# Lambda関数の存在を確認
21
+ ${this.generateZipSection(config)}${this.generateEnvironmentVariablesSection(config)}${this.generateLayersSection(config)}# Lambda関数の存在を確認
22
22
  if aws lambda get-function --function-name ${functionName} &> /dev/null; then
23
23
  echo "Updating existing Lambda function: ${functionName}"
24
24
  aws lambda update-function-code --function-name ${functionName} --zip-file fileb://lambda.zip | jq .
@@ -31,25 +31,23 @@ if aws lambda get-function --function-name ${functionName} &> /dev/null; then
31
31
  --timeout ${config.timeout || 3} \\
32
32
  --memory-size ${config.memory || 128} \\
33
33
  --architectures ${config.architecture || 'x86_64'}${this.generateEnvironmentVariablesFlag(config)}${this.generateLayersFlag(config)} | jq .
34
-
35
- ${this.generateAdditionalConfigurationCommands(functionName, config)}
36
-
37
- rm lambda.zip
38
- exit 0
34
+ else
35
+ echo "Creating new Lambda function: ${functionName}"
36
+ aws lambda create-function --function-name ${functionName} \\
37
+ --zip-file fileb://lambda.zip \\
38
+ --handler ${config.handler} \\
39
+ --runtime ${config.runtime} \\
40
+ --architectures ${config.architecture || 'x86_64'} \\
41
+ --timeout ${config.timeout || 3} \\
42
+ --memory-size ${config.memory || 128} \\
43
+ --role ${config.role}${this.generateEnvironmentVariablesFlag(config)}${this.generateLayersFlag(config)}${this.generateDescriptionFlag(config)} | jq .
39
44
  fi
40
45
 
41
- echo "Creating new Lambda function: ${functionName}"
42
- aws lambda create-function --function-name ${functionName} \\
43
- --zip-file fileb://lambda.zip \\
44
- --handler ${config.handler} \\
45
- --runtime ${config.runtime} \\
46
- --architectures ${config.architecture || 'x86_64'} \\
47
- --timeout ${config.timeout || 3} \\
48
- --memory-size ${config.memory || 128} \\
49
- --role ${config.role}${this.generateEnvironmentVariablesFlag(config)}${this.generateLayersFlag(config)}${this.generateDescriptionFlag(config)} | jq .
50
-
46
+ # 共通の追加設定
51
47
  ${this.generateAdditionalConfigurationCommands(functionName, config)}
52
48
 
49
+ ${this.generatePermissionsSection(functionName, config)}
50
+
53
51
  ${this.generateLogGroupSection(functionName, config)}
54
52
 
55
53
  rm lambda.zip
@@ -58,9 +56,6 @@ echo "✅ Lambda function ${functionName} deployed successfully!"
58
56
  `;
59
57
  return script;
60
58
  }
61
- generateEnvironmentSection(config) {
62
- return '';
63
- }
64
59
  generateZipSection(config) {
65
60
  let section = '# Create deployment package\n';
66
61
  const functionsDir = config.functionsDirectory || 'functions';
@@ -171,6 +166,62 @@ echo "✅ Lambda function ${functionName} deployed successfully!"
171
166
  }
172
167
  return commands;
173
168
  }
169
+ generatePermissionsSection(functionName, config) {
170
+ if (!config.permissions || config.permissions.length === 0) {
171
+ return '';
172
+ }
173
+ let section = '\n# Add permissions\n';
174
+ config.permissions.forEach((permission, index) => {
175
+ const statementId = permission.statement_id || `${permission.service || 'custom'}-${index}`;
176
+ const action = permission.action || 'lambda:InvokeFunction';
177
+ // Use explicit principal if provided, otherwise derive from service
178
+ let principal;
179
+ if (permission.principal) {
180
+ principal = permission.principal;
181
+ }
182
+ else if (permission.service) {
183
+ principal = this.getPrincipalForService(permission.service);
184
+ }
185
+ else {
186
+ throw new Error(`Permission at index ${index} must specify either 'principal' or 'service'`);
187
+ }
188
+ section += `aws lambda add-permission \\
189
+ --function-name ${functionName} \\
190
+ --statement-id ${statementId} \\
191
+ --action ${action} \\
192
+ --principal ${principal}`;
193
+ if (permission.source_arn) {
194
+ section += ` \\
195
+ --source-arn ${permission.source_arn}`;
196
+ }
197
+ section += ' | jq .\n';
198
+ });
199
+ return section;
200
+ }
201
+ getPrincipalForService(service) {
202
+ const servicePrincipals = {
203
+ 'apigateway': 'apigateway.amazonaws.com',
204
+ 'events': 'events.amazonaws.com',
205
+ 'sns': 'sns.amazonaws.com',
206
+ 'sqs': 'sqs.amazonaws.com',
207
+ 's3': 's3.amazonaws.com',
208
+ 'cloudwatch': 'events.amazonaws.com',
209
+ 'iot': 'iot.amazonaws.com',
210
+ 'logs': 'logs.amazonaws.com',
211
+ 'elasticloadbalancing': 'elasticloadbalancing.amazonaws.com',
212
+ 'cognito': 'cognito-idp.amazonaws.com',
213
+ 'alexa': 'alexa-appkit.amazon.com',
214
+ 'lex': 'lex.amazonaws.com',
215
+ 'config': 'config.amazonaws.com',
216
+ 'cloudformation': 'cloudformation.amazonaws.com',
217
+ 'kinesis': 'kinesis.amazonaws.com',
218
+ 'dynamodb': 'dynamodb.amazonaws.com',
219
+ 'codecommit': 'codecommit.amazonaws.com',
220
+ 'codebuild': 'codebuild.amazonaws.com',
221
+ 'codepipeline': 'codepipeline.amazonaws.com',
222
+ };
223
+ return servicePrincipals[service] || service;
224
+ }
174
225
  generateLogGroupSection(functionName, config) {
175
226
  let section = '';
176
227
  // Only create log group if auto_create_log_group is true (default)
@@ -1 +1 @@
1
- {"version":3,"file":"script-generator.js","sourceRoot":"","sources":["../../src/utils/script-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script-generator.js","sourceRoot":"","sources":["../../src/utils/script-generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infodb/lctl",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "AWS Lambda Control Tool - Simple CLI for managing Lambda functions",
5
5
  "main": "dist/index.js",
6
6
  "bin": {