@infodb/lctl 0.4.0 → 0.6.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,62 +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
- - `--config <directory>`: 設定ファイルのディレクトリ (デフォルト: configs)
33
- - `--function <directory>`: 関数ファイルのディレクトリ (デフォルト: functions)
67
+ - `--verbose`: 詳細なログを出力
34
68
 
35
69
  **例:**
36
70
  ```bash
37
- # 最もシンプルな使用方法(functionsディレクトリのファイルを自動ZIP化)
38
- pnpx @infodb/lctl deploy my-function --role arn:aws:iam::123456789012:role/lambda-role
39
-
40
- # YAML設定ファイルを使用(推奨)
41
- pnpx @infodb/lctl deploy my-function # configs/my-function.yaml から設定を読み込み
71
+ # 基本的な使用方法
72
+ pnpx @infodb/lctl deploy my-function
42
73
 
43
- # 環境変数を使ってフレキシブルなデプロイ
44
- AWS_ROLE_ARN=arn:aws:iam::123456789012:role/lambda-role ENV=prod pnpx @infodb/lctl deploy my-function
74
+ # 詳細ログ付き
75
+ pnpx @infodb/lctl deploy my-function --verbose
45
76
 
46
- # カスタム設定ディレクトリを使用
47
- pnpx @infodb/lctl deploy my-function --config environments/prod
48
-
49
- # カスタム関数ディレクトリを使用
50
- pnpx @infodb/lctl deploy my-function --function src
77
+ # 環境変数を使用
78
+ ENV_NAME=prod DB_HOST=prod.example.com pnpx @infodb/lctl deploy my-function
51
79
  ```
52
80
 
53
81
  ### 2. delete - Lambda関数の削除
54
82
  ```bash
55
- pnpx @infodb/lctl delete <function-name>
83
+ pnpx @infodb/lctl delete <config-name> [オプション]
56
84
  ```
57
85
 
58
86
  **必須引数:**
59
- - `function-name`: 削除するLambda関数名
87
+ - `config-name`: 設定ファイル名(.yaml拡張子は不要)
88
+
89
+ **オプション:**
90
+ - `--verbose`: 詳細なログを出力
60
91
 
61
92
  **例:**
62
93
  ```bash
@@ -65,11 +96,14 @@ pnpx @infodb/lctl delete my-function
65
96
 
66
97
  ### 3. info - Lambda関数の詳細情報表示
67
98
  ```bash
68
- pnpx @infodb/lctl info <function-name>
99
+ pnpx @infodb/lctl info <config-name> [オプション]
69
100
  ```
70
101
 
71
102
  **必須引数:**
72
- - `function-name`: 情報を表示するLambda関数名
103
+ - `config-name`: 設定ファイル名(.yaml拡張子は不要)
104
+
105
+ **オプション:**
106
+ - `--verbose`: 詳細なログを出力
73
107
 
74
108
  **例:**
75
109
  ```bash
@@ -78,23 +112,14 @@ pnpx @infodb/lctl info my-function
78
112
 
79
113
  ### 4. export - デプロイメントスクリプトの出力
80
114
  ```bash
81
- pnpx @infodb/lctl export <function-name> [オプション]
115
+ pnpx @infodb/lctl export <config-name> [オプション]
82
116
  ```
83
117
 
84
- デプロイ用のバッシュスクリプトを生成して保存します。
85
-
86
118
  **必須引数:**
87
- - `function-name`: Lambda関数名
119
+ - `config-name`: 設定ファイル名(.yaml拡張子は不要)
88
120
 
89
121
  **オプション:**
90
- - `--runtime <runtime>`: ランタイム環境 (デフォルト: python3.12)
91
- - `--handler <handler>`: ハンドラー関数 (デフォルト: {function-name}.handler)
92
- - `--role <role-arn>`: IAMロールARN (新規作成時に必須)
93
- - `--config <directory>`: 設定ファイルのディレクトリ (デフォルト: configs)
94
- - `--function <directory>`: 関数ファイルのディレクトリ (デフォルト: functions)
95
- - `--output <file>`: 出力ファイルパス (デフォルト: deploy-{function-name}.sh)
96
- - `--region <region>`: AWSリージョン
97
- - `--profile <profile>`: AWSプロファイル
122
+ - `--output <file>`: 出力ファイルパス(デフォルト: deploy-{config-name}.sh)
98
123
  - `--verbose`: 詳細なログを出力
