ea1cb71e41d8690c1792621f043e42d3dc8db627
[osm/NG-UI.git] / src / models / VimAccountModel.ts
1 /*
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  */
18 /**
19  * @file  Model for VimAccount Details related information.
20  */
21
22 import { NSInstanceDetails } from 'NSInstanceModel';
23
24 /** Interface for VimAccountDetails */
25 export interface VimAccountDetails {
26     description: string;
27     'vim_tenant_name': string;
28     schema_version: string;
29     schema_type: string;
30     config: CONFIG;
31     _id: string;
32     vim_password: string;
33     _admin: ADMIN;
34     vim_url: string;
35     vim_user: string;
36     vim_type: string;
37     name: string;
38 }
39
40 /** Interface for _ADMIN */
41 interface ADMIN {
42     projects_write: string[];
43     deployed: Deployed;
44     operationalState: string;
45     modified: string;
46     projects_read: string[];
47     'detailed-status': string;
48     created: string;
49 }
50
51 /** Interface for Deployed */
52 interface Deployed {
53     'RO-account': string;
54     RO: string;
55 }
56
57 /** Interface for Config */
58 export interface CONFIG {
59     sdn_controller?: string;
60     use_floating_ip?: string;
61     location?: string;
62     sdn_port_mapping?: string;
63     vim_network_name?: string;
64     security_groups?: string;
65     availabilityZone?: string;
66     region_name?: string;
67     insecure?: string;
68     use_existing_flavors?: string;
69     use_internal_endpoint?: string;
70     additional_conf?: string;
71     APIversion?: string;
72     project_domain_id?: string;
73     project_domain_name?: string;
74     user_domain_id?: string;
75     user_domain_name?: string;
76     keypair?: string;
77     dataplane_physical_net?: string;
78     microversion?: string;
79     vpc_cidr_block?: string;
80     flavor_info?: string;
81     orgname?: string;
82     vcenter_ip?: string;
83     vcenter_port?: string;
84     admin_username?: string;
85     vcenter_user?: string;
86     admin_password?: string;
87     vcenter_password?: string;
88     nsx_manager?: string;
89     vrops_site?: string;
90     nsx_user?: string;
91     vrops_user?: string;
92     nsx_password?: string;
93     vrops_password?: string;
94     subscription_id?: string;
95     resource_group?: string;
96     vnet_name?: string;
97     flavors_pattern?: string;
98 }
99
100 /** Interface for VIMData */
101 export interface VIMData {
102     name?: string;
103     identifier: string;
104     'type': string;
105     operationalState: string;
106     description: string;
107     page?: string;
108     instancesData?: NSInstanceDetails[];
109 }
110 /** Interface for VIMLOCATION */
111 export interface VIMLOCATION {
112     features: FEATURES[];
113     'type': string;
114 }
115 /** Interface for FEATURES */
116 export interface FEATURES {
117     geometry: GEOMETRY;
118     'type': string;
119     properties: PROPERTIES;
120 }
121 /** Interface for GEOMETRY */
122 interface GEOMETRY {
123     coordinates: [];
124 }
125 /** Interface for PROPERTIES */
126 interface PROPERTIES {
127     extent: [];
128     country: string;
129     name: string;
130     state: string;
131 }
132 /** Interface for the VIMLOCATIONDATA */
133 export interface VIMLOCATIONDATA {
134     label: string;
135     value: string;
136 }