blob: a3038f1c8ad3d6301152c1e0f28c729e4829c9a6 [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 */
SANDHYA.JS0a34dfa2023-04-25 23:59:41 +053026/* eslint-disable */
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,
SANDHYA.JS4a7a5422021-05-15 15:35:22 +053046 timeOutDefaultSeconds = 5,
47 oneGB = 1024
kumaran.m3b4814a2020-05-01 19:48:54 +053048}
49/**
50 * handle count @enum
51 */
52export enum CONFIGCONSTANT {
53 operationalStateFirstStep = 'init',
54 operationalStateSecondStep = 'running',
55 operationalStateThirdStep = 'failed',
Barath Kumar R07698ab2021-03-30 11:50:42 +053056 operationalStateFourthStep = 'scaling',
SANDHYA.JS319d3282024-01-23 15:52:43 +053057 operationalStateFifthStep = 'healing',
kumaran.m3b4814a2020-05-01 19:48:54 +053058 configStateFirstStep = 'init',
59 configStateSecondStep = 'configured',
60 configStateThirdStep = 'failed',
61 historyStateFirstStep = 'PROCESSING',
62 historyStateSecondStep = 'COMPLETED',
63 historyStateThirdStep = 'FAILED',
64 wimOperationalStateFirstStep = 'PROCESSING',
65 wimOperationalStateStateSecondStep = 'ENABLED',
66 wimOperationalStateThirdStep = 'ERROR',
67 vimOperationalStateFirstStep = 'PROCESSING',
68 vimOperationalStateStateSecondStep = 'ENABLED',
69 vimOperationalStateThirdStep = 'ERROR',
70 sdnOperationalStateFirstStep = 'PROCESSING',
71 sdnOperationalStateStateSecondStep = 'ENABLED',
72 sdnOperationalStateThirdStep = 'ERROR',
73 k8OperationalStateFirstStep = 'PROCESSING',
74 k8OperationalStateStateSecondStep = 'ENABLED',
SANDHYA.JS99144582022-04-27 17:22:35 +053075 k8OperationalStateThirdStep = 'ERROR',
76 done = 'done',
SANDHYA.JS1b17c432023-04-26 17:54:57 +053077 close = 'close',
78 userActive = 'active',
79 userLocked = 'locked',
80 userExpired = 'expired',
81 userAlwaysActive = 'always-active'
kumaran.m3b4814a2020-05-01 19:48:54 +053082}
83/** Interface for Post options */
84export interface POSTAPIRESOURCE {
85 apiURLHeader: APIURLHEADER;
86 payload?: object;
87}
88/** Interface for ApiURL Header */
89export interface APIURLHEADER {
90 url: string;
91 httpOptions?: APIHEADERS;
92}
93/** Interface for the Get Method with response type */
94export interface GETAPIURLHEADER {
95 headers: HttpHeaders;
96 responseType: string;
97}
98/** Interface for Httpoptions Header */
99interface APIHEADERS {
100 headers: HttpHeaders;
101}
102/** Interface for the Error */
103export interface ERRORDATA {
104 error: ERRORDETAILSDATA;
105}
106/** Interface for the Error Details */
107interface ERRORDETAILSDATA {
108 detail: string;
109 code?: string;
110 status?: number;
111 text?: Function;
112}
113/** Handle the URL params */
114export interface URLPARAMS {
115 page: string;
116 id: string;
117 titleName?: string;
118 forceDeleteType?: boolean;
119 name?: string;
120 memberIndex?: object;
121 nsConfig?: object;
122 projectID?: string;
123 username?: string;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530124 vnfID?: [];
125 nsID?: string;
126 nsd?: NSD;
127 data?: VNFD[];
Barath Kumar Rf2ae5462021-03-01 12:52:33 +0530128 configs?: object;
129 actions?: object;
130 executedActions?: EXECUTEDACTIONS[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530131}
132/** Handle the Delete params */
133export interface DELETEPARAMS {
134 identifier: string;
135 name?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530136 projectName?: string;
137 userName?: string;
138 username?: string;
139 page?: string;
140 id?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530141 productName?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530142}
143
144/** Interface for the Delete Details */
145export interface MODALCLOSERESPONSEDATA {
146 message: string;
147}
148
149/** Interface for the modal closer */
150export interface MODALCLOSERESPONSEWITHCP {
151 message: string;
152 connection_point?: string;
153}
154
155/** Interface for local storage settings */
156export interface LOCALSTORAGE {
157 id_token?: string;
158 project_id?: string;
159 expires?: string;
160 username?: string;
161 project?: string;
162 project_name?: string;
163 id?: string;
164 admin?: boolean;
165 isAdmin?: string;
166 token_state?: string;
167}
168/** Interface for Tar settings */
169export interface TARSETTINGS {
170 name?: string;
171 'type'?: string;
172 readAsString?: Function;
173 buffer: ArrayBuffer;
Barath Kumar Rd477b852020-07-07 15:24:05 +0530174 header_offset?: Number;
175 size?: number;
Barath Kumar Rdb1aeb02020-10-13 18:14:16 +0530176 linkname?: string;
177 uname?: string;
178 gname?: string;
179}
180/** Interface for File Settings */
181export interface FILESETTINGS {
182 'type'?: string;
183 linkname?: string;
184 owner?: string;
185 group?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530186}
187/** Interface for Package information */
188export interface PACKAGEINFO {
189 id?: string;
190 packageType?: string;
191 descriptor: string;
192}
193
194/** Interface For the Pagination pager in ng-smarttable */
195export interface PAGERSMARTTABLE {
196 display: boolean;
197 perPage: number;
198}
199/** Interface for breadcrumb item */
200export interface BREADCRUMBITEM {
201 title: string;
202 url: string;
203}
204/** Interface For the Pagination pager in ng-smarttable */
205export interface SMARTTABLECLASS {
kumaran.m3b4814a2020-05-01 19:48:54 +0530206 class: string;
207}
208/** Constants of the VIM Types */
209export const VIM_TYPES: TYPESECTION[] = [
210 { value: 'openstack', title: 'Openstack' },
211 { value: 'aws', title: 'AWS' },
212 { value: 'vmware', title: 'VMware vCD' },
213 { value: 'openvim', title: 'OpenVIM' },
214 { value: 'opennebula', title: 'OpenNebula' },
SANDHYA.JS875b4a12022-04-26 13:05:18 +0530215 { value: 'azure', title: 'Azure' },
216 { value: 'dummy', title: 'Dummy' }
kumaran.m3b4814a2020-05-01 19:48:54 +0530217];
218/** Constants of the SDN Types */
219export const SDN_TYPES: TYPESECTION[] = [
220 { value: 'arista', title: 'Arista' },
221 { value: 'floodlightof', title: 'Floodlight openflow' },
222 { value: 'odlof', title: 'OpenDaylight openflow' },
223 { value: 'onosof', title: 'ONOS openflow' },
224 { value: 'onos_vpls', title: 'ONOS vpls' }
225];
226/** Constants of the WIM Types */
227export const WIM_TYPES: TYPESECTION[] = [
228 { value: 'arista', title: 'Arista' },
229 { value: 'dynpac', title: 'DynPac' },
230 { value: 'floodlightof', title: 'Floodlight openflow' },
231 { value: 'odlof', title: 'OpenDaylight openflow' },
232 { value: 'onosof', title: 'ONOS openflow' },
233 { value: 'onos_vpls', title: 'ONOS vpls' },
234 { value: 'tapi', title: 'TAPI' }
235];
Barath Kumar R403234e2020-07-07 15:48:58 +0530236/** Constants of the OSM Repo Types */
237export const OSMREPO_TYPES: TYPESECTION[] = [
238 { value: 'osm', title: 'OSM' }
239];
kumaran.m3b4814a2020-05-01 19:48:54 +0530240/** Interface for List, Add WIM & SDN Types */
241export interface TYPESECTION {
242 value: string;
243 title: string;
244}
Barath Kumar R063a3f12020-12-29 16:35:09 +0530245/** Interface for PRIMITIVETYPES */
246export interface PRIMITIVETYPES {
247 title: string;
248 value: string;
249}
250/** Interface for the PRIMITIVEDATA */
251export interface PRIMITIVEDATA {
252 parameter: {}[];
253}
Barath Kumar R16070582021-02-08 18:19:35 +0530254/** Constant for VIM type Openstack's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530255export const TYPEOPENSTACK: {} = {
256 sdn_controller: '',
257 APIversion: '',
258 sdn_port_mapping: '',
259 project_domain_id: '',
260 vim_network_name: '',
261 project_domain_name: '',
262 config_vim_ype: '',
263 user_domain_id: '',
264 security_groups: '',
265 user_domain_name: '',
Barath Kumar R1245fc82021-04-16 13:34:06 +0530266 availability_zone: '',
Barath Kumar Rd477b852020-07-07 15:24:05 +0530267 keypair: '',
268 region_name: '',
269 dataplane_physical_net: '',
270 insecure: '',
271 use_floating_ip: '',
272 use_internal_endpoint: '',
273 microversion: '',
274 additional_conf: '',
275 use_existing_flavors: ''
276};
Barath Kumar R16070582021-02-08 18:19:35 +0530277/** Constant for VIM type AWS's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530278export const TYPEAWS: {} = {
279 sdn_controller: '',
280 vpc_cidr_block: '',
281 sdn_port_mapping: '',
282 security_groups: '',
283 vim_network_name: '',
284 keypair: '',
285 region_name: '',
286 flavor_info: '',
287 additional_conf: ''
288};
Barath Kumar R16070582021-02-08 18:19:35 +0530289/** Constant for VIM type VMWARE's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530290export const TYPEVMWARE: {} = {
291 sdn_controller: '',
292 orgname: '',
293 sdn_port_mapping: '',
294 vcenter_ip: '',
295 vim_network_name: '',
296 admin_username: '',
297 admin_password: '',
298 vcenter_port: '',
299 vcenter_user: '',
300 vcenter_password: '',
301 nsx_manager: '',
302 nsx_user: '',
303 nsx_password: '',
304 vrops_site: '',
305 vrops_user: '',
306 vrops_password: '',
307 additional_conf: ''
308};
Barath Kumar R16070582021-02-08 18:19:35 +0530309/** Constant for VIM type OPENVIMNEBULA's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530310export const TYPEOPENVIMNEBULA: {} = {
311 sdn_controller: '',
312 sdn_port_mapping: '',
313 vim_network_name: '',
314 additional_conf: ''
315};
Barath Kumar R16070582021-02-08 18:19:35 +0530316/** Constant for VIM type AZURE's Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530317export const TYPEAZURE: {} = {
318 subscription_id: '',
319 region_name: '',
320 resource_group: '',
321 vnet_name: '',
322 flavors_pattern: ''
323};
Barath Kumar R16070582021-02-08 18:19:35 +0530324/** Constant for VIM other type Config */
Barath Kumar Rd477b852020-07-07 15:24:05 +0530325export const TYPEOTERS: {} = {
326 sdn_controller: '',
327 sdn_port_mapping: '',
328 vim_network_name: '',
329 use_floating_ip: '',
330 use_internal_endpoint: '',
331 additional_conf: '',
332 use_existing_flavors: ''
333};
Barath Kumar R16070582021-02-08 18:19:35 +0530334/** Interface for Domains */
335export interface DOMAINS {
336 project_domain_name: string;
337 user_domain_name: string;
338}
339/** Interface for Login */
340export interface LOGINPARAMS {
341 username?: string;
342 password?: string;
SANDHYA.JSa9816552022-04-12 09:07:08 +0530343 old_password?: string;
Barath Kumar R16070582021-02-08 18:19:35 +0530344}
SANDHYA.JS4a7a5422021-05-15 15:35:22 +0530345/** Interface for the LABELVALUE */
346export interface LABELVALUE {
347 label: string;
348 value: string;
349}
SANDHYA.JS1b17c432023-04-26 17:54:57 +0530350/** Interface for Login */
351export interface UNLOCKPARAMS {
352 system_admin_id?: string;
353 unlock?: boolean;
354 renew?: boolean;
355}