aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-controller-core/dcae-controller-core-model/src/main/xcore/stream.xcore
blob: eb2189a862becfd2f8f07feff57eb738f084cf93 (plain)
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
/*-
 * ============LICENSE_START==========================================
 * OPENECOMP - DCAE
 * ===================================================================
 * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
 * ===================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0 
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END============================================
 */
	
@GenModel(modelDirectory="/dcae-controller-core-model/src/main/xcore-gen")
package org.openecomp.dcae.controller.core.stream

import org.openecomp.ncomp.core.NamedEntity

class DcaeStream extends NamedEntity {
}

class DmaapStream extends DcaeStream {
	String dmaapDataType
	String dmaapAction
	String dmaapUrl
	String dmaapUserName
	String dmaapPassword
	String dmaapAuthMethod
}

class DcaeStreamDefinition extends NamedEntity {
	String streamType
	String  databusType
	contains DcaeStreamPublisher[] publishers
	contains DcaeStreamSubscriber[] subscribers
}

abstract class DcaeStreamPublisher extends NamedEntity {
}

abstract class DcaeStreamSubscriber extends NamedEntity {
}

class DcaeStreamPublisherExternal extends DcaeStreamPublisher, DcaeStreamExternalEndPoint {
}

class DcaeStreamPublisherInternal extends DcaeStreamPublisher, DcaeStreamInternalEndPoint {
}

class DcaeStreamSubscriberExternal extends DcaeStreamSubscriber, DcaeStreamExternalEndPoint {
}

class DcaeStreamSubscriberInternal extends DcaeStreamSubscriber, DcaeStreamInternalEndPoint {
}

class DcaeStreamInternalEndPoint {
	String localName
	String serviceName
}

class DcaeStreamExternalEndPoint {
	String user
	String password
	String url
}

abstract class DatabusStream extends NamedEntity {
}

class DatabusStreamTopic extends DatabusStream {
	String topicName
	String topicDescription
	String dcaeLocationName
	String owner
	boolean txenabled
	String fqtn
	Date lastMod
	String status
	contains DatabusStreamTopicClient[] clients
	String publishURL
	String subscribeURL
	StreamAuthentication authenticationMethod
	String replicationCase
	String globalMrURL
}

class DatabusStreamTopicClient extends DatabusStream {
	String localStreamId
	String dcaeLocationName
	String clientRole
	DatabusStreamTopicAction[] action
	String username
	String userpwd
	String fqtn
	String mrClientId
	String topicURL
}

enum DatabusStreamTopicAction {
	PUB as "pub", SUB as "sub", VIEW as "view"
}

enum StreamAuthentication {
	AAF as "aaf", NONE as "none", PASSWORD as "password"
}


class DatabusStreamFeed extends DatabusStream {
	String feedName
	String feedVersion
	String feedDescription
	String asprClassification
	String owner 
	String feedId
	String logURL
	String publishURL
	String subscribeURL
	String status
	String suspended 
	contains DatabusStreamFeedPublisher[] publishers
	contains DatabusStreamFeedSubscriber[] subscribers
}

class DatabusStreamFeedPublisher extends NamedEntity {
	String localStreamId
	String dcaeLocationName
	String feedId
	String pubId
	String status
	String username
	String userpwd
}

class DatabusStreamFeedSubscriber extends NamedEntity {
	String localStreamId
	String dcaeLocationName
	String otherFeedName
	String feedId
	String logURL
	String owner
	String subId
	boolean suspended
	boolean use100
	String username
	String userpwd
	String deliveryURL
}

class DatabusEntity extends NamedEntity {
	String status
	Date lastModified
	String ^type
}

class DatabusLocation extends DatabusEntity {
	String dcaeLayer
}

class DatabusMessageRouterCluster extends DatabusEntity {
	String dcaeLocationName
	String serviceFqdn
	String[] hostFqdn
	String topicPort
	String topicProtocol
}

class DatabusDataRouterNode extends DatabusEntity {
	String dcaeLocationName
	String hostFqdn
	String version
}