'use strict' const awsRequest = require('@serverless/test/aws-request') const IotService = require('aws-sdk').Iot const IotDataService = require('aws-sdk').IotData async function resolveIotEndpoint() { return awsRequest(IotService, 'describeEndpoint', { endpointType: 'iot:Data-ATS', }).then((data) => { return data.endpointAddress }) } async function publishIotData(topic, message) { return resolveIotEndpoint().then((endpoint) => { const params = { topic, payload: Buffer.from(message), } return awsRequest( { client: IotDataService, params: { endpoint } }, 'publish', params, ) }) } module.exports = { resolveIotEndpoint, publishIotData, }