-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathchannel.py
More file actions
51 lines (43 loc) · 1.09 KB
/
channel.py
File metadata and controls
51 lines (43 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from dataclasses import dataclass
from typing import Any
from .bindings import AmqpChannelBinding
from .common import *
from .message import Message
__all__ = ["AddressParameter", "ChannelBindings", "Channel"]
@dataclass(frozen=True)
class AddressParameter:
description: str | None
location: str
key: str
@dataclass(frozen=True)
class ChannelBindings:
http: Any = None
amqp1: Any = None
mqtt: Any = None
nats: Any = None
stomp: Any = None
redis: Any = None
solace: Any = None
ws: Any = None
amqp: AmqpChannelBinding | None = None
kafka: Any = None
anypointmq: Any = None
jms: Any = None
sns: Any = None
sqs: Any = None
ibmmq: Any = None
googlepubsub: Any = None
pulsar: Any = None
@dataclass(frozen=True)
class Channel:
address: str | None
title: str | None
summary: str | None
description: str | None
servers: list[Server]
messages: dict[str, Message]
parameters: dict[str, AddressParameter]
tags: list[Tag]
external_docs: ExternalDocs | None
bindings: ChannelBindings | None
key: str