99
124
 
100
125
  **例:**
@@ -103,62 +128,35 @@ pnpx @infodb/lctl export <function-name> [オプション]
103
128
  pnpx @infodb/lctl export my-function --output deploy-script.sh
104
129
 
105
130
  # 環境変数を使用してスクリプト出力
106
- ENV=prod DB_HOST=prod.example.com pnpx @infodb/lctl export my-function
131
+ ENV_NAME=prod DB_HOST=prod.example.com pnpx @infodb/lctl export my-function
107
132
  ```
108
133
 
109
- ## グローバルオプション
110
- - `--region <region>`: AWSリージョンを指定 (デフォルト: 環境変数またはAWS設定)
111
- - `--profile <profile>`: AWSプロファイルを指定
112
- - `--help, -h`: ヘルプを表示
113
- - `--version, -v`: バージョンを表示
114
- - `--verbose`: 詳細なログを出力
134
+ ## YAML設定ファイル(必須)
115
135
 
116
- ## 環境要件
117
- - Node.js 16以上
118
- - AWS CLI v2がインストールされていること
119
- - 適切なAWS認証情報が設定されていること
120
-
121
- ## プロジェクト構成
122
-
123
- 推奨されるプロジェクト構成:
124
-
125
- ```
126
- project/
127
- ├── configs/ # 設定ファイル
128
- │ ├── my-function.yaml
129
- │ └── other-function.yaml
130
- ├── functions/ # Lambda関数コード
131
- │ ├── my-function.py
132
- │ ├── requirements.txt
133
- │ └── utils.py
134
- └── other-files/
135
- ```
136
+ 設定ファイルは `configs/` ディレクトリに配置し、`configs/<config-name>.yaml` 形式で命名します。
136
137
 
137
- ## YAML設定ファイル
138
+ ### 基本的な設定例
138
139
 
139
- 設定ファイルは `configs/` ディレクトリ(デフォルト)から自動的に読み込まれます。
140
- Lambda関数のコードは `functions/` ディレクトリ(デフォルト)から読み込まれます。
141
-
142
- ### ファイル名の規則
143
- - `configs/<function-name>.yaml` (例: `configs/my-function.yaml`)
144
- - `--config` オプションでディレクトリを変更可能
145
- - `--function` オプションで関数ディレクトリを変更可能
140
+ ```yaml
141
+ # configs/my-function.yaml
146
142
 
147
- ### YAML設定例
143
+ # 関数名設定(オプション)
144
+ function_name: ${ENV_NAME}_my_function # 環境変数を使用した動的命名
145
+ # function_name: my_function # 固定名
146
+ # 未設定の場合、設定ファイル名(my-function)を使用
148
147
 
149
- ```yaml
150
- # my-function.yaml
148
+ # 基本設定
151
149
  runtime: python3.12
152
- handler: my-function.handler
153
- role: ${AWS_ROLE_ARN}
150
+ handler: my_function.handler
151
+ role: arn:aws:iam::123456789012:role/lambda-execution-role
154
152
  architecture: x86_64 # x86_64 または arm64
155
153
  memory: 256
156
154
  timeout: 30
157
155
  description: "マイ Lambda 関数"
158
156
 
159
- # 依存ファイルの指定(functionsディレクトリ内の相対パス)
157
+ # デプロイするファイル(functionsディレクトリ内の相対パス)
160
158
  files:
161
- - my-function.py
159
+ - my_function.py
162
160
  - requirements.txt
163
161
  - utils.py
164
162
  - "lib/**/*.py" # glob パターンも使用可能
@@ -168,10 +166,19 @@ environment:
168
166
  DB_HOST: ${DB_HOST}
169
167
  DB_PORT: ${DB_PORT}
170
168
  API_KEY: ${API_KEY}
171
- ENV: ${ENV}
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"
172
179
 
173
180
  # ログ設定
174
- log_retention_days: 7 # ログ保持期間(日)
181
+ log_retention_days: 14 # ログ保持期間(日)
175
182
  auto_create_log_group: true # ロググループ自動作成
176
183
 
177
184
  # ZIP除外設定
@@ -179,16 +186,22 @@ zip_excludes: # ZIP化時の除外パターン
179
186
  - "*.git*"
180
187
  - "node_modules/*"
181
188
  - "*.zip"
182
- - "dist/*"
183
- - ".DS_Store"
189
+ - "*.pyc"
190
+ - "__pycache__/*"
184
191
 
185
- # リザーブド同時実行数
186
- reserved_concurrency: 100
192
+ # タグ
193
+ tags:
194
+ Environment: ${ENV_NAME}
195
+ Team: backend
196
+ Project: my-project
197
+ ```
187
198
 
