blob: eb2bec3d62924ded7ebc1e627fb87384b90f46a3 [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,
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',
kumaran.m3b4814a2020-05-01 19:48:54 +053057 configStateFirstStep = 'init',
58 configStateSecondStep = 'configured',
59 configStateThirdStep = 'failed',
60 historyStateFirstStep = 'PROCESSING',
61 historyStateSecondStep = 'COMPLETED',
62 historyStateThirdStep = 'FAILED',
63 wimOperationalStateFirstStep = 'PROCESSING',
64 wimOperationalStateStateSecondStep = 'ENABLED',
65 wimOperationalStateThirdStep = 'ERROR',
66 vimOperationalStateFirstStep = 'PROCESSING',
67 vimOperationalStateStateSecondStep = 'ENABLED',
68 vimOperationalStateThirdStep = 'ERROR',
69 sdnOperationalStateFirstStep = 'PROCESSING',
70 sdnOperationalStateStateSecondStep = 'ENABLED',
71 sdnOperationalStateThirdStep = 'ERROR',
72 k8OperationalStateFirstStep = 'PROCESSING',
73 k8OperationalStateStateSecondStep = 'ENABLED',
74 k8OperationalStateThirdStep = 'ERROR'
75}
76/** Interface for Post options */
77export interface POSTAPIRESOURCE {
78 apiURLHeader: APIURLHEADER;
79 payload?: object;
80}
81/** Interface for ApiURL Header */
82export interface APIURLHEADER {
83 url: string;
84 httpOptions?: APIHEADERS;
85}
86/** Interface for the Get Method with response type */
87export interface GETAPIURLHEADER {
88 headers: HttpHeaders;
89 responseType: string;
90}
91/** Interface for Httpoptions Header */
92interface APIHEADERS {
93 headers: HttpHeaders;
94}
95/** Interface for the Error */
96export interface ERRORDATA {
97 error: ERRORDETAILSDATA;
98}
99/** Interface for the Error Details */
100interface ERRORDETAILSDATA {
101 detail: string;
102 code?: string;
103 status?: number;
104 text?: Function;
105}
106/** Handle the URL params */
107export interface URLPARAMS {
108 page: string;
109 id: string;
110 titleName?: string;
111 forceDeleteType?: boolean;
112 name?: string;
113 memberIndex?: object;
114 nsConfig?: object;
115 projectID?: string;
116 username?: string;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530117 vnfID?: [];
118 nsID?: string;
119 nsd?: NSD;
120 data?: VNFD[];
Barath Kumar Rf2ae5462021-03-01 12:52:33 +0530121 configs?: object;
122 actions?: object;
123 executedActions?: EXECUTEDACTIONS[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530124}
125/** Handle the Delete params */
126export interface DELETEPARAMS {
127 identifier: string;
128 name?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530129 projectName?: string;
130 userName?: string;
131 username?: string;
132 page?: string;
133 id?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530134 productName?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530135}
136
137/** Interface for the Delete Details */
138export interface MODALCLOSERESPONSEDATA {
139 message: string;
140}
141
142/** Interface for the modal closer */
143export interface MODALCLOSERESPONSEWITHCP {
144 message: string;
145 connection_point?: string;
146}
147
148/** Interface for local storage settings */
149export interface LOCALSTORAGE {
150 id_token?: string;
151 project_id?: string;
152 expires?: string;
153 username?: string;
154 project?: string;
155 project_name?: string;
156 id?: string;
157 admin?: boolean;
158 isAdmin?: string;
159 token_state?: string;
160}
161/** Interface for Tar settings */
162export interface TARSETTINGS {
163 name?: string;
164 'type'?: string;
165 readAsString?: Function;
166 buffer: ArrayBuffer;
Barath Kumar Rd477b852020-07-07 15:24:05 +0530167 header_offset?: Number;
168 size?: number;
Barath Kumar Rdb1aeb02020-10-13 18:14:16 +0530169 linkname?: string;
170 uname?: string;
171 gname?: string;
172}
173/** Interface for File Settings */
174export interface FILESETTINGS {
175 'type'?: string;
176 linkname?: string;
177 owner?: string;
178 group?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530179}
180/** Interface for Package information */
181export interface PACKAGEINFO {
182 id?: string;
183 packageType?: string;
184 descriptor: string;
185}
186
187/** Interface For the Pagination pager in ng-smarttable */
188export interface PAGERSMARTTABLE {
189 display: boolean;
190 perPage: number;
191}
192/** Interface for breadcrumb item */
193export interface BREADCRUMBITEM {
194 title: string;
195 url: string;
196}
197/** Interface For the Pagination pager in ng-smarttable */
198export interface SMARTTABLECLASS {
199 // tslint:disable-next-line: no-reserved-keywords
200 class: string;
201}
202/** Constants of the VIM Types */
203export const VIM_TYPES: TYPESECTION[] = [
204 { value: 'openstack', title: 'Openstack' },
205 { value: 'aws', title: 'AWS' },
206 { value: 'vmware', title: 'VMware vCD' },
207 { value: 'openvim', title: 'OpenVIM' },
208 { value: 'opennebula', title: 'OpenNebula' },
209 { value: 'azure', title: 'Azure' }
210];
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;
SANDHYA.JSa9816552022-04-12 09:07:08 +0530336 old_password?: string;
Barath Kumar R16070582021-02-08 18:19:35 +0530337}
SANDHYA.JS4a7a5422021-05-15 15:35:22 +0530338/** Interface for the LABELVALUE */
339export interface LABELVALUE {
340 label: string;
341 value: string;
342}