跳转到主要内容

基于模式的操作关系库

项目描述

sbolr - 基于模式的操作关系库

这个库提供了一个创建用于与charmed operators和Juju一起使用的关联端点库的基础。它试图使创建Pythonic的关联接口协议实现变得简单易懂,同时鼓励良好的模式,例如使用基于模式的接口协议验证、提供测试charms的辅助工具以及以干净的方式呈现关系问题。

示例

一个示例端点类及其使用可能如下

class RandomURLRequirer(sborl.relation.EndpointWrapper):
    INTERFACE = "random-url"
    ROLE = "requires"
    SCHEMA = Path(__file__) / "schema.yaml"
    LIMIT = 1

    @property
    def url(self):
        if not self.is_ready():
            return None
        relation = self.relations[0]
        return self.unwrap(relation)[relation.app]["url"]


class MyCharm(ops.charm.CharmBase):
    def __init__(self, *args):
        super().__init__(*args)
        self.random_url = RandomURLRequirer(charm=self, endpoint="random-url-provider")
        self.framework.observe(self.random_url.on.ready, self._log_url)

    def _log_url(self, event):
        log.info(f"Got random URL: {self.random_url.url}")

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

sborl-0.0.8.tar.gz (7.9 kB 查看哈希)

上传时间: 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面