aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-controller-core/dcae-controller-core-model/src/main/xcore/inventory.xcore
blob: b5acfb4b0bf566da119fe8e68ca4b06736d09834 (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
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
/*-
 * ============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.inventory

import org.openecomp.ncomp.core.NamedEntity

class DcaeInventory {
	contains DCAEServiceType[] serviceTypes
	contains DCAEService[] services
	contains InventoryConfigurationRule[] rules
	op DcaeServiceTypeResults getDcaeServiceTypes(String typeName, Boolean onlyLatest, Boolean onlyActive, String vnfType, String serviceId, String serviceLocation, String asdcServiceId, String asdcResourceId, Integer offset)
	op ApiResponseMessage deleteDcaeServiceTypesType(String[1] typeId)
	op DCAEServiceType getDcaeServiceTypesType(String typeId)
	op DCAEServiceType createDcaeServiceTypesTypeName(DCAEServiceTypeRequest body)
	op DcaeServiceResults getDcaeServices(String typeId, String vnfId, String vnfType, String vnfLocation, String componentType, Boolean shareable, String created, Integer offset)
	op DCAEServiceGroupByResults getDcaeServicesGroupbyPropertyName(String propertyName)
	op void deleteDcaeServicesService(String serviceId)
	op DCAEService getDcaeServicesService(String serviceId)
	op DCAEService createDcaeServicesService(String serviceId, DCAEServiceRequest body)
	op void poll()
	op void updateConfiguration()
}

class ApiResponseMessage {
	Integer code
	String ^type
	String message
}

class DCAEServiceComponent extends NamedEntity {
	/* The id format is unique to the source */
	String componentId
	/* Link to the underlying resource of this component */
	contains Link componentLink
	Date created1
	Date modified
	String componentType
	/* Specifies the name of the underying source service that is responsible for this components */
	String componentSource
	String status
	/* Location information of the component */
	String location
	/* Used to determine if this component can be shared amongst different DCAE services */
	Integer shareable
}

class DCAEServiceComponentRequest {
	/* The id format is unique to the source */
	String componentId
	String componentType
	/* Specifies the name of the underying source service that is responsible for this components */
	String componentSource
	/* Used to determine if this component can be shared amongst different DCAE services */
	Integer shareable
}

class DCAEService extends NamedEntity {
	String serviceId
	/* Link.title is serviceId */
	contains Link selfLink
	Date created1
	Date modified
	/* Link.title is typeId */
	contains Link typeLink
	String vnfId
	/* Link.title is vnfId */
	contains Link vnfLink
	String vnfType
	/* Location information of the associated VNF */
	String vnfLocation
	/* Reference to a Cloudify deployment */
	String deploymentRef
	contains DCAEServiceComponent[] components
}

class DCAEServiceGroupByResults {
	/* Property name of DCAE service that the group by operation was performed on */
	String propertyName
	contains DCAEServiceGroupByResultsPropertyValues[] propertyValues
}

class DCAEServiceGroupByResultsPropertyValues {
	Integer count
	String propertyValue
	/* Link.title is the DCAE service property value. Following this link will provide a list of DCAE services that all have this property value. */
	contains Link dcaeServiceQueryLink
}

class DCAEServiceRequest {
	/* Id of the associated DCAE service type */
	String typeId
	/* Id of the associated VNF that this service is monitoring */
	String vnfId
	/* The type of the associated VNF that this service is monitoring */
	String vnfType
	/* Location identifier of the associated VNF that this service is monitoring */
	String vnfLocation
	/* Reference to a Cloudify deployment */
	String deploymentRef
	/* List of DCAE service components that this service is composed of */
	contains DCAEServiceComponentRequest[] components
}

class DCAEServiceType extends NamedEntity {
	String owner
	/* Descriptive name for this DCAE service type */
	String typeName
	/* Version number for this DCAE service type */
	Integer typeVersion
	/* String representation of a Cloudify blueprint with unbound variables */
	String blueprintTemplate
	/* List of service ids that are used to associate with DCAE service type. DCAE service types with this propery as null or empty means them apply for every service id. */
	String[] serviceIds
	String[] vnfTypes
	/* List of service locations that are used to associate with DCAE service type. DCAE service types with this propery as null or empty means them apply for every service location. */
	String[] serviceLocations
	/* Id of service this DCAE service type is associated with. Value source is from ASDC's notification event's field `serviceInvariantUUID`. */
	String asdcServiceId
	/* Id of vf/vnf instance this DCAE service type is associated with. Value source is from ASDC's notification event's field `resourceInvariantUUID`. */
	String asdcResourceId
	/* URL to the ASDC service model */
	String asdcServiceURL
	/* Unique identifier for this DCAE service type */
	String typeId
	/* Link to self where the Link.title is typeName */
	contains Link selfLink
	/* Created timestamp for this DCAE service type in epoch time */
	Date created1
	/* Deactivated timestamp for this DCAE service type in epoch time */
	Date deactivated
}

class DCAEServiceTypeRequest {
	String owner
	/* Descriptive name for this DCAE service type */
	String typeName
	/* Version number for this DCAE service type */
	Integer typeVersion
	/* String representation of a Cloudify blueprint with unbound variables */
	String blueprintTemplate
	/* List of service ids that are used to associate with DCAE service type. DCAE service types with this propery as null or empty means them apply for every service id. */
	String[] serviceIds
	String[] vnfTypes
	/* List of service locations that are used to associate with DCAE service type. DCAE service types with this propery as null or empty means them apply for every service location. */
	String[] serviceLocations
	/* Id of service this DCAE service type is associated with. Value source is from ASDC's notification event's field `serviceInvariantUUID`. */
	String asdcServiceId
	/* Id of vf/vnf instance this DCAE service type is associated with. Value source is from ASDC's notification event's field `resourceInvariantUUID`. */
	String asdcResourceId
	/* URL to the ASDC service model */
	String asdcServiceURL
}

class DcaeServiceResults {
	contains Link[] links
	Integer totalCount
	contains DCAEService[] items
}

class DcaeServiceTypeResults {
	contains Link[] links
	Integer totalCount
	contains DCAEServiceType[] items
}

class Link extends NamedEntity {
	contains Parameter[] params
	String title
	String rel
	String href
	String uri
	contains UriBuilder uriBuilder
	String[] rels
	String ^type
}

class Parameter extends NamedEntity {
	String value
}

class UriBuilder {
}


class InventoryConfigurationRule extends NamedEntity {
	String typeNameMatch     // blueprint.yaml
	String serviceNameMatch  // cdap-map-edge
	String instanceNameMatch // cfc1
	String bpNodeNameMatch   // map_0_map_map
}