aboutsummaryrefslogtreecommitdiffstats
path: root/optical-service/model/src/main/yang/optical-service.yang
blob: 911bd488ea933f7871eea6dbcb39b720bec98d1f (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
module opticalservice {

    yang-version "1";

    namespace "org:onap:sdnc:northbound:optical-service";

    prefix opticalser;

    organization "Fujitsu";

    contact
        "Mehreen Kaleem <mehreen.kaleem@us.fujitsu.com>,Franklin Dsilva
        <franklin.dsilva@us.fujitsu.com>";

    description
        "Defines API interface for optical service create and service
        delete";

    revision "2019-12-06" {
        description
                "Initial draft";
    }

    grouping optical-service-create-request {

        uses request-source-g;

        leaf global-customer-id {
            type string;
        }

        leaf service-type {
            type string;
        }

        leaf service-id {
            type string;
        }

        leaf notification-url {
            type string;
        }

        container payload {

            leaf domain-type {
                type string;
            }

            leaf service-name {
                type string;
            }

            leaf service-rate {
                type string;
            }
            leaf service-protocol {
                type string;
            }

            leaf coding-func {
                type string;
            }

            container service-a-end {
                uses service-end-g;
            }

            container service-z-end {
                uses service-end-g;
            }

            leaf service-layer {
                type string;
            }
        }
    }

    grouping service-end-g {

        leaf port-id {
            type string;
        }

        leaf port-name {
            type string;
        }
    }

    grouping request-source-g {

        leaf request-id {
            type string;
        }

        leaf source {
            type string;
        }
    }

    grouping optical-service-response {

        leaf response-code {
            type string;
        }

        leaf response-message {
            type string;
        }

        leaf ack-final-indicator {
            type string;
        }

    }

    grouping optical-service-delete-request {
    	
        uses request-source-g;

        container payload {

            leaf service-name {
                type string;
            }
        }
    }

    rpc optical-service-create {

        input {
            uses optical-service-create-request;
        }

        output {
            uses optical-service-response;
        }
    }

    rpc optical-service-delete {

        input {
            uses optical-service-delete-request;
        }

        output {
            uses optical-service-response;
        }
    }
}