-
Notifications
You must be signed in to change notification settings - Fork 215
/
connections.yml
180 lines (179 loc) · 5.6 KB
/
connections.yml
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# Copyright (c) 2020 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0
#
# SPDX-License-Identifier: EPL-2.0
get:
summary: Retrieve all Connections
description: |-
Returns all connections.
security:
- DevOpsBasic: [ ]
tags:
- Connections
parameters:
- name: ids-only
in: query
description: |-
When set to true, the request will return the registered ids only and not the whole connections objects.
required: false
schema:
type: boolean
responses:
'200':
description: The request successfully returned the connections.
content:
application/json:
schema:
type: array
items:
$ref: '../../schemas/connections/connection.yml'
'400':
description: |-
The request could not be completed.
content:
application/json:
schema:
$ref: '../../schemas/errors/advancedError.yml'
'401':
description: The request could not be completed due to missing authentication.
content:
application/json:
schema:
$ref: '../../schemas/errors/advancedError.yml'
'403':
description: The request could not be completed due to an invalid authentication.
content:
application/json:
schema:
$ref: '../../schemas/errors/advancedError.yml'
'404':
description: |-
The request could not be completed. Connections not found.
content:
application/json:
schema:
$ref: '../../schemas/errors/advancedError.yml'
post:
summary: Create a new Connection
description: |-
Creates the connection defined in the JSON body.
The ID of the connection will be **generated** by the backend. Any `ID` specified in the request body is therefore
prohibited.
Supported connection types are `amqp-091`, `amqp-10`, `mqtt`, `mqtt-5`, `kafka` and `http-push`.
security:
- DevOpsBasic: [ ]
tags:
- Connections
parameters:
- name: dry-run
in: query
description: |-
When set to true, the request will not try to create the connection, but only try to connect it.
You can use this parameter to verify that the given connection is able to communicate with your external
system.
required: false
schema:
type: boolean
responses:
'200':
description: |-
Will be returned when a dry-run succeeded (see description of the dry-run query parameter for further
information).
'201':
description: The connection was successfully created.
headers:
Location:
description: The location of the created connection resource.
schema:
type: string
content:
application/json:
schema:
$ref: '../../schemas/connections/connection.yml'
'400':
description: |-
The request could not be completed. Possible reasons:
* an `ID` was set in the request body, but the ID will be generated by Ditto
* the JSON of the connection to be created is invalid
content:
application/json:
schema:
$ref: '../../schemas/errors/advancedError.yml'
'401':
description: The request could not be completed due to missing authentication.
content:
application/json:
schema:
$ref: '../../schemas/errors/advancedError.yml'
'403':
description: The request could not be completed due to invalid authentication.
content:
application/json:
schema:
$ref: '../../schemas/errors/advancedError.yml'
'404':
description: |-
The request could not be completed. Connections not found.
content:
application/json:
schema:
$ref: '../../schemas/errors/advancedError.yml'
requestBody:
content:
application/json:
schema:
$ref: '../../schemas/connections/newConnection.yml'
example: {
"name": "hono-example-connection-123",
"connectionType": "amqp-10",
"connectionStatus": "open",
"uri": "amqps://user:password@hono.eclipseprojects.io:5671",
"sources": [
{
"addresses": [
"telemetry/FOO",
"..."
],
"authorizationContext": [
"ditto:inbound-auth-subject",
"..."
],
"consumerCount": 1,
"enforcement": {
"input": "{{ header:device_id }}",
"filters": [
"{{ thing:id }}"
]
},
"payloadMapping": [
"Ditto",
"..."
]
}
],
"targets": [
{
"address": "events/twin",
"topics": [
"_/_/things/twin/events"
],
"authorizationContext": [
"ditto:outbound-auth-subject",
"..."
],
"headerMapping": {
"message-id": "{{ header:correlation-id }}",
"content-type": "application/vnd.eclipse.ditto+json"
}
}
]
}
description: |-
The example below shows a connection to Eclipse Hono.
required: true