/
vnc_cfg.xsd
3168 lines (2827 loc) · 164 KB
/
vnc_cfg.xsd
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
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!--
Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
-->
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ifmap="http://www.trustedcomputinggroup.org/2010/IFMAP/2"
xmlns:meta="http://www.trustedcomputinggroup.org/2010/IFMAP-METADATA/2"
targetNamespace="http://www.contrailsystems.com/2012/VNC-CONFIG/0">
<!-- Definition of IFMAP-SEMANTICS-IDL
It describes relationship and properties of meta data elements with
respect to identifier. It appears in comment after the referenced
elements. All statements are "element = some property"
Start the contains of comment with #IFMAP-SEMANTICS-IDL
#IFMAP-SEMANTICS-IDL list-of-statements
list-of-statements := list-of-statements, statement
statement := Link('element', 'identifier', 'identifier', [ref-type-list],\
'property-required', 'property-operations')|
Type('element', [type-list])|
Property('element', 'identifier', 'property-required', 'property-operations')|
ListProperty('element', 'identifier', 'property-required', 'property-operations')|
Exclude('element', [generator-list])
element := metadata element name
identifier := identifier element name | "any" | "all"
property-required := required |
optional |
system-only|
property-operations := CRUD |
CRD |
R |
ref-type-list:= ref-type-list 'has' |
:= ref-type-list 'ref' |
:=
ref-type-list:= ref-type-list 'string-enum' |
:=
string-enum := This command will convert string type restriction to
enum type
generator-list:= generator-list 'backend'|
:= generator-list 'frontend'|
:=
-->
<!--Common types-->
<xsd:complexType name="MacAddressesType">
<xsd:element name="mac-address" maxOccurs="unbounded"/>
</xsd:complexType>
<xsd:simpleType name="IpAddressType">
<xsd:restriction base="xsd:string"
description='String of standard notation of ipv4 or ipv6 address'/>
</xsd:simpleType>
<xsd:simpleType name="AddressMode">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="active-active"/>
<xsd:enumeration value="active-standby"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="IpAddressesType">
<xsd:all>
<xsd:element name="ip-address" type="IpAddressType" maxOccurs="unbounded"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="AllocationPoolType">
<xsd:all>
<xsd:element name="start" type="xsd:string"/>
<xsd:element name="end" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="SubnetType">
<xsd:all>
<xsd:element name="ip-prefix" type="xsd:string"/>
<xsd:element name="ip-prefix-len" type="xsd:integer"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="AllowedAddressPair">
<xsd:all>
<xsd:element name="ip" type="SubnetType"/>
<xsd:element name="mac" type="xsd:string" required='optional'/>
<xsd:element name="address-mode" type="AddressMode" required='optional'
description='Address-mode active-backup is used for VRRP address.
Address-mode active-active is used for ECMP.'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="AllowedAddressPairs">
<xsd:element name="allowed-address-pair" type="AllowedAddressPair" maxOccurs="unbounded"/>
</xsd:complexType>
<xsd:complexType name="UuidType">
<xsd:all>
<xsd:element name="uuid-mslong" type="xsd:unsignedLong"/>
<xsd:element name="uuid-lslong" type="xsd:unsignedLong"/>
</xsd:all>
</xsd:complexType>
<!-- ACL type definition -->
<xsd:complexType name="SequenceType">
<xsd:element name="major" type="xsd:integer" required='true'/>
<xsd:element name="minor" type="xsd:integer" required='true'/>
</xsd:complexType>
<xsd:complexType name="TimerType">
<xsd:all>
<xsd:element name="start-time" type="xsd:dateTime" required='true'/>
<xsd:element name="on-interval" type="xsd:time" required='true'/>
<xsd:element name="off-interval" type="xsd:time" required='true'/>
<xsd:element name="end-time" type="xsd:dateTime" required='true'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="VirtualNetworkPolicyType">
<xsd:element name="sequence" type="SequenceType" required='optional'
description='Sequence number to specify order of policy attachment to network'/>
<xsd:element name="timer" type="TimerType" required='optional'
description='Timer to specify when the policy can be active'/>
</xsd:complexType>
<xsd:complexType name="AddressType">
<!-- Deprecated in favor of subnet-list -->
<xsd:element name="subnet" type="SubnetType" required='exclusive'
description='Any address that belongs to this subnet'/>
<xsd:element name="virtual-network" type="xsd:string" required='exclusive'
description='Any address that belongs to this virtual network '/>
<xsd:element name="security-group" type="xsd:string" required='exclusive'
description='Any address that belongs to interface with this security-group'/>
<xsd:element name="network-policy" type="xsd:string" required='exclusive'
description='Any address that belongs to virtual network which has this policy attached'/>
<xsd:element name="subnet-list" type="SubnetType" maxOccurs="unbounded" required='exclusive'
description='Any address that belongs to any one of subnet in this list'/>
</xsd:complexType>
<xsd:simpleType name="L4PortType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="-1"/>
<xsd:maxInclusive value="65535"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="PortType">
<xsd:sequence>
<xsd:element name="start-port" type="L4PortType" default="0" required='true'/>
<xsd:element name="end-port" type="L4PortType" default="65535" required='true'/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PortMap">
<xsd:all>
<xsd:element name="protocol" type="xsd:string"/>
<xsd:element name="src-port" type="xsd:integer"/>
<xsd:element name="dst-port" type="xsd:integer"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="PortMappings">
<xsd:all>
<xsd:element name="port-mappings" type="PortMap" maxOccurs="65535"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="MatchConditionType">
<xsd:sequence>
<xsd:element name="protocol" type="xsd:string" required='true'
description='Layer 4 protocol in ip packet'/>
<xsd:element name="src-address" type="AddressType" required='true'
description='Source ip matching criteria'/>
<xsd:element name="src-port" type="PortType" required='true'
description='Range of source port for layer 4 protocol'/>
<xsd:element name="dst-address" type="AddressType" required='true'
description='Destination ip matching criteria'/>
<xsd:element name="dst-port" type="PortType" required='true'
description='Range of destination port for layer 4 protocol'/>
<xsd:element name="ethertype" type="EtherType" required='true'/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="SimpleActionType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="deny" required='exclusive'/>
<xsd:enumeration value="pass" required='exclusive'/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="NHModeType" default="dynamic">
<xsd:restriction base='xsd:string'>
<xsd:enumeration value="dynamic"/>
<xsd:enumeration value="static"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="StaticMirrorNhType">
<xsd:all>
<xsd:element name="vtep-dst-ip-address" type="smi:IpAddress" required='true'
description='ip address of destination vtep'/>
<xsd:element name="vtep-dst-mac-address" type="xsd:string" required='optional'
description='mac address of destination vtep'/>
<xsd:element name="vni" type="xsd:integer" required='true'
description='Vni of vtep'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="MirrorActionType">
<xsd:all>
<xsd:element name="analyzer-name" type="xsd:string" required='optional'
description='Name of service instance used as analyzer'/>
<xsd:element name="encapsulation" type="xsd:string" required='optional'
description='Encapsulation for Mirrored packet, not used currently'/>
<xsd:element name="analyzer-ip-address" type="smi:IpAddress" required='true'
description='ip address of interface to which mirrored packets are sent'/>
<xsd:element name="analyzer-mac-address" type="xsd:string" required='optional'
description='mac address of interface to which mirrored packets are sent '/>
<xsd:element name="routing-instance" type="xsd:string" required='true'
description='Internal use only, should be set to -1'/>
<xsd:element name="udp-port" type="xsd:integer" required='optional'
description='ip udp port used in contrail default encapsulation for mirroring'/>
<xsd:element name="juniper-header" type="xsd:boolean" default="true" required='optional'
description='This flag is used to determine with/without juniper-header'/>
<xsd:element name="nh-mode" type="NHModeType" required='optional'
description='This mode used to determine static or dynamic nh '/>
<xsd:element name="static-nh-header" type="StaticMirrorNhType" required='optional'
description='vtep details required if static nh enabled'/>
<xsd:element name="nic-assisted-mirroring" type="xsd:boolean" default="false" required='optional'
description='This flag is used to select nic assisted mirroring'/>
<xsd:element name="nic-assisted-mirroring-vlan" type="VlanIdType" required='optional'
description='The VLAN to be tagged on the traffic for NIC to Mirror'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="ActionListType">
<xsd:all>
<xsd:element name="simple-action" type="SimpleActionType" required='true'
description='Simple allow(pass) or deny action for traffic matching this rule'/>
<xsd:element name="gateway-name" type="xsd:string" required='optional'
description='For internal use only'/>
<xsd:element name="apply-service" type="xsd:string" maxOccurs="unbounded" required='optional'
description='Ordered list of service instances in service chain applied to traffic matching the rule'/>
<xsd:element name="mirror-to" type="MirrorActionType" required='optional'
description='Mirror traffic matching this rule'/>
<xsd:element name="assign-routing-instance" type="xsd:string" required='optional'
description='For internal use only'/>
<xsd:element name="log" type="xsd:boolean" default="false" required='optional'
description='Flow records for traffic matching this rule are sent at higher priority'/>
<xsd:element name="alert" type="xsd:boolean" default="false" required='optional'
description='For internal use only'/>
<xsd:element name="qos-action" type="xsd:string" required='optional'
description='FQN of Qos configuration object for QoS marking'/>
<!-- More actions can come here. e.g. policer, QOS etc-->
</xsd:all>
</xsd:complexType>
<xsd:complexType name="AclRuleType">
<xsd:all>
<xsd:element name="match-condition" type="MatchConditionType" required='true'
description='Match condition for packets'/>
<xsd:element name="action-list" type="ActionListType" required='true'
description='Actions to be performed if packets match condition'/>
<xsd:element name="rule-uuid" type="xsd:string" required='optional'
description='Rule UUID is identifier used in flow records to identify rule'/>
<xsd:element name="direction" type="DirectionType" required='optional'
description='Direction in the rule'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="AclEntriesType">
<xsd:all>
<xsd:element name="dynamic" type="xsd:boolean" required='optional'
description='For Internal use only'/>
<xsd:element name="acl-rule" type="AclRuleType" maxOccurs="unbounded" required='true'
description='For Internal use only'/>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="EtherType" default="IPv4">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="IPv4"/>
<xsd:enumeration value="IPv6"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DirectionType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value=">"/>
<xsd:enumeration value="<>"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="PolicyRuleType">
<xsd:all>
<!-- dummy till ui etc. remove it -->
<xsd:element name="rule-sequence" type="SequenceType" required='optional'
description='Deprecated, Will be removed because rules themselves are already an ordered list'/>
<xsd:element name="rule-uuid" type="xsd:string" required='optional'
description='Rule UUID is identifier used in flow records to identify rule'/>
<xsd:element name="direction" type="DirectionType" required='true'/>
<xsd:element name="protocol" type="xsd:string" required='true'
description='Layer 4 protocol in ip packet'/>
<xsd:element name="src-addresses" type="AddressType" maxOccurs="unbounded" required='true'
description='Source ip matching criteria'/>
<xsd:element name="src-ports" type="PortType" maxOccurs="unbounded" required='true'
description='Range of source port for layer 4 protocol'/>
<xsd:element name="application" type="xsd:string" maxOccurs="unbounded" required='optional'
description='Optionally application can be specified instead of protocol and port. not currently implemented'/>
<xsd:element name="dst-addresses" type="AddressType" maxOccurs="unbounded" required='true'
description='Destination ip matching criteria'/>
<xsd:element name="dst-ports" type="PortType" maxOccurs="unbounded" required='true'
description='Range of destination port for layer 4 protocol'/>
<xsd:element name="action-list" type="ActionListType" required='true'
description='Actions to be performed if packets match condition'/>
<xsd:element name="ethertype" type="EtherType" required='true'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="PolicyEntriesType">
<xsd:all>
<xsd:element name="policy-rule" type="PolicyRuleType" maxOccurs="unbounded" required='true'
description='List of policy rules'/>
</xsd:all>
</xsd:complexType>
<!-- ACL type definition End -->
<!-- API access list type -->
<xsd:complexType name="ApiAccessType">
<xsd:all>
<xsd:element name="api-name" type="xsd:string" required='true'/>
<xsd:element name="permissions" type="PermType" required='true'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="ApiAccessListType">
<xsd:all>
<xsd:element name="api-access" type="ApiAccessType"
maxOccurs="unbounded" required='true'/>
</xsd:all>
</xsd:complexType>
<!-- API access list type End -->
<!-- Ip address mngmt type -->
<xsd:complexType name="DhcpOptionType">
<xsd:all>
<xsd:element name="dhcp-option-name" type="xsd:string" required='true'
description='Name of the DHCP option'/>
<xsd:element name="dhcp-option-value" type="xsd:string" required='true'
description='Encoded DHCP option value (decimal)'/>
<!-- Encoded DHCP option value (decimal), to be copied byte by byte -->
<xsd:element name="dhcp-option-value-bytes" type="xsd:string" required='true'
description='Value of the DHCP option to be copied byte by byte'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="DhcpOptionsListType">
<xsd:all>
<xsd:element name="dhcp-option" type="DhcpOptionType" maxOccurs="unbounded"
description='List of DHCP options'/>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="IpamMethodType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="dhcp" required='optional'
description='This IPAM needs DHCP support for the VM(s), this default method'/>
<xsd:enumeration value="fixed" required='optional'
description='This IPAM s static address for the VM(s)'/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="IpamDnsMethodType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="none" required='optional'
description='No DNS support for VM(s)'/>
<xsd:enumeration value="default-dns-server" required='optional'
description='Default DNS method is proxy to the infrastructure'/>
<xsd:enumeration value="tenant-dns-server" required='optional'
description='DNS server is accessible in tenant space, forward DNS packets normally'/>
<xsd:enumeration value="virtual-dns-server" required='optional'
description='Virtual DNS server using DNSaaS'/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="IpamDnsAddressType">
<xsd:choice>
<xsd:element name="tenant-dns-server-address" type="IpAddressesType" required='optional'
description='In case of tenant DNS server method, Ip address of DNS server. This will be given in DHCP'/>
<xsd:element name="virtual-dns-server-name" type="xsd:string" required='optional'
description='In case of virtual DNS server, name of virtual DNS server'/>
</xsd:choice>
</xsd:complexType>
<xsd:simpleType name="SubnetMethodType" default="user-defined-subnet">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="user-defined-subnet"
description='Subnet scope is within a network, not shared across different networks in ipam'/>
<xsd:enumeration value="flat-subnet"
description='Subnet scope is within a ipam, shared across all networks in the ipam'/>
<xsd:enumeration value="auto-subnet"
description='Subnet scope is within a network, assigned by ipam'/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="IpamType">
<xsd:all>
<xsd:element name="ipam-method" type="IpamMethodType" required='optional'/>
<xsd:element name="ipam-dns-method" type="IpamDnsMethodType" required='optional'/>
<xsd:element name="ipam-dns-server" type="IpamDnsAddressType" required='optional'/>
<xsd:element name="dhcp-option-list" type="DhcpOptionsListType" required='optional'/>
<xsd:element name="cidr-block" type="SubnetType" required='optional'/>
<xsd:element name="host-routes" type="RouteTableType" required='optional'/>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="EncapsulationType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="MPLSoGRE"/>
<xsd:enumeration value="MPLSoUDP"/>
<xsd:enumeration value="VXLAN"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="EncapsulationPrioritiesType">
<xsd:all>
<xsd:element name="encapsulation" type="EncapsulationType"
maxOccurs="unbounded" required='optional'
description='Ordered list of encapsulation types to be used in priority'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="LinklocalServiceEntryType">
<xsd:all>
<xsd:element name="linklocal-service-name" type="xsd:string" required='true'
description='Name of the link local service. VM name resolution of this name will result in link local ip address'/>
<xsd:element name="linklocal-service-ip" type="smi:IpAddress" required='true'
description='ip address of the link local service.'/>
<xsd:element name="linklocal-service-port" type="xsd:integer" required='true'
description='Destination TCP port number of link local service'/>
<xsd:element name="ip-fabric-DNS-service-name" type="xsd:string" required='optional'
description='DNS name to which link local service will be proxied'/>
<xsd:element name="ip-fabric-service-port" type="xsd:integer" required='true'
description='Destination TCP port number to which link local traffic will forwarded'/>
<xsd:element name="ip-fabric-service-ip" type="smi:IpAddress"
maxOccurs="unbounded" required='optional'
description='Destination ip address to which link local traffic will forwarded'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="LinklocalServicesTypes">
<xsd:all>
<xsd:element name="linklocal-service-entry"
type="LinklocalServiceEntryType" maxOccurs="unbounded" required='optional'
description='List of link local services'/>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="DnsRecordOrderType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="fixed"/>
<xsd:enumeration value="random"/>
<xsd:enumeration value="round-robin"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="FloatingIpDnsNotation" default="dashed-ip-tenant-name">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="dashed-ip" required='optional'
description='Floating ip record will be added as dashed ip. e.g 10.1.2.3 = 10-1-2-3'/>
<xsd:enumeration value="dashed-ip-tenant-name" required='optional'
description='Floating ip record will be added as dashed (ip, tenant). e.g 10.1.2.3 = 10-1-2-3-tenant'/>
<xsd:enumeration value="vm-name" required='optional'
description='Floating ip record will be added as vm name'/>
<xsd:enumeration value="vm-name-tenant-name" required='optional'
description='Floating ip record will be added as vm name-tenant'/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="VirtualDnsType">
<xsd:all>
<xsd:element name="domain-name" type="xsd:string" required='true'
description='Default domain name for this virtual DNS server'/>
<xsd:element name="dynamic-records-from-client" type="xsd:boolean" required='optional'
description='Allow automatic addition of records on VM launch, default is True'/>
<xsd:element name="record-order" type="DnsRecordOrderType" required='optional'
description='Order of DNS load balancing, fixed, random, round-robin'/>
<xsd:element name="default-ttl-seconds" type="xsd:integer" required='optional'
description='Default Time To Live for DNS records'/>
<xsd:element name="next-virtual-DNS" type="xsd:string" required='optional'
description='Next virtual DNS server to lookup if record is not found. Default is proxy to infrastructure DNS'/>
<xsd:element name="floating-ip-record" type="FloatingIpDnsNotation" required='optional'
description='Decides how floating ip records are added'/>
<xsd:element name="external-visible" type="xsd:boolean" default="false" required='optional'
description='Currently this option is not supported'/>
<xsd:element name="reverse-resolution" type="xsd:boolean" default="false" required='optional'
description='Allow reverse DNS resolution, ip to name mapping'/>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="DnsRecordTypeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="AAAA"/>
<xsd:enumeration value="CNAME"/>
<xsd:enumeration value="PTR"/>
<xsd:enumeration value="NS"/>
<xsd:enumeration value="MX"/>
<!-- Add more record types as support is added -->
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DnsRecordClassType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="IN"/>
<!-- Add more record classes as support is added -->
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="VirtualDnsRecordType">
<xsd:all>
<xsd:element name="record-name" type="xsd:string" required='true'
description='DNS name to be resolved'/>
<xsd:element name="record-type" type="DnsRecordTypeType" required='optional'
description='DNS record type can be A, AAAA, CNAME, PTR, NS and MX'/>
<xsd:element name="record-class" type="DnsRecordClassType" required='optional'
description='DNS record class supported is IN'/>
<xsd:element name="record-data" type="xsd:string" required='true'
description='DNS record data is either ip address or string depending on type'/>
<xsd:element name="record-ttl-seconds" type="xsd:integer" required='optional'
description='Time To Live for this DNS record'/>
<xsd:element name="record-mx-preference" type="xsd:integer" required='optional'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="FloatingIpPoolSubnetType">
<xsd:element name="subnet-uuid" type="xsd:string" maxOccurs="unbounded"
description='List of subnets associated with this floating ip pool.'/>
</xsd:complexType>
<xsd:complexType name="SubnetListType">
<xsd:all>
<xsd:element name="subnet" type="SubnetType" maxOccurs="unbounded"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="IpamSubnetType">
<xsd:all>
<xsd:element name="subnet" type="SubnetType" required='true'
description='ip prefix and length for the subnet'/>
<xsd:element name="default-gateway" type="IpAddressType" required='optional'
description='default-gateway ip address in the subnet, if not provided one is auto generated by the system.'/>
<xsd:element name="dns-server-address" type="IpAddressType" required='optional'
description='DNS server ip address in the subnet, if not provided one is auto generated by the system.'/>
<xsd:element name="subnet-uuid" type="xsd:string" required='system-only'
description='Subnet UUID is auto generated by the system'/>
<xsd:element name="enable-dhcp" type="xsd:boolean" default="true" required='optional'
description='Enable DHCP for the VM(s) in this subnet'/>
<xsd:element name="dns-nameservers" type="xsd:string" maxOccurs="unbounded" required='optional'
description='Tenant DNS servers ip address in tenant DNS method'/>
<xsd:element name="allocation-pools" type="AllocationPoolType" maxOccurs="unbounded" required='optional'
description='List of ranges of ip address within the subnet from which to allocate ip address. default is entire prefix'/>
<xsd:element name="addr_from_start" type="xsd:boolean" required='optional'
description='Start address allocation from start or from end of address range.'/>
<xsd:element name="dhcp-option-list" type="DhcpOptionsListType" required='optional'
description='DHCP options list to be sent via DHCP for VM(s) in this subnet'/>
<xsd:element name="host-routes" type="RouteTableType" required='optional'
description='Host routes to be sent via DHCP for VM(s) in this subnet, Next hop for these routes is always default gateway'/>
<xsd:element name="subnet-name" type="xsd:string" required='optional'
description='User provided name for this subnet'/>
<xsd:element name="alloc-unit" type="xsd:integer" default='1' required='optional' operation='CRD'
description='allocation unit for this subnet to allocate bulk ip addresses'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="VnSubnetsType">
<xsd:all>
<xsd:element name="ipam-subnets" type="IpamSubnetType" maxOccurs="unbounded"/>
<xsd:element name="host-routes" type="RouteTableType" required='optional'
description='Common host routes to be sent via DHCP for VM(s) in all the subnets, Next hop for these routes is always default gateway'/>
</xsd:all>
</xsd:complexType>
<!--
host-routes will normally have no next hop. Next hop sent in DHCP will be
default gateway address in the given subnet
-->
<!-- Ip address mngmt type End -->
<!-- RBAC type -->
<!-- admin:CRUD (single role permission) -->
<xsd:complexType name="RbacPermType">
<xsd:all>
<xsd:element name="role-name" type="xsd:string" required='true'
description='Name of the role' />
<xsd:element name="role-crud" type="xsd:string" required='true'
description='String CRUD representing permissions for C=create, R=read, U=update, D=delete.'/>
</xsd:all>
</xsd:complexType>
<!-- field is optional in RBAC ACL rule -->
<xsd:complexType name="RbacRuleType">
<xsd:all>
<xsd:element name="rule-object" type="xsd:string" required='true'
description='Name of the REST API (object) for this rule, * represent all objects'/>
<xsd:element name="rule-field" type="xsd:string" minOccurs="0" maxOccurs="1" required='optional'
description='Name of the level one field (property) for this object, * represent all properties'/>
<xsd:element name="rule-perms" type="RbacPermType" maxOccurs="unbounded" required='true'
description='List of [(role, permissions),...]'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="RbacRuleEntriesType">
<xsd:all>
<xsd:element name="rbac-rule" type="RbacRuleType" maxOccurs="unbounded"/>
</xsd:all>
</xsd:complexType>
<!-- RBAC type End -->
<!-- domain limits type -->
<xsd:complexType name="DomainLimitsType">
<xsd:all>
<xsd:element name="project-limit" type="xsd:integer" required='optional'
description='Maximum number of projects allowed in this domain'/>
<xsd:element name="virtual-network-limit" type="xsd:integer" required='optional'
description='Maximum number of virtual networks allowed in this domain'/>
<xsd:element name="security-group-limit" type="xsd:integer" required='optional'
description='Maximum number of security groups allowed in this domain'/>
<!-- More limits to come here -->
</xsd:all>
</xsd:complexType>
<!-- domain limits type end -->
<xsd:simpleType name="AutonomousSystemType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="65534"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="AccessType">
<xsd:restriction base="xsd:integer" required='true'
description_1="Three bits representing rwx."
description_2=" r=read permission,"
description_3=" w=write permission,"
description_4=" x=reference permission">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="7"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="PermType">
<xsd:all>
<xsd:element name="owner" type="xsd:string"/>
<xsd:element name="owner-access" type="AccessType"/>
<xsd:element name="group" type="xsd:string"/>
<xsd:element name="group-access" type="AccessType"/>
<xsd:element name="other-access" type="AccessType"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="ShareType">
<xsd:all>
<xsd:element name="tenant" type="xsd:string" required='true'
description='Name of tenant with whom the object is shared'/>
<xsd:element name="tenant-access" type="AccessType" required='true'
description='Allowed permissions in sharing'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="PermType2">
<xsd:all>
<xsd:element name="owner" type="xsd:string" required='true'
description='Owner tenant of the object'/>
<xsd:element name="owner-access" type="AccessType" required='true'
description='Owner permissions of the object'/>
<xsd:element name="global-access" type="AccessType" required='optional'
description='Globally(others) shared object and permissions for others of the object'/>
<xsd:element name="share" type="ShareType" maxOccurs="unbounded" required='optional'
description='Selectively shared object, List of (tenant, permissions)'/>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="CreatorType">
<xsd:restriction base="xsd:string" required='system-only'
description='subsystem that created this object'>
<xsd:enumeration value="vcenter-plugin"/>
<xsd:enumeration value="test"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="IdPermsType">
<xsd:all>
<xsd:element name="permissions" type="PermType" required='optional'
description='No longer used, will be removed'/>
<xsd:element name="uuid" type="UuidType" required='true'
description='UUID of the object, system automatically allocates one if not provided'/>
<xsd:element name="enable" type="xsd:boolean" required='true'
description='Administratively Enable/Disable this object'/>
<xsd:element name="created" type="xsd:dateTime" required='system-only'
description='Time when this object was created'/>
<xsd:element name="last-modified" type="xsd:dateTime" required='system-only'
description='Time when this object was created'/>
<xsd:element name="description" type="xsd:string" required='optional'
description='User provided text'/>
<xsd:element name="user-visible" type="xsd:boolean" default="true" required='system-only'
description='System created internal objects will have this flag set and will not be visible'/>
<xsd:element name="creator" type="xsd:string" required='system-only'
description='Id of tenant who created this object'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="PluginProperty">
<xsd:all>
<xsd:element name="property" type="xsd:string"/>
<xsd:element name="value" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="PluginProperties">
<xsd:all>
<xsd:element name="plugin-property" type="PluginProperty" maxOccurs="unbounded" required='optional'
description='List of plugin specific properties (property, value)'/>
</xsd:all>
</xsd:complexType>
<xsd:element name="id-perms" type="IdPermsType"/>
<!--#IFMAP-SEMANTICS-IDL Property('id-perms', 'all', 'system-only', 'R',
'System maintained identity, time and permissions data.') -->
<xsd:element name="perms2" type="PermType2"/>
<!--#IFMAP-SEMANTICS-IDL Property('perms2', 'all', 'system-only', 'R',
'Permissions data for role based access.') -->
<xsd:element name="annotations" type="KeyValuePairs"/>
<!--#IFMAP-SEMANTICS-IDL
MapProperty('annotations',
'all', 'key', 'optional', 'CRUD',
'Dictionary of arbitrary (key, value) on a resource.') -->
<xsd:complexType name="QuotaType">
<xsd:all>
<xsd:element name="defaults" type="xsd:integer" required='optional'
description='Need to clarify'/>
<xsd:element name="floating-ip" type="xsd:integer" required='optional'
description='Maximum number of floating ips'/>
<xsd:element name="instance-ip" type="xsd:integer" required='optional'
description='Maximum number of instance ips'/>
<xsd:element name="virtual-machine-interface" type="xsd:integer" required='optional'
description='Maximum number of virtual machine interfaces'/>
<xsd:element name="virtual-network" type="xsd:integer" required='optional'
description='Maximum number of virtual networks'/>
<xsd:element name="virtual-router" type="xsd:integer" required='optional'
description='Maximum number of logical routers'/>
<xsd:element name="virtual-DNS" type="xsd:integer" required='optional'
description='Maximum number of virtual DNS servers'/>
<xsd:element name="virtual-DNS-record" type="xsd:integer" required='optional'
description='Maximum number of virtual DNS records'/>
<xsd:element name="bgp-router" type="xsd:integer" required='optional'
description='Maximum number of bgp routers'/>
<xsd:element name="network-ipam" type="xsd:integer" required='optional'
description='Maximum number of network IPAMs'/>
<xsd:element name="access-control-list" type="xsd:integer" required='optional'
description='Maximum number of access control lists'/>
<xsd:element name="network-policy" type="xsd:integer" required='optional'
description='Maximum number of network policies'/>
<xsd:element name="floating-ip-pool" type="xsd:integer" required='optional'
description='Maximum number of floating ip pools'/>
<xsd:element name="service-template" type="xsd:integer" required='optional'
description='Maximum number of service templates'/>
<xsd:element name="service-instance" type="xsd:integer" required='optional'
description='Maximum number of service instances'/>
<xsd:element name="logical-router" type="xsd:integer" required='optional'
description='Maximum number of logical routers'/>
<xsd:element name="security-group" type="xsd:integer" required='optional'
description='Maximum number of security groups'/>
<xsd:element name="security-group-rule" type="xsd:integer" required='optional'
description='Maximum number of security group rules'/>
<xsd:element name="subnet" type="xsd:integer" required='optional'
description='Maximum number of subnets'/>
<xsd:element name="global-vrouter-config" type="xsd:integer" required='optional'
description='Maximum number of global vrouter configs'/>
<xsd:element name="loadbalancer-pool" type="xsd:integer" required='optional'
description='Maximum number of loadbalancer pools'/>
<xsd:element name="loadbalancer-member" type="xsd:integer" required='optional'
description='Maximum number of loadbalancer member'/>
<xsd:element name="loadbalancer-healthmonitor" type="xsd:integer" required='optional'
description='Maximum number of loadbalancer health monitors'/>
<xsd:element name="virtual-ip" type="xsd:integer" required='optional'
description='Maximum number of virtual ips'/>
<xsd:element name="security-logging-object" type="xsd:integer" required='optional'
description='Maximum number of security logging objects'/>
<xsd:element name="route-table" type="xsd:integer" required='optional'
description='Maximum number of route tables'/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="FlowAgingTimeout">
<xsd:all>
<xsd:element name="protocol" type="xsd:string"/>
<xsd:element name="port" type="xsd:integer"/>
<xsd:element name="timeout-in-seconds" type="xsd:integer"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="FlowAgingTimeoutList">
<xsd:all>
<xsd:element name="flow-aging-timeout" type="FlowAgingTimeout" maxOccurs="unbounded" required='optional'
description='List of (ip protocol, port number, timeout in seconds)'/>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="DscpValueType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="63"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="VlanPriorityType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="7"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MplsExpType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="7"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ForwardingClassId">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="255"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="QosIdForwardingClassPair">
<xsd:all>
<xsd:element name="key" type="xsd:integer"
description="QoS bit value (DSCP or Vlan priority or EXP bit value"/>
<xsd:element name="forwarding-class-id" type="ForwardingClassId"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="QosIdForwardingClassPairs">
<xsd:all>
<xsd:element name="qos-id-forwarding-class-pair" type="QosIdForwardingClassPair"
maxOccurs="unbounded"/>
</xsd:all>
</xsd:complexType>
<!-- Value to be slapped on DSCP field of IP header for various traffic types-->
<xsd:complexType name="ControlTrafficDscpType">
<xsd:all>
<xsd:element name="control" type="xsd:integer" required='optional'
description='DSCP value for control protocols traffic'/>
<xsd:element name="analytics" type="xsd:integer" required='optional'
description='DSCP value for traffic towards analytics'/>
<xsd:element name="dns" type="xsd:integer" required='optional'
description='DSCP value for DNS traffic'/>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="EndOfRibTimeType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="4095"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="GracefulRestartTimeType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="4095"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LongLivedGracefulRestartTimeType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="16777215"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="GracefulRestartParametersType">
<xsd:all>
<xsd:element name="enable" type="xsd:boolean" default="false" description="Enable/Disable knob for all GR parameters to take effect"/>
<xsd:element name="restart-time" type="GracefulRestartTimeType" default="300" description="Time (in seconds) taken by the restarting speaker to get back to stable state"/>
<xsd:element name="long-lived-restart-time" type="LongLivedGracefulRestartTimeType" default="300" description="Extended Time (in seconds) taken by the restarting speaker after restart-time to get back to stable state"/>
<xsd:element name="end-of-rib-timeout" type="EndOfRibTimeType" default="30" description="Time (in seconds) to wait for EndOfRib reception/transmission"/>
<xsd:element name="bgp-helper-enable" type="xsd:boolean" default="false" description="Enable GR Helper mode for BGP peers in contrail-control"/>
<xsd:element name="xmpp-helper-enable" type="xsd:boolean" default="false" description="Enable GR Helper mode for XMPP peers (agents) in contrail-control"/>
</xsd:all>
</xsd:complexType>
<xsd:element name="display-name" type="xsd:string"/>
<!--#IFMAP-SEMANTICS-IDL Property('display-name', 'all', 'optional', 'CRUD',
'Display name user configured string(name) that can be updated any time. Used as openstack name.') -->
<!--Identifier "config-root" is used start config tree traversal for
Entire config of the VNC,
Its value will always be "contrail:config-root:root"
-->
<xsd:element name="config-root" type="ifmap:IdentityType"/>
<!--#IFMAP-SEMANTICS-IDL
Exclude('config-root', ['backend']) -->
<xsd:element name="global-system-config" type="ifmap:IdentityType"/>
<!--Identifier "global-system-config" is used to hang global properties.
Its value will always be "contrail:global-system-config:default-global-system-config"
-->
<xsd:element name="config-root-global-system-config"/>
<!--#IFMAP-SEMANTICS-IDL
Link('config-root-global-system-config',
'config-root', 'global-system-config', ['has'], 'required', 'R',
'Global system config is object where all global system configuration is present.') -->
<xsd:element name="autonomous-system" type="AutonomousSystemType"/>
<!--#IFMAP-SEMANTICS-IDL
Property('autonomous-system', 'global-system-config', 'required', 'CRUD',
'16 bit BGP Autonomous System number for the cluster.') -->
<xsd:element name="config-version" type="xsd:string"/>
<!--#IFMAP-SEMANTICS-IDL
Property('config-version', 'global-system-config', 'system-only', 'R',
'Version of OpenContrail software that generated this config.') -->
<xsd:element name="graceful-restart-parameters" type="GracefulRestartParametersType"/>
<!--#IFMAP-SEMANTICS-IDL
Property('graceful-restart-parameters', 'global-system-config', 'optional',
'CRUD', 'Graceful Restart parameters') -->
<xsd:element name="plugin-tuning" type="PluginProperties"/>
<!--#IFMAP-SEMANTICS-IDL
Property('plugin-tuning', 'global-system-config', 'optional', 'CRUD',
'Various Orchestration system plugin(interface) parameters, like Openstack Neutron plugin.') -->
<xsd:element name="ibgp-auto-mesh" type="xsd:boolean"/>
<!-- Automatically create an iBGP mesh if set to True -->
<!--#IFMAP-SEMANTICS-IDL
Property('ibgp-auto-mesh', 'global-system-config', 'optional', 'CRUD',
'When true, system will automatically create BGP peering mesh with all control-nodes that have same BGP AS number as global AS number.') -->
<xsd:element name="ip-fabric-subnets" type="SubnetListType"/>
<!--#IFMAP-SEMANTICS-IDL
Property('ip-fabric-subnets', 'global-system-config', 'optional', 'CRUD',
'List of all subnets in which vrouter ip address exist. Used by Device manager to configure dynamic GRE tunnels on the SDN gateway.') -->
<xsd:element name="global-system-config-bgp-router"/>
<!--#IFMAP-SEMANTICS-IDL
Link('global-system-config-bgp-router',
'global-system-config', 'bgp-router', ['ref'], 'required', 'R',
'List of references to all bgp routers in systems.') -->
<xsd:element name="security-logging-object" type="ifmap:IdentityType"/>
<xsd:complexType name="SecurityLoggingObjectRuleEntryType">
<xsd:element name="rule-uuid" type="xsd:string" required='optional'
description='Rule UUID of network policy or security-group. When this is absent it implies all rules of security-group or network-policy'/>
<xsd:element name="rate" type="xsd:integer" required='optional' default='100'
description='Rate at which sessions are logged. When rates are specified at multiple levels, the rate which specifies highest frequency is selected'/>
</xsd:complexType>
<xsd:complexType name="SecurityLoggingObjectRuleListType">
<xsd:element name="rule" type="SecurityLoggingObjectRuleEntryType" maxOccurs="unbounded" required='optional'
description='List of rules along with logging rate for each rule. Both rule-uuid and rate are optional. When rule-uuid is absent then it means all rules of associated SG or network-policy'/>
</xsd:complexType>
<xsd:element name="security-logging-object-rules" type="SecurityLoggingObjectRuleListType"
description='List of rules along with logging rate for each rule. These are rules derived based on user configured rules on security-logging-object-network-policy and security-logging-object-security-group links'/>
<xsd:element name="security-logging-object-rate" type="xsd:integer" default='100'
description='Rate at security-logging-object level. When multiple rates are specified at different levels, the rate which specifies highest frequency is selected'/>
<!--#IFMAP-SEMANTICS-IDL
Property('security-logging-object-rules', 'security-logging-object', 'optional', 'CRUD',
'Security logging object rules derived internally.') -->
<!--#IFMAP-SEMANTICS-IDL
Property('security-logging-object-rate', 'security-logging-object', 'optional', 'CRUD',
'Security logging object rate defining rate of session logging') -->
<xsd:element name="global-vrouter-config-security-logging-object"/>
<!--#IFMAP-SEMANTICS-IDL
Link('global-vrouter-config-security-logging-object',
'global-vrouter-config', 'security-logging-object', ['has'], 'optional', 'CRUD',
'Reference to security logging object for global-vrouter-config.') -->
<xsd:element name="virtual-network-security-logging-object"/>
<!--#IFMAP-SEMANTICS-IDL
Link('virtual-network-security-logging-object',
'virtual-network', 'security-logging-object', ['ref'], 'optional', 'CRUD',
'Reference to security logging object for this virtual network.') -->
<xsd:element name="virtual-machine-interface-security-logging-object"/>