summaryrefslogtreecommitdiffstats
path: root/docs/offeredapis/api_serviceInventory/api.plantuml
blob: ed869ff7ddc6434728532d61845cf8c862f705c4 (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
#
#     Copyright (c) 2018 Orange
#
#     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.
#

@startuml

enum eventType {
   ServiceCreationNotification
   ServiceAttributeValueChangeNotification
   ServiceRemoveNotification
}

class ErrorRepresentation {
   code:int
   reason:string
   message:string
   status:string
   referenceError:string
   @type:string
   @schemaLocation:string
}

class Service {
   id:string
   href:string
   name:string
   type:string
   state:string
   @type:string
   @baseType:string
   @schemaLocation:string
}
   Service --> "0-1" ServiceSpecificationRef : serviceSpecification
   Service --> "0-*" ServiceCharacteristic : characteristic
   Service --> "0-*" SupportingResource : supportingResource
   Service --> "0-*" RelatedPartyRef : relatedParty

class ServiceSpecificationRef {
   id:string
   href:string
   name:string
   version:string
   @referredType:string
   @schemaLocation:string
   invariantUUID:string
}

class ServiceCharacteristic {
   name:string
   valueType:string
}
   ServiceCharacteristic --> "0-1" Value : value

class SupportingResource {
   id:string
   href:string
   role:string
   name:string
   @referredType:string
   @schemaLocation:string
   status:string
   modelInvariantId:string
   modelVersionId:string
   modelCustomisationId:string
}

class RelatedPartyRef {
   id:string
   href:string
   role:string
   @referredType:string
}

class Value {
   @type:string
   @schemaLocation:string
   serviceCharacteristicValue:string
}

class ListRelatedPartyRef {
   id:string
   role:string
}

class ListServiceSpecificationRef {
   id:string
   name:string
}

class ListService {
   id:string
   name:string
}
   ListService --> "0-1" ListServiceSpecificationRef : serviceSpecification
   ListService --> "0-1" ListRelatedPartyRef : relatedParty

class ServiceInventoryEvent {
   id:string
   href:string
   name:string
   type:string
   state:string
}
   ServiceInventoryEvent --> "1-1" RelatedPartyRef : relatedParty

class Notification {
   eventId:string
   eventDate:dateTime
}
   Notification --> "1-1" eventType : eventType
   Notification --> "1-1" ServiceInventoryEvent : event

@enduml