Greengrass v2 firmware update API fails with 'ResourceNotFoundException' during deployment

We’re trying to push firmware updates to our Greengrass v2 core devices using the deployment API, but consistently get ‘ResourceNotFoundException’ errors. The API call fails immediately without any deployment activity.

Error response:


ResourceNotFoundException: Thing arn:aws:iot:us-east-1:123456789012:thing/edge-gateway-01 not found
HTTP Status: 404

The thing definitely exists in IoT Core - we can see it in the console and query it via DescribeThing API. Our firmware upgrade process is completely blocked. Is there a specific association or registration step required for Greengrass core devices that differs from regular IoT things?

Check if your thing is actually listed when you call the ListCoreDevices API. Just because a thing exists in IoT Core doesn’t mean it’s registered as a Greengrass core. The deployment API specifically targets Greengrass cores, not generic IoT things. You might need to reinstall Greengrass on the device or verify the provisioning completed successfully.

I suspect your installation process created the thing but didn’t complete the Greengrass core registration. This is common when AWS credentials aren’t properly configured on the edge device during installation. The Greengrass nucleus needs valid credentials to register itself as a core device with the Greengrass service. Check if your device has valid IAM credentials or certificate-based authentication configured.

The error suggests the device isn’t registered as a Greengrass core device, just as a regular IoT thing. Have you run the Greengrass installer and provisioning process on the edge device? Creating the thing in IoT Core is only the first step - you need to install the Greengrass nucleus software and complete the initial provisioning before it becomes a valid core device.