UNPKG

aws-iot-device-sdk-v2

Version:
365 lines 16.9 kB
"use strict"; /* * 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