aws / aws-connected-device-framework

Apache License 2.0
60 stars 38 forks source link

Documentation Issue #95

Open vizzaamazon opened 1 year ago

vizzaamazon commented 1 year ago

Aws Connected Device Framework Affected Module(s): Command And Control

I'm submitting a ...

Description: The examples and the swagger definition for POST /commands state that expectReply is optional and will default to false, however if we do not include it in the request it will error at commands.assembler toItem Current behavior: When not including expectReply in the body of the request the code will fail to create a new command. Expected behavior: When not including expectReply in the body of the request the code will successfully create a new command. Steps to reproduce:

  1. Deploy Command And Control
  2. Make the request for the POST /commands in the first example of the readme

Additional Information:

timestamp,message
1675118741733,"INIT_START Runtime Version: nodejs:16.v11    Runtime Version ARN: arn:aws:lambda:us-east-1::runtime:ee071345fbee0f4751fcbcd47a5784052d8f7d4256ca7f31e6056b294cee515c
"
1675118741900,"2023-01-30T22:45:41.900Z undefined   INFO    Module config-inject loaded config:
"
1675118741902,"2023-01-30T22:45:41.902Z undefined   INFO    {
  AWS_LAMBDA_FUNCTION_VERSION: '1',
  AWS_ACCOUNTID: '029488977242',
  AWS_S3_BUCKET: 'cdf-learning-bucket',
  AWS_S3_ROLE_ARN: 'arn:aws:iam::029488977242:role/cdf-commandandcontrol-test-LambdaExecutionRole-4QY59K2ZTZ96',
  AWS_SESSION_TOKEN: 'IQoJb3JpZ2luX2VjEB8aCXVzLWVhc3QtMSJGMEQCICMXHepz8SmH5WqPR7jjY/V+LjOKrGzU58jatyJXkIXAAiArjWTvYAaXgswa20gsApJMei07MKRK8x+vwrRzhQMOIiqcAwiY//////////8BEAAaDDAyOTQ4ODk3NzI0MiIMJ5YTOOeMFMtt8qpEKvACMol1dZzOsK+WecBgACivz7z8MuFvaqmeW4YkCLbjmFb4NyC676ZrC437It0e55BEWGtCmkmUWu2qchviRMzEB9u2HtZ2xTY+jzr5TLeD1acQiWS6TJuYqmXPjHUgTTc6Tc2CpAllsAAX9zUqCBcHn7gIzl4T8FTXbOAYcmT6DZWkrWNWIduL9tCgZ6HRkC2H5ohXUSpP4hKPxsKOUCKlZXaCnHeWi0tr0rKwrS0ZbL29Z8e9f04Z1lrnTdCW3HiiJtacD0gsHVkD1cAPVXLCXE4YgtimJPZM7J3DimLYb9YB8TUfAzg+9bkaPxoIUaN2z0X0wByl/iJgodCOclJlYG9ErIyoOsecqgRAXGrkaYGpx1BNxt/CU3HA5CN3dUQqQkE7EdPwgLF1YGPFFdatVAs8FdfbD5EabBVo+FJY8RJM0aXq07NgmQdpCIyC3f1V734/pI9Wh9rfXncb8Ycq06qMluMhz6ejWIOfhbbvE5gwlZHhngY6ngHYmC7Yan+TsFUCnP8glsnsNIPek0M0AEeKpOar7JCVCdsNiDJl3tD5KOl9kCoNNsg/NlYDoZhhDFwS7w43IBfABIaS5B+vTJF832E9JSSonce0EmH2VyRyF447faz8yiL4uyCyTp8C3FlXOai1DsP62LJVpv1VsorMXgBtePg1w281LI68tkTCNZFAT+hcGltSS4O2W5kaDhWL0J0ojQ==',
  APP_CONFIG: '',
  LD_LIBRARY_PATH: '/var/lang/lib:/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/lib',
  LAMBDA_TASK_ROOT: '/var/task',
  AWS_LAMBDA_LOG_GROUP_NAME: '/aws/lambda/cdf-commandandcontrol-rest-test',
  AWS_LAMBDA_LOG_STREAM_NAME: '2023/01/30/[1]d828a8de92584728a1cf745e80cfbaaa',
  AWS_LAMBDA_RUNTIME_API: '127.0.0.1:9001',
  AWS_EXECUTION_ENV: 'AWS_Lambda_nodejs16.x',
  APP_CONFIG_DIR: 'packages/services/command-and-control/dist/config',
  AWS_IOT_ENDPOINT: 'a1c3ag58fpsoi8-ats.iot.us-east-1.amazonaws.com',
  AWS_LAMBDA_FUNCTION_NAME: 'cdf-commandandcontrol-rest-test',
  AWS_XRAY_DAEMON_ADDRESS: '169.254.79.129:2000',
  PATH: '/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin',
  AWS_DEFAULT_REGION: 'us-east-1',
  PWD: '/var/task',
  AWS_SECRET_ACCESS_KEY: '*',
  LAMBDA_RUNTIME_DIR: '/var/runtime',
  LANG: 'en_US.UTF-8',
  AWS_LAMBDA_INITIALIZATION_TYPE: 'on-demand',
  NODE_PATH: '/opt/nodejs/node16/node_modules:/opt/nodejs/node_modules:/var/runtime/node_modules:/var/runtime:/var/task',
  AWS_REGION: 'us-east-1',
  AWS_SQS_QUEUES_MESSAGES_QUEUEURL: 'https://sqs.us-east-1.amazonaws.com/029488977242/cdf-commandandcontrol-test-MessagesQueue-LAG9hVTysU8T',
  TZ: ':UTC',
  AWS_SQS_QUEUES_COMMANDS_QUEUEURL: 'https://sqs.us-east-1.amazonaws.com/029488977242/cdf-commandandcontrol-test-CommandsQueue-fkoQXR6ZrV19',
  AWS_ACCESS_KEY_ID: '*****',
  SHLVL: '0',
  _AWS_XRAY_DAEMON_ADDRESS: '169.254.79.129',
  _AWS_XRAY_DAEMON_PORT: '2000',
  AWS_XRAY_CONTEXT_MISSING: 'LOG_ERROR',
  _HANDLER: 'packages/services/command-and-control/dist/lambda_rest_handler.handler',
  AWS_DYNAMODB_TABLE: 'cdf-commandandcontrol-test',
  AWS_LAMBDA_FUNCTION_MEMORY_SIZE: '512',
  NODE_EXTRA_CA_CERTS: '/etc/pki/tls/certs/ca-bundle.crt',
  AWS_IOT_SHADOW_NAME: 'cac',
  AWS_JOBS_MAXTARGETS: '100',
  AWS_SQS_QUEUES_MESSAGES_TOPIC_BATCHSIZE: '100',
  AWS_SQS_QUEUES_MESSAGES_SHADOW_BATCHSIZE: '100',
  AWS_SQS_QUEUES_MESSAGES_JOBS_BATCHSIZE: '5000',
  AWS_SQS_QUEUES_COMMANDS_BATCHSIZE: '100',
  PROMISES_CONCURRENCY: '5',
  DELIVERYMETHOD_TOPIC_MQTTTTOPIC: 'cmd/cdf/cac/${thingName}',
  PROVISIONING_TEMPLATES_ADDTHINGTOTHINGGROUP: 'add_thing_to_group',
  CORS_ORIGIN: '*',
  CORS_EXPOSED_HEADERS: 'content-type,location',
  CUSTOMDOMAIN_BASEPATH: '',
  SUPPORTED_API_VERSIONS: 'application/vnd.aws-cdf-v1.0+json',
  LOGGING_LEVEL: 'info',
  ASSETLIBRARY_MODE: 'lambda',
  PORT: '3022'
}
"
1675118742299,"2023-01-30T22:45:42.299Z undefined   INFO    Module assetlibrary-client loaded config: {
  ""AWS_LAMBDA_FUNCTION_VERSION"": ""1"",
  ""AWS_ACCOUNTID"": ""029488977242"",
  ""AWS_S3_BUCKET"": ""cdf-learning-bucket"",
  ""AWS_S3_ROLE_ARN"": ""arn:aws:iam::029488977242:role/cdf-commandandcontrol-test-LambdaExecutionRole-4QY59K2ZTZ96"",
  ""AWS_SESSION_TOKEN"": ""IQoJb3JpZ2luX2VjEB8aCXVzLWVhc3QtMSJGMEQCICMXHepz8SmH5WqPR7jjY/V+LjOKrGzU58jatyJXkIXAAiArjWTvYAaXgswa20gsApJMei07MKRK8x+vwrRzhQMOIiqcAwiY//////////8BEAAaDDAyOTQ4ODk3NzI0MiIMJ5YTOOeMFMtt8qpEKvACMol1dZzOsK+WecBgACivz7z8MuFvaqmeW4YkCLbjmFb4NyC676ZrC437It0e55BEWGtCmkmUWu2qchviRMzEB9u2HtZ2xTY+jzr5TLeD1acQiWS6TJuYqmXPjHUgTTc6Tc2CpAllsAAX9zUqCBcHn7gIzl4T8FTXbOAYcmT6DZWkrWNWIduL9tCgZ6HRkC2H5ohXUSpP4hKPxsKOUCKlZXaCnHeWi0tr0rKwrS0ZbL29Z8e9f04Z1lrnTdCW3HiiJtacD0gsHVkD1cAPVXLCXE4YgtimJPZM7J3DimLYb9YB8TUfAzg+9bkaPxoIUaN2z0X0wByl/iJgodCOclJlYG9ErIyoOsecqgRAXGrkaYGpx1BNxt/CU3HA5CN3dUQqQkE7EdPwgLF1YGPFFdatVAs8FdfbD5EabBVo+FJY8RJM0aXq07NgmQdpCIyC3f1V734/pI9Wh9rfXncb8Ycq06qMluMhz6ejWIOfhbbvE5gwlZHhngY6ngHYmC7Yan+TsFUCnP8glsnsNIPek0M0AEeKpOar7JCVCdsNiDJl3tD5KOl9kCoNNsg/NlYDoZhhDFwS7w43IBfABIaS5B+vTJF832E9JSSonce0EmH2VyRyF447faz8yiL4uyCyTp8C3FlXOai1DsP62LJVpv1VsorMXgBtePg1w281LI68tkTCNZFAT+hcGltSS4O2W5kaDhWL0J0ojQ=="",
  ""APP_CONFIG"": """",
  ""LD_LIBRARY_PATH"": ""/var/lang/lib:/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/lib"",
  ""LAMBDA_TASK_ROOT"": ""/var/task"",
  ""AWS_LAMBDA_LOG_GROUP_NAME"": ""/aws/lambda/cdf-commandandcontrol-rest-test"",
  ""AWS_LAMBDA_LOG_STREAM_NAME"": ""2023/01/30/[1]d828a8de92584728a1cf745e80cfbaaa"",
  ""AWS_LAMBDA_RUNTIME_API"": ""127.0.0.1:9001"",
  ""AWS_EXECUTION_ENV"": ""AWS_Lambda_nodejs16.x"",
  ""APP_CONFIG_DIR"": ""packages/services/command-and-control/dist/config"",
  ""AWS_IOT_ENDPOINT"": ""a1c3ag58fpsoi8-ats.iot.us-east-1.amazonaws.com"",
  ""AWS_LAMBDA_FUNCTION_NAME"": ""cdf-commandandcontrol-rest-test"",
  ""AWS_XRAY_DAEMON_ADDRESS"": ""169.254.79.129:2000"",
  ""PATH"": ""/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin"",
  ""AWS_DEFAULT_REGION"": ""us-east-1"",
  ""PWD"": ""/var/task"",
  ""AWS_SECRET_ACCESS_KEY"": ""*"",
  ""LAMBDA_RUNTIME_DIR"": ""/var/runtime"",
  ""LANG"": ""en_US.UTF-8"",
  ""AWS_LAMBDA_INITIALIZATION_TYPE"": ""on-demand"",
  ""NODE_PATH"": ""/opt/nodejs/node16/node_modules:/opt/nodejs/node_modules:/var/runtime/node_modules:/var/runtime:/var/task"",
  ""AWS_REGION"": ""us-east-1"",
  ""AWS_SQS_QUEUES_MESSAGES_QUEUEURL"": ""https://sqs.us-east-1.amazonaws.com/029488977242/cdf-commandandcontrol-test-MessagesQueue-LAG9hVTysU8T"",
  ""TZ"": "":UTC"",
  ""AWS_SQS_QUEUES_COMMANDS_QUEUEURL"": ""https://sqs.us-east-1.amazonaws.com/029488977242/cdf-commandandcontrol-test-CommandsQueue-fkoQXR6ZrV19"",
  ""AWS_ACCESS_KEY_ID"": ""*"",
  ""SHLVL"": ""0"",
  ""_AWS_XRAY_DAEMON_ADDRESS"": ""169.254.79.129"",
  ""_AWS_XRAY_DAEMON_PORT"": ""2000"",
  ""AWS_XRAY_CONTEXT_MISSING"": ""LOG_ERROR"",
  ""_HANDLER"": ""packages/services/command-and-control/dist/lambda_rest_handler.handler"",
  ""AWS_DYNAMODB_TABLE"": ""cdf-commandandcontrol-test"",
  ""AWS_LAMBDA_FUNCTION_MEMORY_SIZE"": ""512"",
  ""NODE_EXTRA_CA_CERTS"": ""/etc/pki/tls/certs/ca-bundle.crt"",
  ""AWS_IOT_SHADOW_NAME"": ""cac"",
  ""AWS_JOBS_MAXTARGETS"": ""100"",
  ""AWS_SQS_QUEUES_MESSAGES_TOPIC_BATCHSIZE"": ""100"",
  ""AWS_SQS_QUEUES_MESSAGES_SHADOW_BATCHSIZE"": ""100"",
  ""AWS_SQS_QUEUES_MESSAGES_JOBS_BATCHSIZE"": ""5000"",
  ""AWS_SQS_QUEUES_COMMANDS_BATCHSIZE"": ""100"",
  ""PROMISES_CONCURRENCY"": ""5"",
  ""DELIVERYMETHOD_TOPIC_MQTTTTOPIC"": ""cmd/cdf/cac/${thingName}"",
  ""PROVISIONING_TEMPLATES_ADDTHINGTOTHINGGROUP"": ""add_thing_to_group"",
  ""CORS_ORIGIN"": ""*"",
  ""CORS_EXPOSED_HEADERS"": ""content-type,location"",
  ""CUSTOMDOMAIN_BASEPATH"": """",
  ""SUPPORTED_API_VERSIONS"": ""application/vnd.aws-cdf-v1.0+json"",
  ""LOGGING_LEVEL"": ""info"",
  ""ASSETLIBRARY_MODE"": ""lambda"",
  ""PORT"": ""3022""
}
"
1675118742835,"2023-01-30T22:45:42.835Z undefined   INFO    Module provisioning-client loaded config: {
  ""AWS_LAMBDA_FUNCTION_VERSION"": ""1"",
  ""AWS_ACCOUNTID"": ""029488977242"",
  ""AWS_S3_BUCKET"": ""cdf-learning-bucket"",
  ""AWS_S3_ROLE_ARN"": ""arn:aws:iam::029488977242:role/cdf-commandandcontrol-test-LambdaExecutionRole-4QY59K2ZTZ96"",
  ""AWS_SESSION_TOKEN"": ""IQoJb3JpZ2luX2VjEB8aCXVzLWVhc3QtMSJGMEQCICMXHepz8SmH5WqPR7jjY/V+LjOKrGzU58jatyJXkIXAAiArjWTvYAaXgswa20gsApJMei07MKRK8x+vwrRzhQMOIiqcAwiY//////////8BEAAaDDAyOTQ4ODk3NzI0MiIMJ5YTOOeMFMtt8qpEKvACMol1dZzOsK+WecBgACivz7z8MuFvaqmeW4YkCLbjmFb4NyC676ZrC437It0e55BEWGtCmkmUWu2qchviRMzEB9u2HtZ2xTY+jzr5TLeD1acQiWS6TJuYqmXPjHUgTTc6Tc2CpAllsAAX9zUqCBcHn7gIzl4T8FTXbOAYcmT6DZWkrWNWIduL9tCgZ6HRkC2H5ohXUSpP4hKPxsKOUCKlZXaCnHeWi0tr0rKwrS0ZbL29Z8e9f04Z1lrnTdCW3HiiJtacD0gsHVkD1cAPVXLCXE4YgtimJPZM7J3DimLYb9YB8TUfAzg+9bkaPxoIUaN2z0X0wByl/iJgodCOclJlYG9ErIyoOsecqgRAXGrkaYGpx1BNxt/CU3HA5CN3dUQqQkE7EdPwgLF1YGPFFdatVAs8FdfbD5EabBVo+FJY8RJM0aXq07NgmQdpCIyC3f1V734/pI9Wh9rfXncb8Ycq06qMluMhz6ejWIOfhbbvE5gwlZHhngY6ngHYmC7Yan+TsFUCnP8glsnsNIPek0M0AEeKpOar7JCVCdsNiDJl3tD5KOl9kCoNNsg/NlYDoZhhDFwS7w43IBfABIaS5B+vTJF832E9JSSonce0EmH2VyRyF447faz8yiL4uyCyTp8C3FlXOai1DsP62LJVpv1VsorMXgBtePg1w281LI68tkTCNZFAT+hcGltSS4O2W5kaDhWL0J0ojQ=="",
  ""APP_CONFIG"": """",
  ""LD_LIBRARY_PATH"": ""/var/lang/lib:/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/lib"",
  ""LAMBDA_TASK_ROOT"": ""/var/task"",
  ""AWS_LAMBDA_LOG_GROUP_NAME"": ""/aws/lambda/cdf-commandandcontrol-rest-test"",
  ""AWS_LAMBDA_LOG_STREAM_NAME"": ""2023/01/30/[1]d828a8de92584728a1cf745e80cfbaaa"",
  ""AWS_LAMBDA_RUNTIME_API"": ""127.0.0.1:9001"",
  ""AWS_EXECUTION_ENV"": ""AWS_Lambda_nodejs16.x"",
  ""APP_CONFIG_DIR"": ""packages/services/command-and-control/dist/config"",
  ""AWS_IOT_ENDPOINT"": ""a1c3ag58fpsoi8-ats.iot.us-east-1.amazonaws.com"",
  ""AWS_LAMBDA_FUNCTION_NAME"": ""cdf-commandandcontrol-rest-test"",
  ""AWS_XRAY_DAEMON_ADDRESS"": ""169.254.79.129:2000"",
  ""PATH"": ""/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin"",
  ""AWS_DEFAULT_REGION"": ""us-east-1"",
  ""PWD"": ""/var/task"",
  ""AWS_SECRET_ACCESS_KEY"": ""*"",
  ""LAMBDA_RUNTIME_DIR"": ""/var/runtime"",
  ""LANG"": ""en_US.UTF-8"",
  ""AWS_LAMBDA_INITIALIZATION_TYPE"": ""on-demand"",
  ""NODE_PATH"": ""/opt/nodejs/node16/node_modules:/opt/nodejs/node_modules:/var/runtime/node_modules:/var/runtime:/var/task"",
  ""AWS_REGION"": ""us-east-1"",
  ""AWS_SQS_QUEUES_MESSAGES_QUEUEURL"": ""https://sqs.us-east-1.amazonaws.com/029488977242/cdf-commandandcontrol-test-MessagesQueue-LAG9hVTysU8T"",
  ""TZ"": "":UTC"",
  ""AWS_SQS_QUEUES_COMMANDS_QUEUEURL"": ""https://sqs.us-east-1.amazonaws.com/029488977242/cdf-commandandcontrol-test-CommandsQueue-fkoQXR6ZrV19"",
  ""AWS_ACCESS_KEY_ID"": ""*"",
  ""SHLVL"": ""0"",
  ""_AWS_XRAY_DAEMON_ADDRESS"": ""169.254.79.129"",
  ""_AWS_XRAY_DAEMON_PORT"": ""2000"",
  ""AWS_XRAY_CONTEXT_MISSING"": ""LOG_ERROR"",
  ""_HANDLER"": ""packages/services/command-and-control/dist/lambda_rest_handler.handler"",
  ""AWS_DYNAMODB_TABLE"": ""cdf-commandandcontrol-test"",
  ""AWS_LAMBDA_FUNCTION_MEMORY_SIZE"": ""512"",
  ""NODE_EXTRA_CA_CERTS"": ""/etc/pki/tls/certs/ca-bundle.crt"",
  ""AWS_IOT_SHADOW_NAME"": ""cac"",
  ""AWS_JOBS_MAXTARGETS"": ""100"",
  ""AWS_SQS_QUEUES_MESSAGES_TOPIC_BATCHSIZE"": ""100"",
  ""AWS_SQS_QUEUES_MESSAGES_SHADOW_BATCHSIZE"": ""100"",
  ""AWS_SQS_QUEUES_MESSAGES_JOBS_BATCHSIZE"": ""5000"",
  ""AWS_SQS_QUEUES_COMMANDS_BATCHSIZE"": ""100"",
  ""PROMISES_CONCURRENCY"": ""5"",
  ""DELIVERYMETHOD_TOPIC_MQTTTTOPIC"": ""cmd/cdf/cac/${thingName}"",
  ""PROVISIONING_TEMPLATES_ADDTHINGTOTHINGGROUP"": ""add_thing_to_group"",
  ""CORS_ORIGIN"": ""*"",
  ""CORS_EXPOSED_HEADERS"": ""content-type,location"",
  ""CUSTOMDOMAIN_BASEPATH"": """",
  ""SUPPORTED_API_VERSIONS"": ""application/vnd.aws-cdf-v1.0+json"",
  ""LOGGING_LEVEL"": ""info"",
  ""ASSETLIBRARY_MODE"": ""lambda"",
  ""PORT"": ""3022""
}
"
1675118743466,"2023-01-30T22:45:43.465Z info: Server started on port 3022 :)
"
1675118743476,"START RequestId: f43b2baf-6e32-4116-98bd-c237cd04f982 Version: 1
"
1675118743535,"2023-01-30T22:45:43.534Z info: commands.controller createCommand: in: resource: {""operation"":""reboot"",""deliveryMethod"":{""type"":""TOPIC"",""onlineOnly"":true}}
"
1675118743538,"2023-01-30T22:45:43.537Z error: handleError: ArgumentError: Expected `(_b = c.deliveryMethod` to be of type `boolean` but received type `undefined`
"
1675118743556,"2023-01-30T22:45:43.556Z error: handleError: res.status: function status(code) {
"
1675118743556,"this.statusCode = code;
"
1675118743556,"return this;
"
1675118743556,"}
"
1675118743572,"END RequestId: f43b2baf-6e32-4116-98bd-c237cd04f982
"
1675118743572,"REPORT RequestId: f43b2baf-6e32-4116-98bd-c237cd04f982   Duration: 96.46 ms  Billed Duration: 97 ms  Memory Size: 512 MB Max Memory Used: 149 MB Init Duration: 1742.06 ms   
XRAY TraceId: 1-63d84895-21fd7066062d9dde03fb9dc4   SegmentId: 6de09de76ed6f29e Sampled: true   
"
anish-kunduru commented 1 year ago

@vizzaamazon FYI, you've exposed your key and secret in these logs.