def check_or_create_asset_model_hierarchy_id()

in src/libs/deploy_utils/VideoUtils.py [0:0]


    def check_or_create_asset_model_hierarchy_id(self):
        self.hub_asset_model_hierarchy_id = ''
        hub_asset_model = self.iotsitewise.describe_asset_model(assetModelId = self.sitewise_asset_model_id_hub)
        # print(json.dumps(hub_asset_model, indent=4, sort_keys=True, default=str))
        for assetModelHierarchy in hub_asset_model.get('assetModelHierarchies'):
            if assetModelHierarchy.get('name') in 'ConnectedCameras':
                self.hub_asset_model_hierarchy_id = assetModelHierarchy.get('id')
                break
        if not self.hub_asset_model_hierarchy_id:
            asset_model_hierarchies = hub_asset_model.get('assetModelHierarchies')
            asset_model_hierarchies.append({
                'name': 'ConnectedCameras',
                'childAssetModelId': self.sitewise_asset_model_id_camera}
            )
            response = self.iotsitewise.update_asset_model(
                assetModelId = self.sitewise_asset_model_id_hub,
                assetModelName = hub_asset_model.get('assetModelName'),
                assetModelDescription = hub_asset_model.get('assetModelDescription'),
                assetModelProperties = hub_asset_model.get('assetModelProperties'),
                assetModelHierarchies = asset_model_hierarchies,
                assetModelCompositeModels = hub_asset_model.get('assetModelCompositeModels')
            )
            waiter = self.iotsitewise.get_waiter('asset_model_active')
            waiter.wait(assetModelId=self.sitewise_asset_model_id_hub)
            print('Associated camera asset model to hub asset model')
            hub_asset_model = self.iotsitewise.describe_asset_model(assetModelId = self.sitewise_asset_model_id_hub)
            # print(json.dumps(hub_asset_model, indent=4, sort_keys=True, default=str))
            for assetModelHierarchy in hub_asset_model.get('assetModelHierarchies'):
                if assetModelHierarchy.get('name') in 'ConnectedCameras':
                    self.hub_asset_model_hierarchy_id = assetModelHierarchy.get('id')
                    break