-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathasyncapi.yaml
126 lines (120 loc) · 2.69 KB
/
asyncapi.yaml
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
# Copyright 2022 Adevinta
asyncapi: 2.4.0
info:
title: Vulcan
version: v0.0.2
servers:
production:
url: broker.example.com
protocol: kafka
description: Dummy server.
defaultContentType: application/json
channels:
assets:
description: CDC Events of the assets stored in Vulcan.
subscribe:
message:
$ref: '#/components/messages/asset'
components:
messages:
asset:
name: Asset
title: Asset state
summary: |
Contains the state of an asset as it was stored in a point
of time in Vulcan.
headers:
$ref: "#/components/schemas/assetMetadata"
contentType: application/json
payload:
$ref: "#/components/schemas/assetPayload"
schemas:
assetMetadata:
type: object
additionalProperties: false
properties:
identifier:
type: string
type:
$ref: "#/components/schemas/assetType"
version:
type: string
description: The value of this field is equal to the value of the field info.version of this document.
required:
- identifier
- type
- version
assetPayload:
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
team:
$ref: "#/components/schemas/team"
alias:
type: string
rolfp:
type: string
scannable:
type: boolean
asset_type:
$ref: "#/components/schemas/assetType"
identifier:
type: string
annotations:
type: array
items:
- $ref: "#/components/schemas/annotation"
required:
- id
- team
- alias
- rolfp
- scannable
- asset_type
- identifier
- annotations
assetType:
type: string
# Update when the assets types accepted by Vulcan are updated.
enum:
- IP
- DomainName
- Hostname
- AWSAccount
- IPRange
- DockerImage
- WebAddress
- GitRepository
- GCPProject
annotation:
type: object
additionalProperties: false
properties:
key:
type: string
value:
type: string
required:
- key
- value
team:
type: object
additionalProperties: false
properties:
id:
type: string
format: uuid
name:
type: string
description:
type: string
tag:
type: string
required:
- id
- name
- description
- tag