Initial Commit - NG UI
[osm/NG-UI.git] / src / models / NetworkSliceModel.ts
diff --git a/src/models/NetworkSliceModel.ts b/src/models/NetworkSliceModel.ts
new file mode 100644 (file)
index 0000000..eda0b92
--- /dev/null
@@ -0,0 +1,113 @@
+/*
+ Copyright 2020 TATA ELXSI
+
+ 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.
+
+ Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
+ */
+/**
+ * @file  Model for Network Slice Template related information.
+ */
+
+/** Interface for MetricModel */
+export interface NetworkSliceModel {
+    'netslice-subnet': NetsliceSubnet[];
+    id: string;
+    'SNSSAI-identifier': SNSSAIIdentifier;
+    'quality-of-service': QualityOfService;
+    name: string;
+    _id: string;
+    _admin: ADMIN;
+    'netslice-vld': NetsliceVld[];
+}
+
+/** Interface for NetsliceSubnet */
+interface NetsliceSubnet {
+    description : string;
+    id: string;
+    'is-shared-nss': string;
+    'nsd-ref': string;
+}
+
+/** Interface for SNSSAIIdentifier */
+interface SNSSAIIdentifier {
+    'slice-service-type': string;
+}
+
+/** Interface for SNSSAIIdentifier */
+interface QualityOfService {
+    id: number;
+}
+
+/** Interface for Admin */
+interface ADMIN {
+    operationalState: string;
+    created: string;
+    projects_write: string[];
+    projects_read: string[];
+    usageState: string;
+    modified: string;
+    onboardingState: string;
+    userDefinedData: {};
+    storage : Storage;
+}
+
+/** Interface for Storage */
+interface Storage {
+    fs: string;
+    folder: string;
+    descriptor: string;
+    path: string;
+}
+
+/** Interface for NetsliceVld */
+interface NetsliceVld {
+    name: string;
+    id: string;
+    'nss-connection-point-ref': NssConnectionPointRef[];
+    'mgmt-network': boolean;
+    // tslint:disable-next-line:no-reserved-keywords
+    type: string;
+}
+
+/** Interface for NssConnectionPointRef */
+interface NssConnectionPointRef {
+    'nss-ref': string;
+    'nsd-connection-point-ref': string;
+}
+
+/** Interface for NetworkSliceData */
+export interface NetworkSliceData {
+    name: string;
+    identifier: string;
+    usageState: string;
+}
+
+/** Interface for Network Slice instance Data */
+export interface NSTInstanceDetails {
+    name: string;
+    id: string;
+    'nst-ref': string;
+    'operational-status': string;
+    'config-status': string;
+    'detailed-status': string;
+}
+/** interface for the Network Slice instance Data in datasource Table */
+export interface NSTInstanceData {
+    name: string;
+    identifier: string;
+    NstName: string;
+    OperationalStatus: string;
+    ConfigStatus: string;
+    DetailedStatus: string;
+}