aws-greengrass / aws-greengrass-shadow-manager

A GreengrassV2 Component that provides offline device shadow documents and optional synchronization to the IoT device shadow service.
Apache License 2.0
9 stars 5 forks source link

feat: add shadows on interaction #173

Closed ghost closed 10 months ago

ghost commented 1 year ago

Description of changes: This commit introduces a new feature "add shadow on interaction". When this feature is enabled, ShadowManager adds things shadows to synchronize configuration once it receives a GetThingShadow / UpdateThingShadow request. Similarly, the shadows, which were added on interaction, will be removed from the configuration if there is a DeleteThingShadowRequest.

Why is this change necessary: This change is necessary to allow other components to dynamically add and remove thing shadows to/from sync configuration without Nucleus restart.

How was this change tested:

Checklist:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

MikeDombo commented 1 year ago

This test has failed: UnhappyUpdateIPCTest.GIVEN_non_default_max_shadow_size_WHEN_update_shadow_document_size_and_update_shadow_THEN_throws_invalid_arguments_error(ExtensionContext) » TLSAuth

com.aws.greengrass.util.exceptions.TLSAuthException: Error during getting key managers
Caused by: java.io.IOException: Is a directory
at com.aws.greengrass.util.EncryptionUtils.loadPrivateKeyPair(EncryptionUtils.java:79)
at com.aws.greengrass.security.SecurityService$DefaultCryptoKeyProvider.getKeyPair(SecurityService.java:333)