最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Python create LimaCharlie Adapter of type "JSON > Events received throgh LimaCharlie webhooks" gives: A

programmeradmin5浏览0评论

I am trying to create a LimaCharlie Adapter of type "JSON > Events received throgh LimaCharlie webhooks" with Python.

This is my code:

import limacharlie

# My variables
lc_oid = "123"
lc_api_key = "456"
adapter_name = "fw-cisco-meraki-tromso"
adapter_secret = "vo8oW2KPwabUZL"

# Create LC Manager
manager = limacharlie.Manager(oid=lc_oid, secret_api_key=lc_api_key)

# Create a Hive
hive = limacharlie.Hive(manager, "cloud_sensor")

# Create adapter
try:
    # Create LC Adapter
    hive.set(limacharlie.HiveRecord(
        recordName=adapter_name,
        data={
            "tags": ["firewalls"],
            "secret": adapter_secret
        }
    ))

except Exception as e:
    # Failed to create adapter
    print(f"Error could not create adapter {adapter_name}: {e}")

I get this error:

Api failure (400): {'error': 'missing data'}

When I try to read the documentation at .py#L90 I see that the HiveRecord object takes in recordName and data. Why does it give me error when I am sending in both?

From the documentation:

class HiveRecord( object ):
    def __init__( self, recordName, data, api = None ):
        self._api = api
        self.name = recordName
        self.arl = None
        self.data = data.get( 'data', None )
        if self.data is not None and not isinstance( self.data, dict ):
            self.data = json.loads( self.data )
        self.expiry = data.get( 'usr_mtd', {} ).get( 'expiry', None )
        self.enabled = data.get( 'usr_mtd', {} ).get( 'enabled', None )
        self.tags = data.get( 'usr_mtd', {} ).get( 'tags', None )
        selfment = data.get( 'usr_mtd', {} ).get( 'comment', None )
        self.etag = data.get( 'sys_mtd', {} ).get( 'etag', None )
        self.createdAt = data.get( 'sys_mtd', {} ).get( 'created_at', None )
        self.createdBy = data.get( 'sys_mtd', {} ).get( 'created_by', None )
        self.guid = data.get( 'sys_mtd', {} ).get( 'guid', None )
        self.lastAuthor = data.get( 'sys_mtd', {} ).get( 'last_author', None )
        self.lastModified = data.get( 'sys_mtd', {} ).get( 'last_mod', None )
        self.lastError = data.get( 'sys_mtd', {} ).get( 'last_error', None )
        self.lastErrorTime = data.get( 'sys_mtd', {} ).get( 'last_error_ts', None )

If this helps anyone (and not make more confusion) here is the GUI version of LimaCharlie when I create new adapters manually:

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论