Package-level declarations
Types
The AWS IoT control plane, of which the Jobs and stream operations are implemented. Share the jobs storage with a FakeIotJobsDataPlane and the control plane and the device API see one jobs state.
The job record FakeIot keeps, keyed by jobId. Public so that a Storage can be shared with FakeIotJobsDataPlane: construct both fakes over the same Storage instance and the control plane and the device API see one jobs state.
The stream record FakeIot keeps, keyed by streamId. A stream's bytes are not modelled: the fake records where they were said to be, since devices fetch them over MQTT rather than from this API.
Functions
The fake runs no live timers, so an in-progress execution of a job with a timeout config always reports its full budget as remaining.
When every execution of an in-progress SNAPSHOT job is terminal, the job completes.
Every (job, execution) pair for the thing, oldest first.
The $next selection: the oldest IN_PROGRESS execution for the thing first, else the oldest QUEUED one, considering only jobs which are themselves still IN_PROGRESS. This is a read: callers decide whether the pick transitions.
The thing an arn:...:thing/NAME target names, or null for any other resource type - a thinggroup/NAME target most of all, whose tail is a group name and not a device.