188
- # プロビジョンド同時実行設定
189
- provisioned_concurrency: 10
199
+ ### 高度な設定例
190
200
 
191
- # エフェメラルストレージ
201
+ ```yaml
202
+ # 高度な設定
203
+ reserved_concurrency: 100
204
+ provisioned_concurrency: 10
192
205
  ephemeral_storage: 1024 # MB (512-10240)
193
206
 
194
207
  # レイヤー
@@ -207,58 +220,118 @@ vpc:
207
220
  # デッドレターキュー
208
221
  dead_letter_queue:
209
222
  target_arn: arn:aws:sqs:us-east-1:123456789012:my-dlq
223
+ ```
210
224
 
211
- # タグ
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}
212
286
  tags:
213
- Environment: production
214
- Team: backend
215
- 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
293
+ ```
294
+
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
216
309
  ```
217
310
 
218
- ### YAML設定項目
219
-
220
- | 項目 | 型 | 説明 | 例 |
221
- |------|----|----|-----|
222
- | `runtime` | string | ランタイム環境 | `python3.12`, `nodejs18.x` |
223
- | `handler` | string | ハンドラー関数 | `my-function.handler`, `app.lambda_handler` |
224
- | `role` | string | IAMロールARN | `arn:aws:iam::123456789012:role/...` |
225
- | `architecture` | string | アーキテクチャ | `x86_64`, `arm64` |
226
- | `memory` | number | メモリサイズ(MB) | `128`, `256`, `512` |
227
- | `timeout` | number | タイムアウト時間(秒) | `3`, `30`, `900` |
228
- | `description` | string | 関数の説明 | `"マイ Lambda 関数"` |
229
- | `reserved_concurrency` | number | リザーブド同時実行数 | `100`, `1000` |
230
- | `provisioned_concurrency` | number | プロビジョンド同時実行 | `10`, `50` |
231
- | `ephemeral_storage` | number | エフェメラルストレージ(MB) | `512`, `1024`, `10240` |
232
- | `files` | array | 含めるファイル・ディレクトリ | `["src/", "*.py"]` |
233
- | `environment` | object | 環境変数 | `{DB_HOST: "localhost"}` |
234
- | `log_retention_days` | number | ログ保持期間(日) | `7`, `14`, `30` |
235
- | `auto_create_log_group` | boolean | ロググループ自動作成 | `true`, `false` |
236
- | `zip_excludes` | array | ZIP化時の除外パターン | `["*.git*", "node_modules/*"]` |
237
- | `layers` | array | レイヤーARN | `["arn:aws:lambda:..."]` |
238
- | `vpc` | object | VPC設定 | `{subnets: [...], security_groups: [...]}` |
239
- | `dead_letter_queue` | object | DLQ設定 | `{target_arn: "arn:aws:sqs:..."}` |
240
- | `tags` | object | タグ | `{Environment: "prod"}` |
241
-
242
- ### ファイル処理の仕組み
243
-
244
- 1. YAMLファイルの `files` に指定されたファイル・ディレクトリを自動的にZIP化
245
- 2. YAMLファイルがない場合は、カレントディレクトリの全ファイルをZIP化
246
- 3. glob パターンをサポート(`**/*.py`, `src/**/*` など)
247
- 4. 一時的なZIPファイルを作成してデプロイ後に削除
248
-
249
- ### 変数の展開
250
-
251
- **環境変数の展開:**
252
- - `${VAR_NAME}` 形式で現在の環境変数を参照可能
253
- - 存在しない環境変数を参照した場合はエラー
254
-
255
- **環境変数を使用した環境管理:**
311
+ 2. 環境変数による設定:
256
312
  ```bash
257
- AWS_ROLE_ARN=arn:aws:iam::123456789012:role/lambda-role ENV=prod pnpx @infodb/lctl deploy my-function
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
258
316
  ```
