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.

875 lines (874 loc) 67.5 kB
import { __assign, __awaiter, __generator } from "tslib"; import { HttpRequest as __HttpRequest } from "@aws-sdk/protocol-http"; import { expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, extendedEncodeURIComponent as __extendedEncodeURIComponent, } from "@aws-sdk/smithy-client"; export var serializeAws_restJson1DeleteThingShadowCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () { var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, labelValue, query, body; return __generator(this, function (_c) { switch (_c.label) { case 0: return [4, context.endpoint()]; case 1: _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port, basePath = _a.path; headers = {}; resolvedPath = "" + ((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || "") + "/things/{thingName}/shadow"; if (input.thingName !== undefined) { labelValue = input.thingName; if (labelValue.length <= 0) { throw new Error("Empty value provided for input HTTP label: thingName."); } resolvedPath = resolvedPath.replace("{thingName}", __extendedEncodeURIComponent(labelValue)); } else { throw new Error("No value provided for input HTTP label: thingName."); } query = __assign({}, (input.shadowName !== undefined && { name: input.shadowName })); return [2, new __HttpRequest({ protocol: protocol, hostname: hostname, port: port, method: "DELETE", headers: headers, path: resolvedPath, query: query, body: body, })]; } }); }); }; export var serializeAws_restJson1GetRetainedMessageCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () { var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, labelValue, body; return __generator(this, function (_c) { switch (_c.label) { case 0: return [4, context.endpoint()]; case 1: _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port, basePath = _a.path; headers = {}; resolvedPath = "" + ((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || "") + "/retainedMessage/{topic}"; if (input.topic !== undefined) { labelValue = input.topic; if (labelValue.length <= 0) { throw new Error("Empty value provided for input HTTP label: topic."); } resolvedPath = resolvedPath.replace("{topic}", __extendedEncodeURIComponent(labelValue)); } else { throw new Error("No value provided for input HTTP label: topic."); } return [2, new __HttpRequest({ protocol: protocol, hostname: hostname, port: port, method: "GET", headers: headers, path: resolvedPath, body: body, })]; } }); }); }; export var serializeAws_restJson1GetThingShadowCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () { var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, labelValue, query, body; return __generator(this, function (_c) { switch (_c.label) { case 0: return [4, context.endpoint()]; case 1: _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port, basePath = _a.path; headers = {}; resolvedPath = "" + ((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || "") + "/things/{thingName}/shadow"; if (input.thingName !== undefined) { labelValue = input.thingName; if (labelValue.length <= 0) { throw new Error("Empty value provided for input HTTP label: thingName."); } resolvedPath = resolvedPath.replace("{thingName}", __extendedEncodeURIComponent(labelValue)); } else { throw new Error("No value provided for input HTTP label: thingName."); } query = __assign({}, (input.shadowName !== undefined && { name: input.shadowName })); return [2, new __HttpRequest({ protocol: protocol, hostname: hostname, port: port, method: "GET", headers: headers, path: resolvedPath, query: query, body: body, })]; } }); }); }; export var serializeAws_restJson1ListNamedShadowsForThingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () { var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, labelValue, query, body; return __generator(this, function (_c) { switch (_c.label) { case 0: return [4, context.endpoint()]; case 1: _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port, basePath = _a.path; headers = {}; resolvedPath = "" + ((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || "") + "/api/things/shadow/ListNamedShadowsForThing/{thingName}"; if (input.thingName !== undefined) { labelValue = input.thingName; if (labelValue.length <= 0) { throw new Error("Empty value provided for input HTTP label: thingName."); } resolvedPath = resolvedPath.replace("{thingName}", __extendedEncodeURIComponent(labelValue)); } else { throw new Error("No value provided for input HTTP label: thingName."); } query = __assign(__assign({}, (input.nextToken !== undefined && { nextToken: input.nextToken })), (input.pageSize !== undefined && { pageSize: input.pageSize.toString() })); return [2, new __HttpRequest({ protocol: protocol, hostname: hostname, port: port, method: "GET", headers: headers, path: resolvedPath, query: query, body: body, })]; } }); }); }; export var serializeAws_restJson1ListRetainedMessagesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () { var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, query, body; return __generator(this, function (_c) { switch (_c.label) { case 0: return [4, context.endpoint()]; case 1: _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port, basePath = _a.path; headers = {}; resolvedPath = "" + ((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || "") + "/retainedMessage"; query = __assign(__assign({}, (input.nextToken !== undefined && { nextToken: input.nextToken })), (input.maxResults !== undefined && { maxResults: input.maxResults.toString() })); return [2, new __HttpRequest({ protocol: protocol, hostname: hostname, port: port, method: "GET", headers: headers, path: resolvedPath, query: query, body: body, })]; } }); }); }; export var serializeAws_restJson1PublishCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () { var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, labelValue, query, body; return __generator(this, function (_c) { switch (_c.label) { case 0: return [4, context.endpoint()]; case 1: _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port, basePath = _a.path; headers = { "content-type": "application/octet-stream", }; resolvedPath = "" + ((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || "") + "/topics/{topic}"; if (input.topic !== undefined) { labelValue = input.topic; if (labelValue.length <= 0) { throw new Error("Empty value provided for input HTTP label: topic."); } resolvedPath = resolvedPath.replace("{topic}", __extendedEncodeURIComponent(labelValue)); } else { throw new Error("No value provided for input HTTP label: topic."); } query = __assign(__assign({}, (input.qos !== undefined && { qos: input.qos.toString() })), (input.retain !== undefined && { retain: input.retain.toString() })); if (input.payload !== undefined) { body = input.payload; } return [2, new __HttpRequest({ protocol: protocol, hostname: hostname, port: port, method: "POST", headers: headers, path: resolvedPath, query: query, body: body, })]; } }); }); }; export var serializeAws_restJson1UpdateThingShadowCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () { var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, labelValue, query, body; return __generator(this, function (_c) { switch (_c.label) { case 0: return [4, context.endpoint()]; case 1: _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port, basePath = _a.path; headers = { "content-type": "application/octet-stream", }; resolvedPath = "" + ((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || "") + "/things/{thingName}/shadow"; if (input.thingName !== undefined) { labelValue = input.thingName; if (labelValue.length <= 0) { throw new Error("Empty value provided for input HTTP label: thingName."); } resolvedPath = resolvedPath.replace("{thingName}", __extendedEncodeURIComponent(labelValue)); } else { throw new Error("No value provided for input HTTP label: thingName."); } query = __assign({}, (input.shadowName !== undefined && { name: input.shadowName })); if (input.payload !== undefined) { body = input.payload; } return [2, new __HttpRequest({ protocol: protocol, hostname: hostname, port: port, method: "POST", headers: headers, path: resolvedPath, query: query, body: body, })]; } }); }); }; export var deserializeAws_restJson1DeleteThingShadowCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var contents, data; return __generator(this, function (_a) { switch (_a.label) { case 0: if (output.statusCode !== 200 && output.statusCode >= 300) { return [2, deserializeAws_restJson1DeleteThingShadowCommandError(output, context)]; } contents = { $metadata: deserializeMetadata(output), payload: undefined, }; return [4, collectBody(output.body, context)]; case 1: data = _a.sent(); contents.payload = data; return [2, Promise.resolve(contents)]; } }); }); }; var deserializeAws_restJson1DeleteThingShadowCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message; var _l; return __generator(this, function (_m) { switch (_m.label) { case 0: _a = [__assign({}, output)]; _l = {}; return [4, parseBody(output.body, context)]; case 1: parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)])); errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); _b = errorCode; switch (_b) { case "InternalFailureException": return [3, 2]; case "com.amazonaws.iotdataplane#InternalFailureException": return [3, 2]; case "InvalidRequestException": return [3, 4]; case "com.amazonaws.iotdataplane#InvalidRequestException": return [3, 4]; case "MethodNotAllowedException": return [3, 6]; case "com.amazonaws.iotdataplane#MethodNotAllowedException": return [3, 6]; case "ResourceNotFoundException": return [3, 8]; case "com.amazonaws.iotdataplane#ResourceNotFoundException": return [3, 8]; case "ServiceUnavailableException": return [3, 10]; case "com.amazonaws.iotdataplane#ServiceUnavailableException": return [3, 10]; case "ThrottlingException": return [3, 12]; case "com.amazonaws.iotdataplane#ThrottlingException": return [3, 12]; case "UnauthorizedException": return [3, 14]; case "com.amazonaws.iotdataplane#UnauthorizedException": return [3, 14]; case "UnsupportedDocumentEncodingException": return [3, 16]; case "com.amazonaws.iotdataplane#UnsupportedDocumentEncodingException": return [3, 16]; } return [3, 18]; case 2: _c = [{}]; return [4, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)]; case 3: response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 4: _d = [{}]; return [4, deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)]; case 5: response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 6: _e = [{}]; return [4, deserializeAws_restJson1MethodNotAllowedExceptionResponse(parsedOutput, context)]; case 7: response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 8: _f = [{}]; return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)]; case 9: response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 10: _g = [{}]; return [4, deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)]; case 11: response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 12: _h = [{}]; return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)]; case 13: response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 14: _j = [{}]; return [4, deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)]; case 15: response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 16: _k = [{}]; return [4, deserializeAws_restJson1UnsupportedDocumentEncodingExceptionResponse(parsedOutput, context)]; case 17: response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 18: parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; response = __assign(__assign({}, parsedBody), { name: "" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) }); _m.label = 19; case 19: message = response.message || response.Message || errorCode; response.message = message; delete response.Message; return [2, Promise.reject(Object.assign(new Error(message), response))]; } }); }); }; export var deserializeAws_restJson1GetRetainedMessageCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var contents, data, _a, _b; return __generator(this, function (_c) { switch (_c.label) { case 0: if (output.statusCode !== 200 && output.statusCode >= 300) { return [2, deserializeAws_restJson1GetRetainedMessageCommandError(output, context)]; } contents = { $metadata: deserializeMetadata(output), lastModifiedTime: undefined, payload: undefined, qos: undefined, topic: undefined, }; _a = __expectNonNull; _b = __expectObject; return [4, parseBody(output.body, context)]; case 1: data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), "body"]); if (data.lastModifiedTime !== undefined && data.lastModifiedTime !== null) { contents.lastModifiedTime = __expectLong(data.lastModifiedTime); } if (data.payload !== undefined && data.payload !== null) { contents.payload = context.base64Decoder(data.payload); } if (data.qos !== undefined && data.qos !== null) { contents.qos = __expectInt32(data.qos); } if (data.topic !== undefined && data.topic !== null) { contents.topic = __expectString(data.topic); } return [2, Promise.resolve(contents)]; } }); }); }; var deserializeAws_restJson1GetRetainedMessageCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message; var _k; return __generator(this, function (_l) { switch (_l.label) { case 0: _a = [__assign({}, output)]; _k = {}; return [4, parseBody(output.body, context)]; case 1: parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)])); errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); _b = errorCode; switch (_b) { case "InternalFailureException": return [3, 2]; case "com.amazonaws.iotdataplane#InternalFailureException": return [3, 2]; case "InvalidRequestException": return [3, 4]; case "com.amazonaws.iotdataplane#InvalidRequestException": return [3, 4]; case "MethodNotAllowedException": return [3, 6]; case "com.amazonaws.iotdataplane#MethodNotAllowedException": return [3, 6]; case "ResourceNotFoundException": return [3, 8]; case "com.amazonaws.iotdataplane#ResourceNotFoundException": return [3, 8]; case "ServiceUnavailableException": return [3, 10]; case "com.amazonaws.iotdataplane#ServiceUnavailableException": return [3, 10]; case "ThrottlingException": return [3, 12]; case "com.amazonaws.iotdataplane#ThrottlingException": return [3, 12]; case "UnauthorizedException": return [3, 14]; case "com.amazonaws.iotdataplane#UnauthorizedException": return [3, 14]; } return [3, 16]; case 2: _c = [{}]; return [4, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)]; case 3: response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 4: _d = [{}]; return [4, deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)]; case 5: response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 6: _e = [{}]; return [4, deserializeAws_restJson1MethodNotAllowedExceptionResponse(parsedOutput, context)]; case 7: response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 8: _f = [{}]; return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)]; case 9: response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 10: _g = [{}]; return [4, deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)]; case 11: response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 12: _h = [{}]; return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)]; case 13: response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 14: _j = [{}]; return [4, deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)]; case 15: response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 16: parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; response = __assign(__assign({}, parsedBody), { name: "" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) }); _l.label = 17; case 17: message = response.message || response.Message || errorCode; response.message = message; delete response.Message; return [2, Promise.reject(Object.assign(new Error(message), response))]; } }); }); }; export var deserializeAws_restJson1GetThingShadowCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var contents, data; return __generator(this, function (_a) { switch (_a.label) { case 0: if (output.statusCode !== 200 && output.statusCode >= 300) { return [2, deserializeAws_restJson1GetThingShadowCommandError(output, context)]; } contents = { $metadata: deserializeMetadata(output), payload: undefined, }; return [4, collectBody(output.body, context)]; case 1: data = _a.sent(); contents.payload = data; return [2, Promise.resolve(contents)]; } }); }); }; var deserializeAws_restJson1GetThingShadowCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message; var _l; return __generator(this, function (_m) { switch (_m.label) { case 0: _a = [__assign({}, output)]; _l = {}; return [4, parseBody(output.body, context)]; case 1: parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)])); errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); _b = errorCode; switch (_b) { case "InternalFailureException": return [3, 2]; case "com.amazonaws.iotdataplane#InternalFailureException": return [3, 2]; case "InvalidRequestException": return [3, 4]; case "com.amazonaws.iotdataplane#InvalidRequestException": return [3, 4]; case "MethodNotAllowedException": return [3, 6]; case "com.amazonaws.iotdataplane#MethodNotAllowedException": return [3, 6]; case "ResourceNotFoundException": return [3, 8]; case "com.amazonaws.iotdataplane#ResourceNotFoundException": return [3, 8]; case "ServiceUnavailableException": return [3, 10]; case "com.amazonaws.iotdataplane#ServiceUnavailableException": return [3, 10]; case "ThrottlingException": return [3, 12]; case "com.amazonaws.iotdataplane#ThrottlingException": return [3, 12]; case "UnauthorizedException": return [3, 14]; case "com.amazonaws.iotdataplane#UnauthorizedException": return [3, 14]; case "UnsupportedDocumentEncodingException": return [3, 16]; case "com.amazonaws.iotdataplane#UnsupportedDocumentEncodingException": return [3, 16]; } return [3, 18]; case 2: _c = [{}]; return [4, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)]; case 3: response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 4: _d = [{}]; return [4, deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)]; case 5: response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 6: _e = [{}]; return [4, deserializeAws_restJson1MethodNotAllowedExceptionResponse(parsedOutput, context)]; case 7: response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 8: _f = [{}]; return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)]; case 9: response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 10: _g = [{}]; return [4, deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)]; case 11: response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 12: _h = [{}]; return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)]; case 13: response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 14: _j = [{}]; return [4, deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)]; case 15: response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 16: _k = [{}]; return [4, deserializeAws_restJson1UnsupportedDocumentEncodingExceptionResponse(parsedOutput, context)]; case 17: response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 19]; case 18: parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; response = __assign(__assign({}, parsedBody), { name: "" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) }); _m.label = 19; case 19: message = response.message || response.Message || errorCode; response.message = message; delete response.Message; return [2, Promise.reject(Object.assign(new Error(message), response))]; } }); }); }; export var deserializeAws_restJson1ListNamedShadowsForThingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var contents, data, _a, _b; return __generator(this, function (_c) { switch (_c.label) { case 0: if (output.statusCode !== 200 && output.statusCode >= 300) { return [2, deserializeAws_restJson1ListNamedShadowsForThingCommandError(output, context)]; } contents = { $metadata: deserializeMetadata(output), nextToken: undefined, results: undefined, timestamp: undefined, }; _a = __expectNonNull; _b = __expectObject; return [4, parseBody(output.body, context)]; case 1: data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), "body"]); if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = __expectString(data.nextToken); } if (data.results !== undefined && data.results !== null) { contents.results = deserializeAws_restJson1NamedShadowList(data.results, context); } if (data.timestamp !== undefined && data.timestamp !== null) { contents.timestamp = __expectLong(data.timestamp); } return [2, Promise.resolve(contents)]; } }); }); }; var deserializeAws_restJson1ListNamedShadowsForThingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message; var _k; return __generator(this, function (_l) { switch (_l.label) { case 0: _a = [__assign({}, output)]; _k = {}; return [4, parseBody(output.body, context)]; case 1: parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)])); errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); _b = errorCode; switch (_b) { case "InternalFailureException": return [3, 2]; case "com.amazonaws.iotdataplane#InternalFailureException": return [3, 2]; case "InvalidRequestException": return [3, 4]; case "com.amazonaws.iotdataplane#InvalidRequestException": return [3, 4]; case "MethodNotAllowedException": return [3, 6]; case "com.amazonaws.iotdataplane#MethodNotAllowedException": return [3, 6]; case "ResourceNotFoundException": return [3, 8]; case "com.amazonaws.iotdataplane#ResourceNotFoundException": return [3, 8]; case "ServiceUnavailableException": return [3, 10]; case "com.amazonaws.iotdataplane#ServiceUnavailableException": return [3, 10]; case "ThrottlingException": return [3, 12]; case "com.amazonaws.iotdataplane#ThrottlingException": return [3, 12]; case "UnauthorizedException": return [3, 14]; case "com.amazonaws.iotdataplane#UnauthorizedException": return [3, 14]; } return [3, 16]; case 2: _c = [{}]; return [4, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)]; case 3: response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 4: _d = [{}]; return [4, deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)]; case 5: response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 6: _e = [{}]; return [4, deserializeAws_restJson1MethodNotAllowedExceptionResponse(parsedOutput, context)]; case 7: response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 8: _f = [{}]; return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)]; case 9: response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 10: _g = [{}]; return [4, deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)]; case 11: response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 12: _h = [{}]; return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)]; case 13: response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 14: _j = [{}]; return [4, deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)]; case 15: response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 17]; case 16: parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; response = __assign(__assign({}, parsedBody), { name: "" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) }); _l.label = 17; case 17: message = response.message || response.Message || errorCode; response.message = message; delete response.Message; return [2, Promise.reject(Object.assign(new Error(message), response))]; } }); }); }; export var deserializeAws_restJson1ListRetainedMessagesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var contents, data, _a, _b; return __generator(this, function (_c) { switch (_c.label) { case 0: if (output.statusCode !== 200 && output.statusCode >= 300) { return [2, deserializeAws_restJson1ListRetainedMessagesCommandError(output, context)]; } contents = { $metadata: deserializeMetadata(output), nextToken: undefined, retainedTopics: undefined, }; _a = __expectNonNull; _b = __expectObject; return [4, parseBody(output.body, context)]; case 1: data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), "body"]); if (data.nextToken !== undefined && data.nextToken !== null) { contents.nextToken = __expectString(data.nextToken); } if (data.retainedTopics !== undefined && data.retainedTopics !== null) { contents.retainedTopics = deserializeAws_restJson1RetainedMessageList(data.retainedTopics, context); } return [2, Promise.resolve(contents)]; } }); }); }; var deserializeAws_restJson1ListRetainedMessagesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message; var _j; return __generator(this, function (_k) { switch (_k.label) { case 0: _a = [__assign({}, output)]; _j = {}; return [4, parseBody(output.body, context)]; case 1: parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)])); errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); _b = errorCode; switch (_b) { case "InternalFailureException": return [3, 2]; case "com.amazonaws.iotdataplane#InternalFailureException": return [3, 2]; case "InvalidRequestException": return [3, 4]; case "com.amazonaws.iotdataplane#InvalidRequestException": return [3, 4]; case "MethodNotAllowedException": return [3, 6]; case "com.amazonaws.iotdataplane#MethodNotAllowedException": return [3, 6]; case "ServiceUnavailableException": return [3, 8]; case "com.amazonaws.iotdataplane#ServiceUnavailableException": return [3, 8]; case "ThrottlingException": return [3, 10]; case "com.amazonaws.iotdataplane#ThrottlingException": return [3, 10]; case "UnauthorizedException": return [3, 12]; case "com.amazonaws.iotdataplane#UnauthorizedException": return [3, 12]; } return [3, 14]; case 2: _c = [{}]; return [4, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)]; case 3: response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 15]; case 4: _d = [{}]; return [4, deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)]; case 5: response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 15]; case 6: _e = [{}]; return [4, deserializeAws_restJson1MethodNotAllowedExceptionResponse(parsedOutput, context)]; case 7: response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 15]; case 8: _f = [{}]; return [4, deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)]; case 9: response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 15]; case 10: _g = [{}]; return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)]; case 11: response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 15]; case 12: _h = [{}]; return [4, deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)]; case 13: response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 15]; case 14: parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; response = __assign(__assign({}, parsedBody), { name: "" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) }); _k.label = 15; case 15: message = response.message || response.Message || errorCode; response.message = message; delete response.Message; return [2, Promise.reject(Object.assign(new Error(message), response))]; } }); }); }; export var deserializeAws_restJson1PublishCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var contents; return __generator(this, function (_a) { switch (_a.label) { case 0: if (output.statusCode !== 200 && output.statusCode >= 300) { return [2, deserializeAws_restJson1PublishCommandError(output, context)]; } contents = { $metadata: deserializeMetadata(output), }; return [4, collectBody(output.body, context)]; case 1: _a.sent(); return [2, Promise.resolve(contents)]; } }); }); }; var deserializeAws_restJson1PublishCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () { var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, parsedBody, message; var _g; return __generator(this, function (_h) { switch (_h.label) { case 0: _a = [__assign({}, output)]; _g = {}; return [4, parseBody(output.body, context)]; case 1: parsedOutput = __assign.apply(void 0, _a.concat([(_g.body = _h.sent(), _g)])); errorCode = "UnknownError"; errorCode = loadRestJsonErrorCode(output, parsedOutput.body); _b = errorCode; switch (_b) { case "InternalFailureException": return [3, 2]; case "com.amazonaws.iotdataplane#InternalFailureException": return [3, 2]; case "InvalidRequestException": return [3, 4]; case "com.amazonaws.iotdataplane#InvalidRequestException": return [3, 4]; case "MethodNotAllowedException": return [3, 6]; case "com.amazonaws.iotdataplane#MethodNotAllowedException": return [3, 6]; case "UnauthorizedException": return [3, 8]; case "com.amazonaws.iotdataplane#UnauthorizedException": return [3, 8]; } return [3, 10]; case 2: _c = [{}]; return [4, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)]; case 3: response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 11]; case 4: _d = [{}]; return [4, deserializeAws_restJson1InvalidRequestExceptionResponse(parsedOutput, context)]; case 5: response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 11]; case 6: _e = [{}]; return [4, deserializeAws_restJson1MethodNotAllowedExceptionResponse(parsedOutput, context)]; case 7: response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 11]; case 8: _f = [{}]; return [4, deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)]; case 9: response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]); return [3, 11];