blob: e71f46fb5c29d3f399a8dc5caa118bded2cb3ee7 [file] [log] [blame]
kumaran.m3b4814a2020-05-01 19:48:54 +05301/*
2 Copyright 2020 TATA ELXSI
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 implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
17 */
18import { HttpHeaders } from '@angular/common/http';
Barath Kumar R07698ab2021-03-30 11:50:42 +053019import { NSD } from 'NSInstanceModel';
Barath Kumar Rf2ae5462021-03-01 12:52:33 +053020import { EXECUTEDACTIONS } from 'OperationalModel';
Barath Kumar R07698ab2021-03-30 11:50:42 +053021import { VNFD } from 'VNFDModel';
kumaran.m3b4814a2020-05-01 19:48:54 +053022
23/**
24 * @file Model for Commonly used information.
25 */
Barath Kumar R063a3f12020-12-29 16:35:09 +053026// tslint:disable: completed-docs
kumaran.m3b4814a2020-05-01 19:48:54 +053027/**
28 * handle count @enum
29 */
30export enum CONSTANTNUMBER {
31 randomNumber = 4,
32 osmapviewlong = 77.673,
33 osmapviewlat = 19.166,
34 chennailong = 80.2809,
35 chennailat = 13.0781,
36 bangalorelong = 77.5868,
37 bangalorelat = 12.9718,
38 mumbailong = 72.8342,
39 mumbailat = 18.9394,
40 tirvandrumlong = 76.9544,
41 tirvandrumlat = 8.5009,
42 oneMB = 1048576,
43 paginationDefaultValue = 10,
44 splitLongitude = 1,
Barath Kumar Rf2ae5462021-03-01 12:52:33 +053045 splitLatitude = 2,
46 timeOutDefaultSeconds = 5
kumaran.m3b4814a2020-05-01 19:48:54 +053047}
48/**
49 * handle count @enum
50 */
51export enum CONFIGCONSTANT {
52 operationalStateFirstStep = 'init',
53 operationalStateSecondStep = 'running',
54 operationalStateThirdStep = 'failed',
Barath Kumar R07698ab2021-03-30 11:50:42 +053055 operationalStateFourthStep = 'scaling',
kumaran.m3b4814a2020-05-01 19:48:54 +053056 configStateFirstStep = 'init',
57 configStateSecondStep = 'configured',
58 configStateThirdStep = 'failed',
59 historyStateFirstStep = 'PROCESSING',
60 historyStateSecondStep = 'COMPLETED',
61 historyStateThirdStep = 'FAILED',
62 wimOperationalStateFirstStep = 'PROCESSING',
63 wimOperationalStateStateSecondStep = 'ENABLED',
64 wimOperationalStateThirdStep = 'ERROR',
65 vimOperationalStateFirstStep = 'PROCESSING',
66 vimOperationalStateStateSecondStep = 'ENABLED',
67 vimOperationalStateThirdStep = 'ERROR',
68 sdnOperationalStateFirstStep = 'PROCESSING',
69 sdnOperationalStateStateSecondStep = 'ENABLED',
70 sdnOperationalStateThirdStep = 'ERROR',
71 k8OperationalStateFirstStep = 'PROCESSING',
72 k8OperationalStateStateSecondStep = 'ENABLED',
73 k8OperationalStateThirdStep = 'ERROR'
74}
75/** Interface for Post options */
76export interface POSTAPIRESOURCE {
77 apiURLHeader: APIURLHEADER;
78 payload?: object;
79}
80/** Interface for ApiURL Header */
81export interface APIURLHEADER {
82 url: string;
83 httpOptions?: APIHEADERS;
84}
85/** Interface for the Get Method with response type */
86export interface GETAPIURLHEADER {
87 headers: HttpHeaders;
88 responseType: string;
89}
90/** Interface for Httpoptions Header */
91interface APIHEADERS {
92 headers: HttpHeaders;
93}
94/** Interface for the Error */
95export interface ERRORDATA {
96 error: ERRORDETAILSDATA;
97}
98/** Interface for the Error Details */
99interface ERRORDETAILSDATA {
100 detail: string;
101 code?: string;
102 status?: number;
103 text?: Function;
104}
105/** Handle the URL params */
106export interface URLPARAMS {
107 page: string;
108 id: string;
109 titleName?: string;
110 forceDeleteType?: boolean;
111 name?: string;
112 memberIndex?: object;
113 nsConfig?: object;
114 projectID?: string;
115 username?: string;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530116 vnfID?: [];
117 nsID?: string;
118 nsd?: NSD;
119 data?: VNFD[];
Barath Kumar Rf2ae5462021-03-01 12:52:33 +0530120 configs?: object;
121 actions?: object;
122 executedActions?: EXECUTEDACTIONS[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530123}
124/** Handle the Delete params */
125export interface DELETEPARAMS {
126 identifier: string;
127 name?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530128 projectName?: string;
129 userName?: string;
130 username?: string;
131 page?: string;
132 id?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530133 productName?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530134}
135
136/** Interface for the Delete Details */
137export interface MODALCLOSERESPONSEDATA {
138 message: string;
139}
140
141/** Interface for the modal closer */
142export interface MODALCLOSERESPONSEWITHCP {
143 message: string;
144 connection_point?: string;
145}
146
147/** Interface for local storage settings */
148export interface LOCALSTORAGE {
149 id_token?: string;
150 project_id?: string;
151 expires?: string;
152 username?: string;
153 project?: string;
154 project_name?: string;
155 id?: string;
156 admin?: boolean;
157 isAdmin?: string;
158 token_state?: string;
159}
160/** Interface for Tar settings */
161export interface TARSETTINGS {
162 name?: string;
163 'type'?: string;
164 readAsString?: Function;
165 buffer: ArrayBuffer;
Barath Kumar Rd477b852020-07-07 15:24:05 +0530166 header_offset?: Number;
167 size?: number;
Barath Kumar Rdb1aeb02020-10-13 18:14:16 +0530168 linkname?: string;
169 uname?: string;
170 gname?: string;
171}
172/** Interface for File Settings */
173export interface FILESETTINGS {
174 'type'?: string;
175 linkname?: string;
176 owner?: string;
177 group?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530178}
179/** Interface for Package information */
180export interface PACKAGEINFO {
181 id?: string;
182 packageType?: string;
183 descriptor: string;
184}
185
186/** Interface For the Pagination pager in ng-smarttable */
187export interface PAGERSMARTTABLE {
188 display: boolean;
189 perPage: number;
190}
191/** Interface for breadcrumb item */
192export interface BREADCRUMBITEM {
193 title: string;
194 url: string;
195}
196/** Interface For the Pagination pager in ng-smarttable */
197export interface SMARTTABLECLASS {
198 // tslint:disable-next-line: no-reserved-keywords
199 class: string;
200}
201/** Constants of the VIM Types */
202export const VIM_TYPES: TYPESECTION[] = [
203 { value: 'openstack', title: 'Openstack' },
204 { value: 'aws', title: 'AWS' },
205 { value: 'vmware', title: 'VMware vCD' },
206 { value: 'openvim', title: 'OpenVIM' },
207 { value: 'opennebula', title: 'OpenNebula' },
SANDHYA.JS87755de2022-04-26 13:05:18 +0530208 { value: 'azure', title: 'Azure' },
209 { value: 'dummy', title: 'Dummy' }
kumaran.m3b4814a2020-05-01 19:48:54 +0530210];
211/** Constants of the SDN Types */
212export const SDN_TYPES: TYPESECTION[] = [
213 { value: 'arista', title: 'Arista' },
214 { value: 'floodlightof', title: 'Floodlight openflow' },
215 { value: 'odlof', title: 'OpenDaylight openflow' },
216 { value: 'onosof', title: 'ONOS openflow' },
217 { value: 'onos_vpls', title: 'ONOS vpls' }
218];
219/** Constants of the WIM Types */
220export const WIM_TYPES: TYPESECTION[] = [
221 { value: 'arista', title: 'Arista' },
222 { value: 'dynpac', title: 'DynPac' },
223 { value: 'floodlightof', title: 'Floodlight openflow' },
224 { value: 'odlof', title: 'OpenDaylight openflow' },
225 { value: 'onosof', title: 'ONOS openflow' },
226 { value: 'onos_vpls', title: 'ONOS vpls' },
227 { value: 'tapi', title: 'TAPI' }
228];
Barath Kumar R403234e2020-07-07 15:48:58 +0530229/** Constants of the OSM Repo Types */
230export const OSMREPO_TYPES: TYPESECTION[] = [
231 { value: 'osm', title: 'OSM' }
232];
kumaran.m3b4814a2020-05-01 19:48:54 +0530233/** Interface for List, Add WIM & SDN Types */
234export interface TYPESECTION {
235 value: string;
236 title: string;
237}
Barath Kumar R063a3f12020-12-29 16:35:09 +0530238/** Interface for PRIMITIVETYPES */
239export interface PRIMITIVETYPES {
240 title: string;
241 value: string;
242}
243/** Interface for the PRIMITIVEDATA */
244export interface PRIMITIVEDATA {
245 parameter: {}[];
246}
Barath Kumar R16070582021-02-08 18:19:35 +0530247/** Constant for VIM type Openstack's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530248export const TYPEOPENSTACK: {} = {
249 sdn_controller: '',
250 APIversion: '',
251 sdn_port_mapping: '',
252 project_domain_id: '',
253 vim_network_name: '',
254 project_domain_name: '',
255 config_vim_ype: '',
256 user_domain_id: '',
257 security_groups: '',
258 user_domain_name: '',
Barath Kumar R1245fc82021-04-16 13:34:06 +0530259 availability_zone: '',
Barath Kumar Rd477b852020-07-07 15:24:05 +0530260 keypair: '',
261 region_name: '',
262 dataplane_physical_net: '',
263 insecure: '',
264 use_floating_ip: '',
265 use_internal_endpoint: '',
266 microversion: '',
267 additional_conf: '',
268 use_existing_flavors: ''
269};
Barath Kumar R16070582021-02-08 18:19:35 +0530270/** Constant for VIM type AWS's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530271export const TYPEAWS: {} = {
272 sdn_controller: '',
273 vpc_cidr_block: '',
274 sdn_port_mapping: '',
275 security_groups: '',
276 vim_network_name: '',
277 keypair: '',
278 region_name: '',
279 flavor_info: '',
280 additional_conf: ''
281};
Barath Kumar R16070582021-02-08 18:19:35 +0530282/** Constant for VIM type VMWARE's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530283export const TYPEVMWARE: {} = {
284 sdn_controller: '',
285 orgname: '',
286 sdn_port_mapping: '',
287 vcenter_ip: '',
288 vim_network_name: '',
289 admin_username: '',
290 admin_password: '',
291 vcenter_port: '',
292 vcenter_user: '',
293 vcenter_password: '',
294 nsx_manager: '',
295 nsx_user: '',
296 nsx_password: '',
297 vrops_site: '',
298 vrops_user: '',
299 vrops_password: '',
300 additional_conf: ''
301};
Barath Kumar R16070582021-02-08 18:19:35 +0530302/** Constant for VIM type OPENVIMNEBULA's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530303export const TYPEOPENVIMNEBULA: {} = {
304 sdn_controller: '',
305 sdn_port_mapping: '',
306 vim_network_name: '',
307 additional_conf: ''
308};
Barath Kumar R16070582021-02-08 18:19:35 +0530309/** Constant for VIM type AZURE's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530310export const TYPEAZURE: {} = {
311 subscription_id: '',
312 region_name: '',
313 resource_group: '',
314 vnet_name: '',
315 flavors_pattern: ''
316};
Barath Kumar R16070582021-02-08 18:19:35 +0530317/** Constant for VIM other type Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530318export const TYPEOTERS: {} = {
319 sdn_controller: '',
320 sdn_port_mapping: '',
321 vim_network_name: '',
322 use_floating_ip: '',
323 use_internal_endpoint: '',
324 additional_conf: '',
325 use_existing_flavors: ''
326};
Barath Kumar R16070582021-02-08 18:19:35 +0530327/** Interface for Domains */
328export interface DOMAINS {
329 project_domain_name: string;
330 user_domain_name: string;
331}
332/** Interface for Login */
333export interface LOGINPARAMS {
334 username?: string;
335 password?: string;
336}