259
317
 
260
- ## エラーハンドリング
261
- - AWS CLIコマンドが失敗した場合、適切なエラーメッセージを表示
262
- - 必須パラメータが不足している場合、使用方法を表示
263
- - 存在しない関数に対する操作の場合、エラーメッセージを表示
264
- - YAML設定ファイルの構文エラーがある場合、詳細なエラーメッセージを表示
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,11 +1,4 @@
1
1
  export interface DeployOptions {
2
- runtime?: string;
3
- handler?: string;
4
- role?: string;
5
- config?: string;
6
- function?: string;
7
- region?: string;
8
- profile?: string;
9
2
  verbose?: boolean;
10
3
  }
11
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,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,CA4C/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"}
@@ -15,27 +15,22 @@ async function deployCommand(functionName, options) {
15
15
  logger.info(`Deploying Lambda function: ${chalk_1.default.cyan(functionName)}`);
16
16
  // Load configuration
17
17
  const configManager = new config_1.ConfigManager(functionName, logger);
18
- const config = await configManager.loadConfig({
19
- runtime: options.runtime,
20
- handler: options.handler,
21
- role: options.role,
22
- }, options.config, options.function);
18
+ const config = await configManager.loadConfig({});
23
19
  logger.verbose('Configuration loaded:', config);
24
20
  // Generate and execute deployment script
25
21
  const scriptGenerator = new script_generator_1.ScriptGenerator(logger);
26
- const script = scriptGenerator.generateDeployScript(functionName, config);
22
+ const actualFunctionName = config.function_name || functionName;
23
+ const script = scriptGenerator.generateDeployScript(actualFunctionName, config);
27
24
  const scriptPath = await scriptGenerator.saveScript(functionName, script);
28
25
  try {
29
26
  // Set environment variables for the script
30
27
  const env = {
31
28
  ...process.env,
32
- AWS_PROFILE: options.profile || process.env.AWS_PROFILE || 'default',
33
- AWS_REGION: options.region || process.env.AWS_REGION || 'ap-northeast-1',
34
29
  };
35
30
  // Execute the script
36
31
  logger.info('Executing deployment script...');
37
32
  await executeScript(scriptPath, env, logger);
38
- logger.success(`✅ Lambda function ${chalk_1.default.cyan(functionName)} deployed successfully!`);
33
+ // スクリプト内で成功メッセージが出力されるため、ここでは出力しない
39
34
  }
40
35
  finally {
41
36
  // Clean up script file
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":";;;;;AAiBA,sCA4CC;AA7DD,kDAA0B;AAC1B,iDAAsC;AACtC,4CAAgD;AAChD,gEAA4D;AAC5D,4CAAyC;AAalC,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,8BAA8B,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEtE,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9D,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,yCAAyC;QACzC,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,eAAe,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,GAAG,GAAG;gBACV,GAAG,OAAO,CAAC,GAAG;gBACd,WAAW,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,SAAS;gBACpE,UAAU,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,gBAAgB;aACzE,CAAC;YAEF,qBAAqB;YACrB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC9C,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAE7C,MAAM,CAAC,OAAO,CAAC,qBAAqB,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QAEzF,CAAC;gBAAS,CAAC;YACT,uBAAuB;YACvB,MAAM,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;IAEH,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;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,GAAsB,EAAE,MAAc;IAC/E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;YACxC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;YAClC,GAAG;SACJ,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,MAAM,CAAC;YACjB,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,MAAM,CAAC;YACjB,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,IAAI,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;YAClG,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,6 @@
1
1
  export interface ExportOptions {
2
- runtime?: string;
3
- handler?: string;
4
- role?: string;
5
- config?: string;
6
- function?: string;
7
- region?: string;
8
- profile?: string;
9
- verbose?: boolean;
10
2
  output?: string;
3
+ verbose?: boolean;
11
4
  }
12
5
  export declare function exportCommand(functionName: string, options: ExportOptions): Promise<void>;
13
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,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,CA+B/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"}
@@ -14,15 +14,12 @@ async function exportCommand(functionName, options) {
14
14
  logger.info(`Exporting deploy script for Lambda function: ${chalk_1.default.cyan(functionName)}`);
15
15
  // Load configuration
16
16
  const configManager = new config_1.ConfigManager(functionName, logger);
17
- const config = await configManager.loadConfig({
18
- runtime: options.runtime,
19
- handler: options.handler,
20
- role: options.role,
21
- }, options.config, options.function);
17
+ const config = await configManager.loadConfig({});
22
18
  logger.verbose('Configuration loaded:', config);
23
19
  // Generate script
24
20
  const scriptGenerator = new script_generator_1.ScriptGenerator(logger);
25
- const script = scriptGenerator.generateDeployScript(functionName, config);
21
+ const actualFunctionName = config.function_name || functionName;
22
+ const script = scriptGenerator.generateDeployScript(actualFunctionName, config);
26
23
  // Save script
27
24
  const outputPath = options.output || `deploy-${functionName}.sh`;
28
25
  const scriptPath = await scriptGenerator.saveScript(outputPath, script);
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":";;;;;AAiBA,sCA+BC;AAhDD,kDAA0B;AAC1B,4CAAgD;AAChD,gEAA4D;AAC5D,4CAAyC;AAclC,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;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,52 +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.4.0');
17
+ .version('0.6.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('--config <directory>', 'Config directory path', 'configs')
27
- .option('--function <directory>', 'Functions directory path', 'functions')
28
- .option('--region <region>', 'AWS region')
29
- .option('--profile <profile>', 'AWS profile')
22
+ .argument('<function-name>', 'Configuration file name (without .yaml extension)')
30
23
  .option('--verbose', 'Verbose output')
31
24
  .action(deploy_1.deployCommand);
32
25
  // Delete command
33
26
  program
34
27
  .command('delete')
35
28
  .description('Delete Lambda function')
36
- .argument('<function-name>', 'Lambda function name')
37
- .option('--region <region>', 'AWS region')
38
- .option('--profile <profile>', 'AWS profile')
29
+ .argument('<function-name>', 'Configuration file name (without .yaml extension)')
39
30
  .option('--verbose', 'Verbose output')
40
31
  .action(delete_1.deleteCommand);
41
32
  // Info command
42
33
  program
43
34
  .command('info')
44
35
  .description('Show Lambda function information')
45
- .argument('<function-name>', 'Lambda function name')
46
- .option('--region <region>', 'AWS region')
47
- .option('--profile <profile>', 'AWS profile')
36
+ .argument('<function-name>', 'Configuration file name (without .yaml extension)')
48
37
  .option('--verbose', 'Verbose output')
49
38
  .action(info_1.infoCommand);
50
39
  // Export command
51
40
  program
52
41
  .command('export')
53
42
  .description('Export deployment script')
54
- .argument('<function-name>', 'Lambda function name')
55
- .option('--runtime <runtime>', 'Runtime environment', 'python3.12')
56
- .option('--handler <handler>', 'Handler function')
57
- .option('--role <role-arn>', 'IAM role ARN (required for new functions)')
58
- .option('--config <directory>', 'Config directory path', 'configs')
59
- .option('--function <directory>', 'Functions directory path', 'functions')
43
+ .argument('<function-name>', 'Configuration file name (without .yaml extension)')
60
44
  .option('--output <file>', 'Output script file path')
61
- .option('--region <region>', 'AWS region')
62
- .option('--profile <profile>', 'AWS profile')
63
45
  .option('--verbose', 'Verbose output')
64
46
  .action(export_1.exportCommand);
65
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[];
@@ -35,7 +43,7 @@ export declare class ConfigManager {
35
43
  private functionName;
36
44
  private logger;
37
45
  constructor(functionName: string, logger: Logger);
38
- loadConfig(overrides: DeployConfig, configDir?: string, functionDir?: string): Promise<LambdaConfig>;
46
+ loadConfig(overrides: DeployConfig): Promise<LambdaConfig>;
39
47
  private substituteVariables;
40
48
  }
41
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;gBADN,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM;IAGlB,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAyD1G,OAAO,CAAC,mBAAmB;CA4B5B"}
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"}
@@ -42,12 +42,12 @@ class ConfigManager {
42
42
  this.functionName = functionName;
43
43
  this.logger = logger;
44
44
  }
45
- async loadConfig(overrides, configDir, functionDir) {
46
- const configDirectory = configDir || 'configs';
47
- const functionsDirectory = functionDir || 'functions';
48
- 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`);
49
49
  let yamlConfig = {};
50
- // Try to load YAML config
50
+ // YAML config is now required
51
51
  try {
52
52
  const yamlContent = await fs.readFile(yamlPath, 'utf-8');
53
53
  const parsedYaml = yaml.parse(yamlContent);
@@ -58,17 +58,20 @@ class ConfigManager {
58
58
  }
59
59
  catch (error) {
60
60
  if (error instanceof Error) {
61
- 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
+ }
62
64
  // 変数展開エラーの場合、エラーを再スローしてユーザーに通知
63
65
  throw error;
64
66
  }
65
67
  else {
66
- this.logger.verbose(`No YAML config found at: ${yamlPath}`);
68
+ throw new Error(`Failed to load YAML config from: ${yamlPath}`);
67
69
  }
68
70
  }
69
71
  // Set defaults
70
72
  const defaultHandler = `${this.functionName}.handler`;
71
73
  const config = {
74
+ function_name: yamlConfig.function_name || this.functionName,
72
75
  runtime: overrides.runtime || yamlConfig.runtime || 'python3.12',
73
76
  handler: overrides.handler || yamlConfig.handler || defaultHandler,
74
77
  role: overrides.role || yamlConfig.role || '',
@@ -85,6 +88,7 @@ class ConfigManager {
85
88
  vpc: yamlConfig.vpc,
86
89
  dead_letter_queue: yamlConfig.dead_letter_queue,
87
90
  tags: yamlConfig.tags || {},
91
+ permissions: yamlConfig.permissions || [],
88
92
  log_retention_days: yamlConfig.log_retention_days || 7,
89
93
  auto_create_log_group: yamlConfig.auto_create_log_group !== false,
90
94
  zip_excludes: yamlConfig.zip_excludes || ['*.git*', 'node_modules/*', '*.zip', 'dist/*', '.DS_Store'],
@@ -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;IAgDxE,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 .
@@ -29,27 +29,24 @@ if aws lambda get-function --function-name ${functionName} &> /dev/null; then
29
29
  --handler ${config.handler} \\
30
30
  --role ${config.role} \\
31
31
  --timeout ${config.timeout || 3} \\
32
+ --memory-size ${config.memory || 128}${this.generateEnvironmentVariablesFlag(config)}${this.generateLayersFlag(config)}${this.generateDescriptionFlag(config)} | jq .
33
+ else
34
+ echo "Creating new Lambda function: ${functionName}"
35
+ aws lambda create-function --function-name ${functionName} \\
36
+ --zip-file fileb://lambda.zip \\
37
+ --handler ${config.handler} \\
38
+ --runtime ${config.runtime} \\
39
+ --architectures ${config.architecture || 'x86_64'} \\
40
+ --timeout ${config.timeout || 3} \\
32
41
  --memory-size ${config.memory || 128} \\
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
42
+ --role ${config.role}${this.generateEnvironmentVariablesFlag(config)}${this.generateLayersFlag(config)}${this.generateDescriptionFlag(config)} | jq .
39
43
  fi
40
44
 
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
-
45
+ # 共通の追加設定
51
46
  ${this.generateAdditionalConfigurationCommands(functionName, config)}
52
47
 
48
+ ${this.generatePermissionsSection(functionName, config)}
49
+
53
50
  ${this.generateLogGroupSection(functionName, config)}
54
51
 
55
52
  rm lambda.zip
@@ -58,9 +55,6 @@ echo "✅ Lambda function ${functionName} deployed successfully!"
58
55
  `;
59
56
  return script;
60
57
  }
61
- generateEnvironmentSection(config) {
62
- return '';
63
- }
64
58
  generateZipSection(config) {
65
59
  let section = '# Create deployment package\n';
66
60
  const functionsDir = config.functionsDirectory || 'functions';
@@ -171,6 +165,62 @@ echo "✅ Lambda function ${functionName} deployed successfully!"
171
165
  }
172
166
  return commands;
173
167
  }
168
+ generatePermissionsSection(functionName, config) {
169
+ if (!config.permissions || config.permissions.length === 0) {
170
+ return '';
171
+ }
172
+ let section = '\n# Add permissions\n';
173
+ config.permissions.forEach((permission, index) => {
174
+ const statementId = permission.statement_id || `${permission.service || 'custom'}-${index}`;
175
+ const action = permission.action || 'lambda:InvokeFunction';
176
+ // Use explicit principal if provided, otherwise derive from service
177
+ let principal;
178
+ if (permission.principal) {
179
+ principal = permission.principal;
180
+ }
181
+ else if (permission.service) {
182
+ principal = this.getPrincipalForService(permission.service);
183
+ }
184
+ else {
185
+ throw new Error(`Permission at index ${index} must specify either 'principal' or 'service'`);
186
+ }
187
+ section += `aws lambda add-permission \\
188
+ --function-name ${functionName} \\
189
+ --statement-id ${statementId} \\
190
+ --action ${action} \\
191
+ --principal ${principal}`;
192
+ if (permission.source_arn) {
193
+ section += ` \\
194
+ --source-arn ${permission.source_arn}`;
195
+ }
196
+ section += ' | jq .\n';
197
+ });
198
+ return section;
199
+ }
200
+ getPrincipalForService(service) {
201
+ const servicePrincipals = {
202
+ 'apigateway': 'apigateway.amazonaws.com',
203
+ 'events': 'events.amazonaws.com',
204
+ 'sns': 'sns.amazonaws.com',
205
+ 'sqs': 'sqs.amazonaws.com',
206
+ 's3': 's3.amazonaws.com',
207
+ 'cloudwatch': 'events.amazonaws.com',
208
+ 'iot': 'iot.amazonaws.com',
209
+ 'logs': 'logs.amazonaws.com',
210
+ 'elasticloadbalancing': 'elasticloadbalancing.amazonaws.com',
211
+ 'cognito': 'cognito-idp.amazonaws.com',
212
+ 'alexa': 'alexa-appkit.amazon.com',
213
+ 'lex': 'lex.amazonaws.com',
214
+ 'config': 'config.amazonaws.com',
215
+ 'cloudformation': 'cloudformation.amazonaws.com',
216
+ 'kinesis': 'kinesis.amazonaws.com',
217
+ 'dynamodb': 'dynamodb.amazonaws.com',
218
+ 'codecommit': 'codecommit.amazonaws.com',
219
+ 'codebuild': 'codebuild.amazonaws.com',
220
+ 'codepipeline': 'codepipeline.amazonaws.com',
221
+ };
222
+ return servicePrincipals[service] || service;
223
+ }
174
224
  generateLogGroupSection(functionName, config) {
175
225
  let section = '';
176
226
  // 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.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "AWS Lambda Control Tool - Simple CLI for managing Lambda functions",
5
5
  "main": "dist/index.js",
6
6
  "bin": {