UNPKG

@aws/aws-distro-opentelemetry-node-autoinstrumentation

Version:

This package provides Amazon Web Services distribution of the OpenTelemetry Node Instrumentation, which allows for auto-instrumentation of NodeJS applications.

40 lines 1.7 kB
"use strict"; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); exports.RegionalResourceArnParser = void 0; const utils_1 = require("./utils"); class RegionalResourceArnParser { /** Parses ARN with formats: * arn:partition:service:region:account-id:resource-type/resource-id or * arn:partition:service:region:account-id:resource-type:resource-id */ static parseArn(arn) { if (typeof arn !== 'string') return undefined; const parts = arn.split(':'); return parts.length >= 6 && parts[0] === 'arn' && (0, utils_1.isAccountId)(parts[4]) ? parts : undefined; } static getAccountId(arn) { var _a; return (_a = this.parseArn(arn)) === null || _a === void 0 ? void 0 : _a[4]; } static getRegion(arn) { var _a; return (_a = this.parseArn(arn)) === null || _a === void 0 ? void 0 : _a[3]; } static extractDynamoDbTableNameFromArn(arn) { var _a; return (_a = this.extractResourceNameFromArn(arn)) === null || _a === void 0 ? void 0 : _a.replace('table/', ''); } static extractKinesisStreamNameFromArn(arn) { var _a; return (_a = this.extractResourceNameFromArn(arn)) === null || _a === void 0 ? void 0 : _a.replace('stream/', ''); } static extractResourceNameFromArn(arn) { const parts = this.parseArn(arn); return parts === null || parts === void 0 ? void 0 : parts[parts.length - 1]; } } exports.RegionalResourceArnParser = RegionalResourceArnParser; //# sourceMappingURL=regional-resource-arn-parser.js.map