Feature 10923: Fix for license headers
[osm/IM.git] / models / augments / healing.yang
1 /*
2   Copyright ETSI Contributors and Others
3
4   Licensed under the Apache License, Version 2.0 (the "License");
5   you may not use this file except in compliance with the License.
6   You may obtain a copy of the License at
7
8     http://www.apache.org/licenses/LICENSE-2.0
9
10   Unless required by applicable law or agreed to in writing, software
11   distributed under the License is distributed on an "AS IS" BASIS,
12   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13   implied.
14   See the License for the specific language governing permissions and
15   limitations under the License.
16 */
17
18 module healing {
19     yang-version 1.1;
20     namespace "urn:etsi:osm:yang:augments:healing";
21     prefix "healing";
22
23     import etsi-nfv-vnfd {
24         prefix vnfd;
25     }
26
27     typedef recovery-actions {
28         type enumeration {
29
30             enum REDEPLOY_ONLY {
31                 value 1;
32             }
33
34             enum REBOOT {
35                 value 2;
36             }
37
38             enum REBOOT_THEN_REDEPLOY {
39                 value 3;
40             }
41         }
42     }
43
44
45     typedef recovery-type {
46         type enumeration {
47
48             enum manual {
49                 value 1;
50             }
51
52             enum automatic {
53                 value 2;
54             }
55         }
56     }
57
58     grouping extended-healing {
59         list healing-aspect {
60             key "id";
61
62             description
63               "The healing aspects supported by this DF of the VNF.
64                healingAspect shall be present if the VNF supports
65                healing.";
66
67             leaf id {
68                 type string;
69                 description
70                   "Unique identifier of this aspect in the VNFD.";
71             }
72
73             list healing-policy {
74
75                 key "vdu-id";
76
77                 leaf vdu-id {
78                     description
79                       "Identifier of vdu";
80                     type string;
81                 }
82
83                 leaf event-name {
84                     description
85                       "Describing the event name for healing";
86                     type string;
87                 }
88
89                 leaf recovery-type {
90                     description
91                       "Type of healing recovery";
92                     type recovery-type;
93                 }
94
95                 leaf action-on-recovery {
96                     description
97                       "Recovery actions for healing";
98                     type recovery-actions;
99                 }
100
101                 leaf cooldown-time {
102                     description
103                       "The duration after a healing action has been
104                       triggered, for which there will be no further optional";
105                     type uint32;
106                     mandatory true;
107                 }
108
109                 leaf day1 {
110                     description
111                       "Specifies if the day1 operations can be applied";
112                     type boolean;
113                     default false;
114                 }
115             }
116         }
117
118     }
119     augment "/vnfd:vnfd/vnfd:df" {
120         uses extended-healing;
121     }
122
123 }