newrelic-lambda-cli 0.9.4__py2.py3-none-any.whl → 0.9.6__py2.py3-none-any.whl

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.
@@ -103,6 +103,12 @@ def register(group):
103
103
  show_default=True,
104
104
  type=click.Choice(["handleRequest", "handleStreamsRequest"]),
105
105
  )
106
+ @click.option(
107
+ "--esm",
108
+ default=False,
109
+ show_default=True,
110
+ help="Nodejs runtimes only - nodejs implementation runtime handler to /opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handler",
111
+ )
106
112
  @click.pass_context
107
113
  def install(ctx, **kwargs):
108
114
  """Install New Relic AWS Lambda Layers"""
@@ -100,6 +100,13 @@ def _add_new_relic(input, config, nr_license_key):
100
100
  if "java" in runtime:
101
101
  postfix = input.java_handler_method or "handleRequest"
102
102
  runtime_handler = runtime_handler + postfix
103
+ if "nodejs" in runtime:
104
+ prefix = (
105
+ "/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index"
106
+ if input.esm
107
+ else "newrelic_lambda_wrapper"
108
+ )
109
+ runtime_handler = prefix + ".handler"
103
110
 
104
111
  existing_newrelic_layer = [
105
112
  layer["Arn"]
@@ -107,6 +107,7 @@ LAYER_INSTALL_KEYS = [
107
107
  "enable_extension",
108
108
  "enable_extension_function_logs",
109
109
  "java_handler_method",
110
+ "esm",
110
111
  ]
111
112
 
112
113
  LAYER_UNINSTALL_KEYS = [
@@ -40,6 +40,10 @@ RUNTIME_CONFIG = {
40
40
  "Handler": "newrelic-lambda-wrapper.handler",
41
41
  "LambdaExtension": True,
42
42
  },
43
+ "nodejs22.x": {
44
+ "Handler": "newrelic-lambda-wrapper.handler",
45
+ "LambdaExtension": True,
46
+ },
43
47
  "provided": {"LambdaExtension": True},
44
48
  "provided.al2": {"LambdaExtension": True},
45
49
  "provided.al2023": {"LambdaExtension": True},
@@ -67,6 +71,10 @@ RUNTIME_CONFIG = {
67
71
  "Handler": "newrelic_lambda_wrapper.handler",
68
72
  "LambdaExtension": True,
69
73
  },
74
+ "python3.13": {
75
+ "Handler": "newrelic_lambda_wrapper.handler",
76
+ "LambdaExtension": True,
77
+ },
70
78
  "ruby3.2": {
71
79
  "Handler": "newrelic_lambda_wrapper.handler",
72
80
  "LambdaExtension": True,
@@ -75,6 +83,10 @@ RUNTIME_CONFIG = {
75
83
  "Handler": "newrelic_lambda_wrapper.handler",
76
84
  "LambdaExtension": True,
77
85
  },
86
+ "ruby3.4": {
87
+ "Handler": "newrelic_lambda_wrapper.handler",
88
+ "LambdaExtension": True,
89
+ },
78
90
  }
79
91
 
80
92
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: newrelic-lambda-cli
3
- Version: 0.9.4
3
+ Version: 0.9.6
4
4
  Summary: A CLI to install the New Relic AWS Lambda integration and layers.
5
5
  Home-page: https://github.com/newrelic/newrelic-lambda-cli
6
6
  Author: New Relic
@@ -14,10 +14,19 @@ Requires-Dist: colorama
14
14
  Requires-Dist: gql<3,>=2
15
15
  Requires-Dist: requests<3
16
16
  Requires-Dist: tabulate
17
+ Dynamic: author
18
+ Dynamic: author-email
19
+ Dynamic: description
20
+ Dynamic: description-content-type
21
+ Dynamic: home-page
22
+ Dynamic: license-file
23
+ Dynamic: requires-dist
24
+ Dynamic: requires-python
25
+ Dynamic: summary
17
26
 
18
27
  [![Community Plus header](https://github.com/newrelic/opensource-website/raw/master/src/images/categories/Community_Plus.png)](https://opensource.newrelic.com/oss-category/#community-plus)
19
28
 
20
- # newrelic-lambda-cli [![Build Status](https://circleci.com/gh/newrelic/newrelic-lambda-cli.svg?style=svg)](https://circleci.com/gh/newrelic/newrelic-lambda-cli) [![Coverage](https://codecov.io/gh/newrelic/newrelic-lambda-cli/branch/master/graph/badge.svg?token=1Rl7h0O1JJ)](https://codecov.io/gh/newrelic/newrelic-lambda-cli)
29
+ # newrelic-lambda-cli [![Build Status](https://github.com/newrelic/newrelic-lambda-cli/actions/workflows/build-test-release.yml/badge.svg)](https://github.com/newrelic/newrelic-lambda-cli/actions/workflows/build-test-release.yml) [![Coverage](https://codecov.io/gh/newrelic/newrelic-lambda-cli/branch/master/graph/badge.svg?token=1Rl7h0O1JJ)](https://codecov.io/gh/newrelic/newrelic-lambda-cli)
21
30
 
22
31
  A CLI to install the New Relic AWS Lambda integration and layers.
23
32
 
@@ -63,6 +72,7 @@ A CLI to install the New Relic AWS Lambda integration and layers.
63
72
  * nodejs16.x
64
73
  * nodejs18.x
65
74
  * nodejs20.x
75
+ * nodejs22.x
66
76
  * provided
67
77
  * provided.al2
68
78
  * provided.al2023
@@ -72,8 +82,10 @@ A CLI to install the New Relic AWS Lambda integration and layers.
72
82
  * python3.10
73
83
  * python3.11
74
84
  * python3.12
85
+ * python3.13
75
86
  * ruby3.2
76
87
  * ruby3.3
88
+ * ruby3.4
77
89
 
78
90
  **Note:** Automatic handler wrapping is only supported for Node.js, Python, Java, and Ruby. For other runtimes,
79
91
  manual function wrapping is required using the runtime specific New Relic agent.
@@ -170,8 +182,8 @@ newrelic-lambda integrations update \
170
182
 
171
183
  | Option | Required? | Description |
172
184
  |--------|-----------|-------------|
173
- | `--nr-account-id` or `-a` | Yes | The [New Relic Account ID](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/account-id) for the integration. Only required if changing the account to which the logs are sent. Can also use the `NEW_RELIC_ACCOUNT_ID` environment variable. |
174
- | `--nr-api-key` or `-k` | Yes | Your [New Relic User API Key](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key). Can also use the `NEW_RELIC_API_KEY` environment variable. Only required if changing the account to which the logs are sent. |
185
+ | `--nr-account-id` or `-a` | Yes | The [New Relic Account ID](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/account-id) for the integration. Alternatively, you can use the `NEW_RELIC_ACCOUNT_ID` environment variable. |
186
+ | `--nr-api-key` or `-k` | Yes | Your [New Relic User API Key](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key). Alternatively, you can use the `NEW_RELIC_API_KEY` environment variable. |
175
187
  | `--disable-logs` or `-d` | No | Disables forwarding logs to New Relic Logging. Make sure you run `newrelic-lambda subscriptions install --function ...` afterwards. |
176
188
  | `--enable-logs` or `-e` | No | Enables forwarding logs to New Relic Logging. Make sure you run `newrelic-lambda subscriptions install --function ... --filter-pattern ""` afterwards. |
177
189
  | `--memory-size` or `-m` | No | Memory size (in MiB) for the New Relic log ingestion function. |
@@ -208,6 +220,7 @@ newrelic-lambda layers install \
208
220
  | `--nr-api-key` or `-k` | No | Your [New Relic User API Key](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key). Can also use the `NEW_RELIC_API_KEY` environment variable. Only used if `--enable-extension` is set and there is no New Relic license key in AWS Secrets Manager. |
209
221
  | `--nr-region` | No | The New Relic region to use for the integration. Can use the `NEW_RELIC_REGION` environment variable. Can be either `eu` or `us`. Defaults to `us`. Only used if `--enable-extension` is set and there is no New Relic license key in AWS Secrets Manager. |
210
222
  | `--java_handler_method` or `-j` | No | For java runtimes only to specify an aws implementation method. Defaults to RequestHandler. Optional inputs are: handleRequest, handleStreamsRequest `--java_handler_method handleStreamsRequest`. |
223
+ | `--esm` | No | For Node.js functions using ES Modules (ESM), enable the specific ESM wrapper during installation (e.g., using the --esm flag). This sets the Lambda handler to `/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handler`. |
211
224
 
212
225
  #### Uninstall Layer
213
226
 
@@ -343,11 +356,11 @@ newrelic-lambda subscriptions uninstall --function <name or arn> --otel
343
356
 
344
357
  ## Docker
345
358
 
346
- Now, you can run newrelic-lambda-cli as a container.
359
+ Now, you can run newrelic-lambda-cli as a [container](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-cli).
347
360
 
348
361
  ```bash
349
- docker build -t newrelic-lambda-cli .
350
- docker run -e AWS_PROFILE=your_profile -v $HOME/.aws:/home/newrelic-lambda-cli/.aws newrelic-lambda-cli functions list
362
+ docker pull public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-cli:0.9.4
363
+ docker run -v $HOME/.aws:/home/newrelic-lambda-cli/.aws "newrelic-lambda-cli" functions list
351
364
  ```
352
365
 
353
366
  ## Contributing
@@ -3,25 +3,25 @@ newrelic_lambda_cli/api.py,sha256=b75XwylRhW9pcA6aZ9EjBW1yIFOGHhhULDD5hNhMyes,15
3
3
  newrelic_lambda_cli/cliutils.py,sha256=XDtvTlgbf2uVg01yCJrfJmmgxbF0nIL9x58ETyvefk8,685
4
4
  newrelic_lambda_cli/functions.py,sha256=p57ZUw424BaSUA_Gw8DrYsJOYKROEHEaXgARadqwcP0,2800
5
5
  newrelic_lambda_cli/integrations.py,sha256=r0gxfEqVHTGu3xbr4dOCDwm0-Yhoz3KntfeQRWvoWrQ,31266
6
- newrelic_lambda_cli/layers.py,sha256=7ntl48RVEoRO4iiD3yzsxgqNkx013vXO5wQuoP6M0-I,14805
6
+ newrelic_lambda_cli/layers.py,sha256=gH7-xRcistsk0GNlgC8VkN1yzz8UDm7g_CRFvUgsg1g,15049
7
7
  newrelic_lambda_cli/otel_ingestions.py,sha256=vi1Mlfc9nRvRWV7STwK7fDXZGozG8ufKohmpHcaWGic,9250
8
8
  newrelic_lambda_cli/permissions.py,sha256=H7v5IMpKaJIWC4Dff2YcTis4BKAAFIJr9IHWUj1LnF4,9093
9
9
  newrelic_lambda_cli/subscriptions.py,sha256=-BYkltqiDLdmhUB_Ot4w-5vvrKcQC6aHcTBLl1mlUlI,9564
10
- newrelic_lambda_cli/types.py,sha256=z4K_ALDhF-iOKpyQUekbzETa586mr9bMpK9RCuffVQ8,3293
11
- newrelic_lambda_cli/utils.py,sha256=dYcSFZj7Mpgr5f8YSaAjt80N1q9akcOj1_puL8iRHak,5324
10
+ newrelic_lambda_cli/types.py,sha256=q5m6T027sYWFFCzO_6ADRBZrGG0tIoiROvq9jdEV6G4,3304
11
+ newrelic_lambda_cli/utils.py,sha256=98Y0gvJtQk4RfQUrwnrq_tXm9b_0Agg__F5AKvHYqzQ,5663
12
12
  newrelic_lambda_cli/cli/__init__.py,sha256=FciF2RVqQbpMKqEiN8qjO6qmdLB6Yv8LyyyPYcfJNrc,622
13
13
  newrelic_lambda_cli/cli/decorators.py,sha256=a3agkVfy8omkUSL4aKblwSX95xtxYOGASULDYcJDPHk,1786
14
14
  newrelic_lambda_cli/cli/functions.py,sha256=RSh2Cowe1_oQup8q5YRidp03z-BITo2uzvDh4zvLr4I,2601
15
15
  newrelic_lambda_cli/cli/integrations.py,sha256=aQAWcCCU2kBmbF8fLKwKB9bzSY0uipvnojajjTkhqEs,10461
16
- newrelic_lambda_cli/cli/layers.py,sha256=3CTukG79vM2Gzx3NFXsqUEjy5mNQ4rawIh53oQeCyCI,6180
16
+ newrelic_lambda_cli/cli/layers.py,sha256=sfAoruTDLxWHJoTp9i5A-sz5Lss2vdjJq1qKt5kKIds,6395
17
17
  newrelic_lambda_cli/cli/otel_ingestions.py,sha256=4rTm9iYUo2qdMeqxJSrYLCA6ZXHy5bJnjDn9x54pCYc,6096
18
18
  newrelic_lambda_cli/cli/subscriptions.py,sha256=bUupv5iv3mUkC8t31nnI3BahoKxDnUJ8Rgq4QHJcFNU,5890
19
19
  newrelic_lambda_cli/templates/import-template.yaml,sha256=0r1yeoqpnqtEMggWomALkPG10NiANPWWBqz03rChch8,3771
20
20
  newrelic_lambda_cli/templates/license-key-secret.yaml,sha256=ZldQaLXsyF1K2I4X_AsLdH7kRmLkPUYI3talmhqQyHg,1849
21
21
  newrelic_lambda_cli/templates/nr-lambda-integration-role.yaml,sha256=s7T73B_k-mAwgzJrD2xn8YGUNgn2E1V7Exifrl81ViU,2874
22
- newrelic_lambda_cli-0.9.4.dist-info/LICENSE,sha256=uuxDzQm0yfq_tNZX0tQYzsZUVRIF0jm3dBLZUojSYzI,11345
23
- newrelic_lambda_cli-0.9.4.dist-info/METADATA,sha256=K1KLdhwr6VrkOIyaGBIoJkNcwKV4QSkXj-fbRYx8EvI,26780
24
- newrelic_lambda_cli-0.9.4.dist-info/WHEEL,sha256=AHX6tWk3qWuce7vKLrj7lnulVHEdWoltgauo8bgCXgU,109
25
- newrelic_lambda_cli-0.9.4.dist-info/entry_points.txt,sha256=iks2k9Y4WNgIecsDzreIvMV9pGCjwwKTf33LKKvl2A8,65
26
- newrelic_lambda_cli-0.9.4.dist-info/top_level.txt,sha256=dxX2w58VgSUFiPD8C_lFuY-T2C1kjfeY0xi8iTh0r44,20
27
- newrelic_lambda_cli-0.9.4.dist-info/RECORD,,
22
+ newrelic_lambda_cli-0.9.6.dist-info/licenses/LICENSE,sha256=uuxDzQm0yfq_tNZX0tQYzsZUVRIF0jm3dBLZUojSYzI,11345
23
+ newrelic_lambda_cli-0.9.6.dist-info/METADATA,sha256=-Om63qSLIoGcrpi5y5nJWJ9cL2RyQfOpwF_lGsKxnE8,27333
24
+ newrelic_lambda_cli-0.9.6.dist-info/WHEEL,sha256=oSJJyWjO7Z2XSScFQUpXG1HL-N0sFMqqeKVVbZTPkWc,109
25
+ newrelic_lambda_cli-0.9.6.dist-info/entry_points.txt,sha256=iks2k9Y4WNgIecsDzreIvMV9pGCjwwKTf33LKKvl2A8,65
26
+ newrelic_lambda_cli-0.9.6.dist-info/top_level.txt,sha256=dxX2w58VgSUFiPD8C_lFuY-T2C1kjfeY0xi8iTh0r44,20
27
+ newrelic_lambda_cli-0.9.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (80.3.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any