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.

40 lines (39 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.waitUntilTableExists = exports.waitForTableExists = void 0; const util_waiter_1 = require("@aws-sdk/util-waiter"); const DescribeTableCommand_1 = require("../commands/DescribeTableCommand"); const checkState = async (client, input) => { let reason; try { const result = await client.send(new DescribeTableCommand_1.DescribeTableCommand(input)); reason = result; try { const returnComparator = () => { return result.Table.TableStatus; }; if (returnComparator() === "ACTIVE") { return { state: util_waiter_1.WaiterState.SUCCESS, reason }; } } catch (e) { } } catch (exception) { reason = exception; if (exception.name && exception.name == "ResourceNotFoundException") { return { state: util_waiter_1.WaiterState.RETRY, reason }; } } return { state: util_waiter_1.WaiterState.RETRY, reason }; }; const waitForTableExists = async (params, input) => { const serviceDefaults = { minDelay: 20, maxDelay: 120 }; return util_waiter_1.createWaiter({ ...serviceDefaults, ...params }, input, checkState); }; exports.waitForTableExists = waitForTableExists; const waitUntilTableExists = async (params, input) => { const serviceDefaults = { minDelay: 20, maxDelay: 120 }; const result = await util_waiter_1.createWaiter({ ...serviceDefaults, ...params }, input, checkState); return util_waiter_1.checkExceptions(result); }; exports.waitUntilTableExists = waitUntilTableExists;