def create_asset_model()

in src/modules/sitewise/lib/util/SiteWiseTelemetryUtils.py [0:0]


    def create_asset_model(self, assetModelName):
        self.log(f'Create assetModel {assetModelName} ...')
        
        assetModels = self.iotsitewise.list_asset_models()
        nextToken = assetModels.get('nextToken')
        for assetModel in assetModels['assetModelSummaries']:
            if assetModel['name'] == assetModelName:
                return self.iotsitewise.describe_asset_model(assetModelId=assetModel['id'])

        while nextToken is not None:
            assetModels = self.iotsitewise.list_asset_models(nextToken = nextToken)
            nextToken = assetModels.get('nextToken') 
            for assetModel in assetModels['assetModelSummaries']: 
                if assetModel['name'] == assetModelName:
                    return self.iotsitewise.describe_asset_model(assetModelId=assetModel['id'])
            
        model = self.iotsitewise.create_asset_model(assetModelName = assetModelName)
        modelId = model['assetModelId']

        modelStatus = model['assetModelStatus']['state']
        while modelStatus != 'ACTIVE':
            time.sleep(1)
            model = self.iotsitewise.describe_asset_model(assetModelId = modelId)
            modelStatus = model['assetModelStatus']['state']

        return model