aws-iot-device-sdk-v2
Version:
NodeJS API for the AWS IoT service
365 lines • 16.9 kB
JavaScript
;
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*
* This file is generated
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeServiceModel = void 0;
const util_utf8_browser_1 = require("@aws-sdk/util-utf8-browser");
const model_validation_utils = __importStar(require("../mqtt_request_response_utils"));
const uuid_1 = require("uuid");
function normalizeDescribeJobExecutionRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
if (value.executionNumber) {
normalizedValue.executionNumber = value.executionNumber;
}
if (value.includeJobDocument) {
normalizedValue.includeJobDocument = value.includeJobDocument;
}
return normalizedValue;
}
function buildDescribeJobExecutionRequestPayload(request) {
let value = normalizeDescribeJobExecutionRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToDescribeJobExecutionRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function normalizeGetPendingJobExecutionsRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
return normalizedValue;
}
function buildGetPendingJobExecutionsRequestPayload(request) {
let value = normalizeGetPendingJobExecutionsRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToGetPendingJobExecutionsRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function normalizeStartNextPendingJobExecutionRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
if (value.stepTimeoutInMinutes) {
normalizedValue.stepTimeoutInMinutes = value.stepTimeoutInMinutes;
}
if (value.statusDetails) {
normalizedValue.statusDetails = value.statusDetails;
}
return normalizedValue;
}
function buildStartNextPendingJobExecutionRequestPayload(request) {
let value = normalizeStartNextPendingJobExecutionRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToStartNextPendingJobExecutionRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function normalizeUpdateJobExecutionRequest(value) {
let normalizedValue = {};
if (value.status) {
normalizedValue.status = value.status;
}
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
if (value.statusDetails) {
normalizedValue.statusDetails = value.statusDetails;
}
if (value.expectedVersion) {
normalizedValue.expectedVersion = value.expectedVersion;
}
if (value.executionNumber) {
normalizedValue.executionNumber = value.executionNumber;
}
if (value.includeJobExecutionState) {
normalizedValue.includeJobExecutionState = value.includeJobExecutionState;
}
if (value.includeJobDocument) {
normalizedValue.includeJobDocument = value.includeJobDocument;
}
if (value.stepTimeoutInMinutes) {
normalizedValue.stepTimeoutInMinutes = value.stepTimeoutInMinutes;
}
return normalizedValue;
}
function buildUpdateJobExecutionRequestPayload(request) {
let value = normalizeUpdateJobExecutionRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToUpdateJobExecutionRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function buildDescribeJobExecutionSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/jobs/${typedRequest.jobId}/get/+`);
}
function buildDescribeJobExecutionPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/jobs/${typedRequest.jobId}/get`;
}
function buildDescribeJobExecutionResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/jobs/${typedRequest.jobId}/get/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeDescribeJobExecutionResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/jobs/${typedRequest.jobId}/get/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function buildGetPendingJobExecutionsSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/jobs/get/+`);
}
function buildGetPendingJobExecutionsPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/jobs/get`;
}
function buildGetPendingJobExecutionsResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/jobs/get/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeGetPendingJobExecutionsResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/jobs/get/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function buildStartNextPendingJobExecutionSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/jobs/start-next/+`);
}
function buildStartNextPendingJobExecutionPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/jobs/start-next`;
}
function buildStartNextPendingJobExecutionResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/jobs/start-next/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeStartNextJobExecutionResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/jobs/start-next/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function buildUpdateJobExecutionSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/jobs/${typedRequest.jobId}/update/+`);
}
function buildUpdateJobExecutionPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/jobs/${typedRequest.jobId}/update`;
}
function buildUpdateJobExecutionResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/jobs/${typedRequest.jobId}/update/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeUpdateJobExecutionResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/jobs/${typedRequest.jobId}/update/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function deserializeDescribeJobExecutionResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeGetPendingJobExecutionsResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeStartNextJobExecutionResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeUpdateJobExecutionResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeV2ErrorResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function createRequestResponseOperationServiceModelMap() {
return new Map([
["describeJobExecution", {
inputShapeName: "DescribeJobExecutionRequest",
payloadTransformer: buildDescribeJobExecutionRequestPayload,
subscriptionGenerator: buildDescribeJobExecutionSubscriptions,
responsePathGenerator: buildDescribeJobExecutionResponsePaths,
publishTopicGenerator: buildDescribeJobExecutionPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToDescribeJobExecutionRequest,
}],
["getPendingJobExecutions", {
inputShapeName: "GetPendingJobExecutionsRequest",
payloadTransformer: buildGetPendingJobExecutionsRequestPayload,
subscriptionGenerator: buildGetPendingJobExecutionsSubscriptions,
responsePathGenerator: buildGetPendingJobExecutionsResponsePaths,
publishTopicGenerator: buildGetPendingJobExecutionsPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToGetPendingJobExecutionsRequest,
}],
["startNextPendingJobExecution", {
inputShapeName: "StartNextPendingJobExecutionRequest",
payloadTransformer: buildStartNextPendingJobExecutionRequestPayload,
subscriptionGenerator: buildStartNextPendingJobExecutionSubscriptions,
responsePathGenerator: buildStartNextPendingJobExecutionResponsePaths,
publishTopicGenerator: buildStartNextPendingJobExecutionPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToStartNextPendingJobExecutionRequest,
}],
["updateJobExecution", {
inputShapeName: "UpdateJobExecutionRequest",
payloadTransformer: buildUpdateJobExecutionRequestPayload,
subscriptionGenerator: buildUpdateJobExecutionSubscriptions,
responsePathGenerator: buildUpdateJobExecutionResponsePaths,
publishTopicGenerator: buildUpdateJobExecutionPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToUpdateJobExecutionRequest,
}],
]);
}
function buildCreateJobExecutionsChangedStreamTopicFilter(config) {
const typedConfig = config;
return `$aws/things/${typedConfig.thingName}/jobs/notify`;
}
function buildCreateNextJobExecutionChangedStreamTopicFilter(config) {
const typedConfig = config;
return `$aws/things/${typedConfig.thingName}/jobs/notify-next`;
}
function deserializeJobExecutionsChangedEventPayload(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeNextJobExecutionChangedEventPayload(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function createStreamingOperationServiceModelMap() {
return new Map([
["createJobExecutionsChangedStream", {
inputShapeName: "JobExecutionsChangedSubscriptionRequest",
subscriptionGenerator: buildCreateJobExecutionsChangedStreamTopicFilter,
deserializer: deserializeJobExecutionsChangedEventPayload,
}],
["createNextJobExecutionChangedStream", {
inputShapeName: "NextJobExecutionChangedSubscriptionRequest",
subscriptionGenerator: buildCreateNextJobExecutionChangedStreamTopicFilter,
deserializer: deserializeNextJobExecutionChangedEventPayload,
}],
]);
}
function validateDescribeJobExecutionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsTopicSegment(value.jobId, 'jobId');
model_validation_utils.validateValueAsOptionalInteger(value.executionNumber, 'executionNumber');
model_validation_utils.validateValueAsOptionalBoolean(value.includeJobDocument, 'includeJobDocument');
}
function validateGetPendingJobExecutionsRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
}
function validateJobExecutionsChangedSubscriptionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
}
function validateNextJobExecutionChangedSubscriptionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
}
function validateStartNextPendingJobExecutionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsOptionalInteger(value.stepTimeoutInMinutes, 'stepTimeoutInMinutes');
model_validation_utils.validateValueAsOptionalMap(value.statusDetails, model_validation_utils.validateValueAsString, model_validation_utils.validateValueAsString, 'statusDetails');
}
function validateUpdateJobExecutionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsTopicSegment(value.jobId, 'jobId');
model_validation_utils.validateValueAsString(value.status, 'status');
model_validation_utils.validateValueAsOptionalMap(value.statusDetails, model_validation_utils.validateValueAsString, model_validation_utils.validateValueAsString, 'statusDetails');
model_validation_utils.validateValueAsOptionalInteger(value.expectedVersion, 'expectedVersion');
model_validation_utils.validateValueAsOptionalInteger(value.executionNumber, 'executionNumber');
model_validation_utils.validateValueAsOptionalBoolean(value.includeJobExecutionState, 'includeJobExecutionState');
model_validation_utils.validateValueAsOptionalBoolean(value.includeJobDocument, 'includeJobDocument');
model_validation_utils.validateValueAsOptionalInteger(value.stepTimeoutInMinutes, 'stepTimeoutInMinutes');
}
function createValidatorMap() {
return new Map([
["JobExecutionsChangedSubscriptionRequest", validateJobExecutionsChangedSubscriptionRequest],
["NextJobExecutionChangedSubscriptionRequest", validateNextJobExecutionChangedSubscriptionRequest],
["DescribeJobExecutionRequest", validateDescribeJobExecutionRequest],
["GetPendingJobExecutionsRequest", validateGetPendingJobExecutionsRequest],
["StartNextPendingJobExecutionRequest", validateStartNextPendingJobExecutionRequest],
["UpdateJobExecutionRequest", validateUpdateJobExecutionRequest],
]);
}
function makeServiceModel() {
let model = {
requestResponseOperations: createRequestResponseOperationServiceModelMap(),
streamingOperations: createStreamingOperationServiceModelMap(),
shapeValidators: createValidatorMap()
};
return model;
}
exports.makeServiceModel = makeServiceModel;
//# sourceMappingURL=v2utils.js.map