UNPKG

@softchef/cdk-iot-device-management

Version:

IoT device management is composed of things, thing types, thing groups, jobs, files API services. The constructs can be used independently, that are based on full-managed service to create an API Gateway & Lambda function.

25 lines (24 loc) 1.15 kB
import { __read } from "tslib"; export var validate = function (str) { return typeof str === "string" && str.indexOf("arn:") === 0 && str.split(":").length >= 6; }; export var parse = function (arn) { var segments = arn.split(":"); if (segments.length < 6 || segments[0] !== "arn") throw new Error("Malformed ARN"); var _a = __read(segments), partition = _a[1], service = _a[2], region = _a[3], accountId = _a[4], resource = _a.slice(5); return { partition: partition, service: service, region: region, accountId: accountId, resource: resource.join(":"), }; }; export var build = function (arnObject) { var _a = arnObject.partition, partition = _a === void 0 ? "aws" : _a, service = arnObject.service, region = arnObject.region, accountId = arnObject.accountId, resource = arnObject.resource; if ([service, region, accountId, resource].some(function (segment) { return typeof segment !== "string"; })) { throw new Error("Input ARN object is invalid"); } return "arn:" + partition + ":" + service + ":" + region + ":" + accountId + ":" + resource; };