-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathnsgvs.json
467 lines (467 loc) · 20.4 KB
/
nsgvs.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
{
"$schema": "http://json-schema.org/draft-06/schema#",
"$id": "urn:nuage-metroae:nsgvs",
"title": "Network Services Gateway",
"description": "Specify configuration for Nuage MetroAE NSGvs.",
"type": "array",
"widget": "form",
"items": {
"widget": "item",
"type": "object",
"title": "NSGv",
"additionalProperties": false,
"properties": {
"vmname": {
"type": "string",
"format": "hostname",
"title": "VM name",
"description": "Name of the NSGv VM on the hypervisor/vcenter",
"sectionBegin": "VM and Target Server",
"propertyOrder": 10
},
"target_server_type": {
"type": "string",
"title": "Target Server type",
"description": "Type of environment into which the NSGv will be instantiated",
"propertyOrder": 20,
"enum": ["kvm", "vcenter", "aws"]
},
"target_server": {
"type": "string",
"format": "hostname",
"title": "Target Server hostname",
"description": "Hostname or IP address of the hypervisor or vCenter server where the NSGv will be instantiated",
"propertyOrder": 30
},
"cpu_cores": {
"type": "integer",
"title": "Number of CPU cores",
"description": "Number of CPU cores to defined for the VM",
"default": 1,
"minimum": 1,
"sectionEnd": "VM and Target Server",
"propertyOrder": 40,
"target_server_type": "kvm"
},
"bootstrap_method": {
"type": "string",
"title": "Bootstrap Method",
"enum": ["none", "zfb_metro", "zfb_external","activation_link"],
"default": "none",
"description": "Bootstrap method for the NSGv. The default is 'none' which means no bootstrap will be performed. 'zfb_metro' creates a boostrap ISO file based on the contents of the file nsgv_bootstrap.yml. 'zfb_external' is used when a 3rd-party ISO file is to be used.",
"sectionBegin": "Bootstrap Parameters",
"propertyOrder": 50
},
"iso_path": {
"type": "string",
"title": "External Bootstrap ISO File Directory",
"description": "Local path to the 3rd-party ISO file to use for bootstrap. Only required when bootstrap_method id set to 'zfb_external'",
"propertyOrder": 60
},
"iso_file": {
"type": "string",
"title": "External Bootstrap ISO File Name",
"description": "Name of the 3rd-party ISO file to use for bootstrap. Only required when bootstrap_method id set to 'zfb_external'",
"propertyOrder": 70
},
"nsgv_ip": {
"type": "string",
"title": "IP Address to assign to NSGv by VNSUtil",
"format": "ipv4",
"default": "",
"propertyOrder": 80
},
"nsgv_mac": {
"type": "string",
"title": "NSGV MAC Address",
"pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
"description": "MAC address the proxy will use to recognize the NSGV at boot/DHCP time. Only required when bootstrap_method is set to 'zfb_metro'",
"sectionEnd": "Bootstrap Parameters",
"propertyOrder": 90
},
"mgmt_bridge": {
"type": "string",
"default": "(global Bridge interface)",
"title": "Management Network Bridge",
"description": "Network Bridge used for the management path of this component. This will be a Distributed Virtual PortGroup (DVPG) when deploying on vCenter or a Linux network bridge.",
"advanced": true,
"sectionBegin": "Bridge info",
"propertyOrder": 100
},
"data_bridge": {
"type": "string",
"default": "(global Bridge interface)",
"title": "Data Network Bridge",
"description": "Network Bridge used for the data path of this component. This will be a Distributed Virtual PortGroup (DVPG) when deploying on vCenter or a Linux network bridge.",
"advanced": true,
"propertyOrder": 110
},
"access_bridge": {
"type": "string",
"title": "NSGv Access Bridge",
"description": "Network bridge used for the access network when installing an NSGv. This will be a Distributed Virtual PortGroup (DVPG) when deploying on vCenter or a Linux network bridge",
"default": "(global Bridge interface)",
"sectionEnd": "Bridge info",
"propertyOrder": 120
},
"vcenter_datacenter": {
"type": "string",
"title": "vCenter Datacenter Name",
"description": "Name of the vCenter Datacenter on which the NSG VM will be deployed. Defaults to the common vCenter Datacenter Name if not defined here.",
"default": "(global vCenter Datacenter Name)",
"target_server_type": "vcenter",
"advanced": true,
"sectionBegin": "vCenter Parameters",
"propertyOrder": 130
},
"vcenter_cluster": {
"type": "string",
"title": "vCenter Cluster Name",
"description": "Name of the vCenter Cluster on which the NSG VM will be deployed. Defaults to the common vCenter Cluster Name if not defined here.",
"default": "(global vCenter Cluster Name)",
"target_server_type": "vcenter",
"advanced": true,
"propertyOrder": 140
},
"vcenter_host_reference": {
"type": "string",
"title": "vCenter Host Reference",
"default": "(global vCenter Host Reference)",
"description": "Requires ovftool 4.3. Reference to the host on the vCenter cluster on which to deploy Nuage components",
"target_server_type": "vcenter",
"advanced": true,
"propertyOrder": 150
},
"vcenter_datastore": {
"type": "string",
"title": "vCenter Datastore Name",
"description": "Name of the vCenter Datastore on which the NSG VM will be deployed. Defaults to the common vCenter Datastore Name if not defined here.",
"default": "(global vCenter Datastore Name)",
"target_server_type": "vcenter",
"advanced": true,
"propertyOrder": 160
},
"vcenter_host_clusters_folder": {
"type": "string",
"title": "vCenter Hosts and Clusters Folder",
"description": "Optional path to a hosts and clusters folder defined on vCenter where VM will be instantiated",
"sectionEnd": "vCenter Parameters",
"advanced": true,
"target_server_type": "vcenter",
"propertyOrder": 170
},
"preserve_vm": {
"type": "boolean",
"title": "Preserve NSGV VM",
"description": "Shuts down the vm during destroy process, instead of actually deleting them.",
"propertyOrder": 180,
"advanced": true
},
"aws_region": {
"type": "string",
"title": "AWS Region",
"description": "AWS Region",
"sectionBegin": "AWS Parameters",
"target_server_type": "aws",
"propertyOrder": 190
},
"aws_ami_id": {
"type": "string",
"title": "AWS AMI ID",
"description": "AMI ID for AWS instance",
"target_server_type": "aws",
"propertyOrder": 200
},
"aws_upgrade_ami_id": {
"type": "string",
"title": "AWS AMI ID for Upgrading Instance",
"description": "AMI ID of the upgraded image",
"target_server_type": "aws",
"propertyOrder": 210
},
"aws_instance_type": {
"type": "string",
"title": "AWS Instance Type",
"description": "Instance Type of the AWS Instance",
"target_server_type": "aws",
"propertyOrder": 220
},
"aws_key_name": {
"type": "string",
"title": "AWS Keypair Name",
"description": "Name of the Keypair used to connect to VPC",
"target_server_type": "aws",
"propertyOrder": 230
},
"aws_access_eni": {
"type": "string",
"title": "AWS Access ENI",
"description": "ENI for Access Subnetwork",
"target_server_type": "aws",
"propertyOrder": 240
},
"aws_data_eni": {
"type": "string",
"title": "AWS Data ENI",
"description": "ENI for Access Subnetwork",
"target_server_type": "aws",
"propertyOrder": 250
},
"aws_eip_allocid": {
"type": "string",
"title": "AWS WAN EIP AllocID",
"description": "AWS WAN EIP AllocID",
"sectionEnd": "AWS Parameters",
"target_server_type": "aws",
"propertyOrder": 260
},
"provision_vpc_cidr": {
"type": "string",
"title": "AWS Provision VPC CIDR",
"description": "CIDR for provisioning a VPC for the NSGv on AWS",
"default": "",
"target_server_type": "aws",
"advanced": true,
"sectionBegin": "AWS VPC Parameters",
"propertyOrder": 270
},
"provision_vpc_nsg_wan_subnet_cidr": {
"type": "string",
"title": "AWS Provision VPC NSG WAN Subnet CIDR",
"description": "WAN Subnet CIDR for provisioning a VPC for the NSGv on AWS",
"default": "",
"target_server_type": "aws",
"advanced": true,
"propertyOrder": 280
},
"provision_vpc_nsg_lan_subnet_cidr": {
"type": "string",
"title": "AWS Provision VPC NSG LAN Subnet CIDR",
"description": "LAN Subnet CIDR for provisioning a VPC for the NSGv on AWS",
"default": "",
"target_server_type": "aws",
"advanced": true,
"propertyOrder": 290
},
"provision_vpc_private_subnet_cidr": {
"type": "string",
"title": "AWS Provision VPC Private Subnet CIDR",
"description": "Private Subnet CIDR for provisioning a VPC for the NSGv on AWS",
"default": "",
"target_server_type": "aws",
"advanced": true,
"propertyOrder": 300
},
"deploy_only_nsgv": {
"type": "string",
"title": "Deploy Only NSGv on AWS",
"description": "Whether all components are being deployed on AWS or only the NSGv. Only needed when provision_vpc parameters are provided",
"default": "false",
"target_server_type": "aws",
"advanced": true,
"enum": ["true", "false"],
"propertyOrder": 310
},
"proxy_external_ip": {
"type": "string",
"title": "Proxy IP Address",
"description": "Externally routable IP address of the VNSUtil VM or the NUH used as a proxy for the NSGv on AWS. Required when deploying only the NSGv on AWS",
"default": "",
"target_server_type": "aws",
"advanced": true,
"sectionEnd": "AWS VPC Parameters",
"propertyOrder": 320
},
"nsg_organization": {
"type": "string",
"title": "NSG Organization",
"description": "Organization on the VSD to associate with the NSG being bootstrapped, overrides global setting.",
"default": "",
"sectionBegin": "NSGv Zero-Factor Bootstrap",
"advanced": true,
"propertyOrder": 330
},
"nsg_name": {
"type": "string",
"title": "NSG Name",
"description": "Name of the NSG on the VSD",
"default": "",
"advanced": true,
"propertyOrder": 340
},
"match_type": {
"type": "string",
"title": "Activation Matching Type",
"description": "Field type to match against for NSGv activation.",
"default": "none",
"enum": ["none", "hostname", "ip_address", "mac_address", "nsgateway_id", "serial_number", "uuid"],
"propertyOrder": 350
},
"match_value": {
"type": "string",
"title": "Activation Matching Value",
"description": "Value to match against for NSGv activation.",
"default": "",
"propertyOrder": 360
},
"ssh_service": {
"type": "boolean",
"title": "Enable SSH on NSGv",
"description": "Enables SSH on NSGv when set.",
"default": false,
"advanced": true,
"sectionEnd": "NSGv Zero-Factor Bootstrap",
"propertyOrder": 370
},
"nsg_template_name": {
"type": "string",
"title": "NSG Template Name",
"description": "Name of the NSG infra profile template on the VSD",
"default": "",
"advanced": true,
"sectionBegin": "NSG Advanced Options",
"propertyOrder": 380
},
"nsg_infra_profile_name": {
"type": "string",
"title": "NSG Infra Profile Name",
"description": "Name of the NSG infra profile on the VSD",
"default": "",
"advanced": true,
"propertyOrder": 390
},
"proxy_dns_name": {
"type": "string",
"title": "NSG Infra Profile Proxy DNS Name",
"description": "Name of the NSG infra profile proxy DNS on the VSD",
"default": "",
"advanced": true,
"propertyOrder": 400
},
"ssh_override": {
"type": "boolean",
"title": "Allow SSH Access Override",
"description": "Allows NSGs using this profile to override SSH access.",
"default": false,
"advanced": true,
"sectionEnd": "NSG Advanced Options",
"propertyOrder": 410
},
"vsc_infra_profile_name": {
"type": "string",
"title": "VSC Infra Profile Name",
"description": "Name of the VSC infra profile for the NSG on the VSD",
"default": "",
"advanced": true,
"sectionBegin": "VSC Info",
"propertyOrder": 420
},
"first_controller_address": {
"type": "string",
"title": "VSC Infra Profile First Controller",
"description": "Host name or IP address of the VSC infra profile first controller for the NSG",
"default": "",
"format": "hostname",
"advanced": true,
"propertyOrder": 430
},
"second_controller_address": {
"type": "string",
"title": "VSC Infra Profile Second Controller",
"description": "Host name or IP address of the VSC infra profile second controller for the NSG",
"default": "",
"format": "hostname",
"advanced": true,
"sectionEnd": "VSC Info",
"propertyOrder": 440
},
"network_port_name": {
"type": "string",
"title": "NSG Network Port Name",
"description": "Name of the network port for the NSG",
"default": "",
"advanced": true,
"propertyOrder": 450
},
"network_port_physical_name": {
"type": "string",
"title": "NSG Network Port Physical Name",
"description": "Physical name of the network port for the NSG",
"default": "port1",
"advanced": true,
"sectionBegin": "Network and Access Ports",
"propertyOrder": 460
},
"network_port_vlans": {
"type": "array",
"title": "NSG Network Port VLAN list",
"description": "VLAN name list of the network port for the NSG",
"advanced": true,
"propertyOrder": 470,
"items": {
"type": "string"
}
},
"access_port_name": {
"type": "string",
"title": "NSG Access Port Name",
"description": "Name of the access port for the NSG. Deprecated in favor of access_ports",
"default": "",
"advanced": true,
"propertyOrder": 480
},
"access_port_physical_name": {
"type": "string",
"title": "NSG Access Port Physical Name",
"description": "Physical name of the access port for the NSG. Deprecated in favor of access_ports",
"default": "port2",
"advanced": true,
"propertyOrder": 490
},
"access_port_vlan_range": {
"type": "string",
"title": "NSG Access Port VLAN Range",
"description": "VLAN range of the access port for the NSG. Deprecated in favor of access_ports",
"default": "",
"advanced": true,
"propertyOrder": 500
},
"access_port_vlan_number": {
"type": "integer",
"title": "NSG Access Port VLAN Number",
"description": "VLAN number of the NSG access port for the NSG. Deprecated in favor of access_ports",
"default": 0,
"advanced": true,
"propertyOrder": 510
},
"access_ports": {
"type": "array",
"title": "NSGv Access ports list name",
"description": "Name of access ports list.",
"propertyOrder": 520,
"items": {
"type": "string"
},
"sectionEnd": "Network and Access Ports"
},
"telnet_port": {
"type": "integer",
"title": "Telnet port for console",
"description": "The port for telnet to HV host to access NSGv serial or console terminal",
"default": 2300,
"advanced": true,
"sectionBegin": "Telnet and Credentials",
"propertyOrder": 530
},
"credentials_set": {
"type": "string",
"title": "Credentials set name",
"description": "Name of the credentials set for the vsd",
"sectionEnd": "Telnet and Credentials",
"propertyOrder": 540,
"advanced": true
}
},
"required": ["vmname", "target_server_type", "target_server"]
}
}