def create_asset()

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


    def create_asset(self, assetName, assetModelId):
        self.log(f'Create asset {assetName} for model {assetModelId} ...')
        assetlist = self.iotsitewise.list_assets(assetModelId = assetModelId)
        nextToken = assetlist.get('nextToken')
        for asset in assetlist['assetSummaries']:
            if asset['name'] == assetName:
                return self.iotsitewise.describe_asset(assetId = asset['id'])

        while nextToken is not None:
            assetlist = self.iotsitewise.list_assets(assetModelId = assetModelId, nextToken = nextToken)
            nextToken = assetlist.get('nextToken')
            for asset in assetlist['assetSummaries']:
                if asset['name'] == assetName:
                    return self.iotsitewise.describe_asset(assetId = asset['id']) 
        
        assetResult = self.iotsitewise.create_asset(assetName = assetName, assetModelId = assetModelId)
        assetId = assetResult['assetId'] 
        asset = self.iotsitewise.describe_asset(assetId = assetId)
        state = asset['assetStatus']['state']

        while state != 'ACTIVE':
            time.sleep(1)
            asset = self.iotsitewise.describe_asset(assetId = assetId)
            state = asset['assetStatus']['state']

        return asset