f5-icontrol 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.travis.yml +5 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE +9 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +55 -0
  8. data/Rakefile +7 -0
  9. data/bin/f5 +6 -0
  10. data/f5-icontrol.gemspec +30 -0
  11. data/lib/f5/cli/application.rb +102 -0
  12. data/lib/f5/cli/config.rb +21 -0
  13. data/lib/f5/icontrol.rb +40 -0
  14. data/lib/f5/icontrol/local_lb/node_address_v2.rb +27 -0
  15. data/lib/f5/icontrol/local_lb/pool.rb +27 -0
  16. data/lib/f5/icontrol/system/system_info.rb +27 -0
  17. data/lib/f5/icontrol/version.rb +5 -0
  18. data/lib/wsdl/ASM.LoggingProfile.wsdl +1467 -0
  19. data/lib/wsdl/ASM.ObjectParams.wsdl +198 -0
  20. data/lib/wsdl/ASM.PSMProfile.wsdl +228 -0
  21. data/lib/wsdl/ASM.Policy.wsdl +3504 -0
  22. data/lib/wsdl/ASM.PolicyGroup.wsdl +389 -0
  23. data/lib/wsdl/ASM.SystemConfiguration.wsdl +730 -0
  24. data/lib/wsdl/ASM.WebApplication.wsdl +1138 -0
  25. data/lib/wsdl/ASM.WebApplicationGroup.wsdl +393 -0
  26. data/lib/wsdl/Classification.Application.wsdl +517 -0
  27. data/lib/wsdl/Classification.Category.wsdl +519 -0
  28. data/lib/wsdl/Classification.SignatureDefinition.wsdl +541 -0
  29. data/lib/wsdl/Classification.SignatureUpdateSchedule.wsdl +382 -0
  30. data/lib/wsdl/Classification.SignatureVersion.wsdl +233 -0
  31. data/lib/wsdl/GlobalLB.Application.wsdl +963 -0
  32. data/lib/wsdl/GlobalLB.DNSSECKey.wsdl +1642 -0
  33. data/lib/wsdl/GlobalLB.DNSSECZone.wsdl +825 -0
  34. data/lib/wsdl/GlobalLB.DataCenter.wsdl +7144 -0
  35. data/lib/wsdl/GlobalLB.Globals.wsdl +5513 -0
  36. data/lib/wsdl/GlobalLB.Link.wsdl +7654 -0
  37. data/lib/wsdl/GlobalLB.Monitor.wsdl +2228 -0
  38. data/lib/wsdl/GlobalLB.Pool.wsdl +9949 -0
  39. data/lib/wsdl/GlobalLB.PoolMember.wsdl +6939 -0
  40. data/lib/wsdl/GlobalLB.ProberPool.wsdl +7026 -0
  41. data/lib/wsdl/GlobalLB.Region.wsdl +560 -0
  42. data/lib/wsdl/GlobalLB.Rule.wsdl +6632 -0
  43. data/lib/wsdl/GlobalLB.Server.wsdl +8234 -0
  44. data/lib/wsdl/GlobalLB.Topology.wsdl +548 -0
  45. data/lib/wsdl/GlobalLB.VirtualServer.wsdl +6916 -0
  46. data/lib/wsdl/GlobalLB.VirtualServerV2.wsdl +7016 -0
  47. data/lib/wsdl/GlobalLB.WideIP.wsdl +8154 -0
  48. data/lib/wsdl/LTConfig.Class.wsdl +656 -0
  49. data/lib/wsdl/LTConfig.Field.wsdl +679 -0
  50. data/lib/wsdl/LocalLB.Class.wsdl +2153 -0
  51. data/lib/wsdl/LocalLB.DNSCache.wsdl +8380 -0
  52. data/lib/wsdl/LocalLB.DNSExpress.wsdl +6972 -0
  53. data/lib/wsdl/LocalLB.DNSGlobals.wsdl +457 -0
  54. data/lib/wsdl/LocalLB.DataGroupFile.wsdl +971 -0
  55. data/lib/wsdl/LocalLB.LSNPool.wsdl +7461 -0
  56. data/lib/wsdl/LocalLB.Monitor.wsdl +2214 -0
  57. data/lib/wsdl/LocalLB.NAT.wsdl +6413 -0
  58. data/lib/wsdl/LocalLB.NATV2.wsdl +6748 -0
  59. data/lib/wsdl/LocalLB.NodeAddress.wsdl +7143 -0
  60. data/lib/wsdl/LocalLB.NodeAddressV2.wsdl +7754 -0
  61. data/lib/wsdl/LocalLB.Pool.wsdl +11328 -0
  62. data/lib/wsdl/LocalLB.PoolMember.wsdl +7156 -0
  63. data/lib/wsdl/LocalLB.ProfileAnalytics.wsdl +5756 -0
  64. data/lib/wsdl/LocalLB.ProfileAuth.wsdl +6957 -0
  65. data/lib/wsdl/LocalLB.ProfileClassification.wsdl +370 -0
  66. data/lib/wsdl/LocalLB.ProfileClientSSL.wsdl +10232 -0
  67. data/lib/wsdl/LocalLB.ProfileDNS.wsdl +7723 -0
  68. data/lib/wsdl/LocalLB.ProfileDNSLogging.wsdl +852 -0
  69. data/lib/wsdl/LocalLB.ProfileDiameter.wsdl +8070 -0
  70. data/lib/wsdl/LocalLB.ProfileDiameterEndpoint.wsdl +7199 -0
  71. data/lib/wsdl/LocalLB.ProfileFTP.wsdl +6564 -0
  72. data/lib/wsdl/LocalLB.ProfileFastHttp.wsdl +7944 -0
  73. data/lib/wsdl/LocalLB.ProfileFastL4.wsdl +8235 -0
  74. data/lib/wsdl/LocalLB.ProfileHttp.wsdl +12256 -0
  75. data/lib/wsdl/LocalLB.ProfileHttpClass.wsdl +7414 -0
  76. data/lib/wsdl/LocalLB.ProfileHttpCompression.wsdl +8166 -0
  77. data/lib/wsdl/LocalLB.ProfileICAP.wsdl +6917 -0
  78. data/lib/wsdl/LocalLB.ProfileIIOP.wsdl +6726 -0
  79. data/lib/wsdl/LocalLB.ProfileOneConnect.wsdl +6784 -0
  80. data/lib/wsdl/LocalLB.ProfilePersistence.wsdl +2740 -0
  81. data/lib/wsdl/LocalLB.ProfileRADIUS.wsdl +6696 -0
  82. data/lib/wsdl/LocalLB.ProfileRTSP.wsdl +7424 -0
  83. data/lib/wsdl/LocalLB.ProfileRequestAdapt.wsdl +7041 -0
  84. data/lib/wsdl/LocalLB.ProfileRequestLogging.wsdl +2042 -0
  85. data/lib/wsdl/LocalLB.ProfileResponseAdapt.wsdl +7041 -0
  86. data/lib/wsdl/LocalLB.ProfileSCTP.wsdl +7887 -0
  87. data/lib/wsdl/LocalLB.ProfileSIP.wsdl +7866 -0
  88. data/lib/wsdl/LocalLB.ProfileSPDY.wsdl +7489 -0
  89. data/lib/wsdl/LocalLB.ProfileSPM.wsdl +953 -0
  90. data/lib/wsdl/LocalLB.ProfileServerSSL.wsdl +9566 -0
  91. data/lib/wsdl/LocalLB.ProfileStream.wsdl +6561 -0
  92. data/lib/wsdl/LocalLB.ProfileTCP.wsdl +9869 -0
  93. data/lib/wsdl/LocalLB.ProfileUDP.wsdl +6948 -0
  94. data/lib/wsdl/LocalLB.ProfileUserStatistic.wsdl +916 -0
  95. data/lib/wsdl/LocalLB.ProfileWebAcceleration.wsdl +8213 -0
  96. data/lib/wsdl/LocalLB.ProfileXML.wsdl +7022 -0
  97. data/lib/wsdl/LocalLB.RAMCacheInformation.wsdl +372 -0
  98. data/lib/wsdl/LocalLB.RateClass.wsdl +9480 -0
  99. data/lib/wsdl/LocalLB.Rule.wsdl +7033 -0
  100. data/lib/wsdl/LocalLB.SNAT.wsdl +7262 -0
  101. data/lib/wsdl/LocalLB.SNATPool.wsdl +6606 -0
  102. data/lib/wsdl/LocalLB.SNATPoolMember.wsdl +5960 -0
  103. data/lib/wsdl/LocalLB.SNATTranslationAddress.wsdl +6599 -0
  104. data/lib/wsdl/LocalLB.SNATTranslationAddressV2.wsdl +6760 -0
  105. data/lib/wsdl/LocalLB.VirtualAddress.wsdl +6676 -0
  106. data/lib/wsdl/LocalLB.VirtualAddressV2.wsdl +7539 -0
  107. data/lib/wsdl/LocalLB.VirtualServer.wsdl +14758 -0
  108. data/lib/wsdl/LocalLB.iFile.wsdl +302 -0
  109. data/lib/wsdl/LocalLB.iFileFile.wsdl +712 -0
  110. data/lib/wsdl/Log.DestinationArcSight.wsdl +377 -0
  111. data/lib/wsdl/Log.DestinationLocalSyslog.wsdl +469 -0
  112. data/lib/wsdl/Log.DestinationRemoteHighSpeedLog.wsdl +486 -0
  113. data/lib/wsdl/Log.DestinationRemoteSyslog.wsdl +751 -0
  114. data/lib/wsdl/Log.DestinationSplunk.wsdl +377 -0
  115. data/lib/wsdl/Log.Filter.wsdl +1175 -0
  116. data/lib/wsdl/Log.Publisher.wsdl +448 -0
  117. data/lib/wsdl/Management.ApplicationPresentationScript.wsdl +698 -0
  118. data/lib/wsdl/Management.ApplicationService.wsdl +1804 -0
  119. data/lib/wsdl/Management.ApplicationTemplate.wsdl +1323 -0
  120. data/lib/wsdl/Management.CCLDAPConfiguration.wsdl +1637 -0
  121. data/lib/wsdl/Management.CLIScript.wsdl +684 -0
  122. data/lib/wsdl/Management.CRLDPConfiguration.wsdl +763 -0
  123. data/lib/wsdl/Management.CRLDPServer.wsdl +626 -0
  124. data/lib/wsdl/Management.CertLDAPConfiguration.wsdl +2453 -0
  125. data/lib/wsdl/Management.ChangeControl.wsdl +735 -0
  126. data/lib/wsdl/Management.DBVariable.wsdl +352 -0
  127. data/lib/wsdl/Management.Device.wsdl +1697 -0
  128. data/lib/wsdl/Management.DeviceGroup.wsdl +1241 -0
  129. data/lib/wsdl/Management.EM.wsdl +456 -0
  130. data/lib/wsdl/Management.EventNotification.wsdl +1031 -0
  131. data/lib/wsdl/Management.EventSubscription.wsdl +1542 -0
  132. data/lib/wsdl/Management.FeatureModule.wsdl +424 -0
  133. data/lib/wsdl/Management.Folder.wsdl +635 -0
  134. data/lib/wsdl/Management.Globals.wsdl +166 -0
  135. data/lib/wsdl/Management.KeyCertificate.wsdl +2027 -0
  136. data/lib/wsdl/Management.LDAPConfiguration.wsdl +2645 -0
  137. data/lib/wsdl/Management.LicenseAdministration.wsdl +906 -0
  138. data/lib/wsdl/Management.Named.wsdl +740 -0
  139. data/lib/wsdl/Management.OCSPConfiguration.wsdl +447 -0
  140. data/lib/wsdl/Management.OCSPResponder.wsdl +2370 -0
  141. data/lib/wsdl/Management.Partition.wsdl +545 -0
  142. data/lib/wsdl/Management.Provision.wsdl +743 -0
  143. data/lib/wsdl/Management.RADIUSConfiguration.wsdl +951 -0
  144. data/lib/wsdl/Management.RADIUSServer.wsdl +602 -0
  145. data/lib/wsdl/Management.ResourceRecord.wsdl +2168 -0
  146. data/lib/wsdl/Management.SFlowDataSource.wsdl +776 -0
  147. data/lib/wsdl/Management.SFlowGlobals.wsdl +826 -0
  148. data/lib/wsdl/Management.SFlowReceiver.wsdl +694 -0
  149. data/lib/wsdl/Management.SMTPConfiguration.wsdl +854 -0
  150. data/lib/wsdl/Management.SNMPConfiguration.wsdl +4672 -0
  151. data/lib/wsdl/Management.TACACSConfiguration.wsdl +943 -0
  152. data/lib/wsdl/Management.TMOSModule.wsdl +309 -0
  153. data/lib/wsdl/Management.TrafficGroup.wsdl +953 -0
  154. data/lib/wsdl/Management.Trust.wsdl +703 -0
  155. data/lib/wsdl/Management.UserManagement.wsdl +1693 -0
  156. data/lib/wsdl/Management.View.wsdl +381 -0
  157. data/lib/wsdl/Management.Zone.wsdl +528 -0
  158. data/lib/wsdl/Management.ZoneRunner.wsdl +206 -0
  159. data/lib/wsdl/Networking.ARP.wsdl +776 -0
  160. data/lib/wsdl/Networking.AdminIP.wsdl +864 -0
  161. data/lib/wsdl/Networking.BWControllerPolicy.wsdl +1107 -0
  162. data/lib/wsdl/Networking.IPsecIkeDaemon.wsdl +368 -0
  163. data/lib/wsdl/Networking.IPsecIkePeer.wsdl +2701 -0
  164. data/lib/wsdl/Networking.IPsecManualSecurityAssociation.wsdl +1146 -0
  165. data/lib/wsdl/Networking.IPsecPolicy.wsdl +1380 -0
  166. data/lib/wsdl/Networking.IPsecTrafficSelector.wsdl +1104 -0
  167. data/lib/wsdl/Networking.Interfaces.wsdl +8359 -0
  168. data/lib/wsdl/Networking.LLDPGlobals.wsdl +590 -0
  169. data/lib/wsdl/Networking.PacketFilter.wsdl +6728 -0
  170. data/lib/wsdl/Networking.PacketFilterGlobals.wsdl +926 -0
  171. data/lib/wsdl/Networking.PortMirror.wsdl +373 -0
  172. data/lib/wsdl/Networking.ProfileFEC.wsdl +1350 -0
  173. data/lib/wsdl/Networking.ProfileGRE.wsdl +645 -0
  174. data/lib/wsdl/Networking.ProfileIPIP.wsdl +695 -0
  175. data/lib/wsdl/Networking.ProfileVXLAN.wsdl +563 -0
  176. data/lib/wsdl/Networking.ProfileWCCPGRE.wsdl +841 -0
  177. data/lib/wsdl/Networking.RouteDomain.wsdl +646 -0
  178. data/lib/wsdl/Networking.RouteDomainV2.wsdl +10056 -0
  179. data/lib/wsdl/Networking.RouteTable.wsdl +1209 -0
  180. data/lib/wsdl/Networking.RouteTableV2.wsdl +1531 -0
  181. data/lib/wsdl/Networking.RouterAdvertisement.wsdl +1067 -0
  182. data/lib/wsdl/Networking.STPGlobals.wsdl +796 -0
  183. data/lib/wsdl/Networking.STPInstance.wsdl +1147 -0
  184. data/lib/wsdl/Networking.STPInstanceV2.wsdl +1232 -0
  185. data/lib/wsdl/Networking.SelfIP.wsdl +557 -0
  186. data/lib/wsdl/Networking.SelfIPPortLockdown.wsdl +421 -0
  187. data/lib/wsdl/Networking.SelfIPV2.wsdl +10077 -0
  188. data/lib/wsdl/Networking.Trunk.wsdl +7133 -0
  189. data/lib/wsdl/Networking.Tunnel.wsdl +1354 -0
  190. data/lib/wsdl/Networking.VLAN.wsdl +2215 -0
  191. data/lib/wsdl/Networking.VLANGroup.wsdl +1441 -0
  192. data/lib/wsdl/Networking.iSessionAdvertisedRoute.wsdl +491 -0
  193. data/lib/wsdl/Networking.iSessionAdvertisedRouteV2.wsdl +619 -0
  194. data/lib/wsdl/Networking.iSessionDatastor.wsdl +459 -0
  195. data/lib/wsdl/Networking.iSessionDeduplication.wsdl +401 -0
  196. data/lib/wsdl/Networking.iSessionLocalInterface.wsdl +922 -0
  197. data/lib/wsdl/Networking.iSessionPeerDiscovery.wsdl +818 -0
  198. data/lib/wsdl/Networking.iSessionRemoteInterface.wsdl +1100 -0
  199. data/lib/wsdl/Networking.iSessionRemoteInterfaceV2.wsdl +1307 -0
  200. data/lib/wsdl/PEM.FormatScript.wsdl +542 -0
  201. data/lib/wsdl/PEM.ForwardingEndpoint.wsdl +849 -0
  202. data/lib/wsdl/PEM.InterceptionEndpoint.wsdl +414 -0
  203. data/lib/wsdl/PEM.Listener.wsdl +495 -0
  204. data/lib/wsdl/PEM.Policy.wsdl +4097 -0
  205. data/lib/wsdl/PEM.ServiceChainEndpoint.wsdl +762 -0
  206. data/lib/wsdl/PEM.Subscriber.wsdl +6527 -0
  207. data/lib/wsdl/Security.DoSDevice.wsdl +6670 -0
  208. data/lib/wsdl/Security.FirewallAddressList.wsdl +542 -0
  209. data/lib/wsdl/Security.FirewallGlobalAdminIPRuleList.wsdl +8891 -0
  210. data/lib/wsdl/Security.FirewallGlobalRuleList.wsdl +9171 -0
  211. data/lib/wsdl/Security.FirewallPolicy.wsdl +9355 -0
  212. data/lib/wsdl/Security.FirewallPortList.wsdl +544 -0
  213. data/lib/wsdl/Security.FirewallRuleList.wsdl +3360 -0
  214. data/lib/wsdl/Security.FirewallWeeklySchedule.wsdl +825 -0
  215. data/lib/wsdl/Security.LogProfile.wsdl +6927 -0
  216. data/lib/wsdl/Security.ProfileDNSSecurity.wsdl +6881 -0
  217. data/lib/wsdl/Security.ProfileDoS.wsdl +10389 -0
  218. data/lib/wsdl/Security.ProfileIPIntelligence.wsdl +7154 -0
  219. data/lib/wsdl/System.CertificateRevocationListFile.wsdl +840 -0
  220. data/lib/wsdl/System.Cluster.wsdl +956 -0
  221. data/lib/wsdl/System.ConfigSync.wsdl +1289 -0
  222. data/lib/wsdl/System.Connections.wsdl +497 -0
  223. data/lib/wsdl/System.Disk.wsdl +1442 -0
  224. data/lib/wsdl/System.ExternalMonitorFile.wsdl +834 -0
  225. data/lib/wsdl/System.Failover.wsdl +539 -0
  226. data/lib/wsdl/System.GeoIP.wsdl +181 -0
  227. data/lib/wsdl/System.HAGroup.wsdl +1983 -0
  228. data/lib/wsdl/System.HAStatus.wsdl +695 -0
  229. data/lib/wsdl/System.Inet.wsdl +438 -0
  230. data/lib/wsdl/System.Internal.wsdl +279 -0
  231. data/lib/wsdl/System.PerformanceSFlow.wsdl +722 -0
  232. data/lib/wsdl/System.Services.wsdl +1054 -0
  233. data/lib/wsdl/System.Session.wsdl +1023 -0
  234. data/lib/wsdl/System.SoftwareManagement.wsdl +1073 -0
  235. data/lib/wsdl/System.Statistics.wsdl +9469 -0
  236. data/lib/wsdl/System.SystemInfo.wsdl +7493 -0
  237. data/lib/wsdl/System.VCMP.wsdl +7766 -0
  238. data/lib/wsdl/WebAccelerator.Applications.wsdl +7765 -0
  239. data/lib/wsdl/WebAccelerator.Policies.wsdl +570 -0
  240. data/lib/wsdl/WebAccelerator.ProxyMessage.wsdl +157 -0
  241. data/lib/wsdl/iCall.PeriodicHandler.wsdl +751 -0
  242. data/lib/wsdl/iCall.PerpetualHandler.wsdl +1081 -0
  243. data/lib/wsdl/iCall.Script.wsdl +372 -0
  244. data/lib/wsdl/iCall.TriggeredHandler.wsdl +1071 -0
  245. data/metadata +323 -0
  246. data/spec/cassettes/F5_Icontrol_LocalLB_Pool/creates_a_pool.yml +49 -0
  247. data/spec/cassettes/F5_Icontrol_System_SystemInfo/retrieves_something_with_a_complex_return_type_and_input.yml +49 -0
  248. data/spec/cassettes/F5_Icontrol_System_SystemInfo/retrieves_the_uptime.yml +96 -0
  249. data/spec/cassettes/F5_Icontrol_System_SystemInfo/retrieves_the_version.yml +99 -0
  250. data/spec/models/local_lb/pool_spec.rb +26 -0
  251. data/spec/models/system/system_info_spec.rb +31 -0
  252. data/spec/spec_helper.rb +13 -0
  253. metadata +415 -0
@@ -0,0 +1,1023 @@
1
+ <?xml version="1.0" ?>
2
+ <!--
3
+ Copyright (c) 1996-2013, F5 Networks, Inc., Seattle, Washington. All rights reserved.
4
+
5
+ F5, F5 Networks, the F5 logo, BIG-IP, 3-DNS, iControl, GLOBAL-SITE, SEE-IT, EDGE-FX, FireGuard, Internet Control Architecture, IP Application Switch, iRules, PACKET VELOCITY, SYN Check, CONTROL YOUR WORLD, OneConnect, ZoneRunner, uRoam, FirePass, and TrafficShield are registered trademarks or trademarks of F5 Networks, Inc., in the U.S. and certain other countries.
6
+
7
+ All other trademarks mentioned in this document are the property of their respective owners. F5 Networks' trademarks may not be used in connection with any product or service except as permitted in writing by F5.
8
+
9
+ -->
10
+ <definitions name="System.Session"
11
+ targetNamespace="urn:iControl"
12
+ xmlns:tns="urn:iControl"
13
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
14
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
15
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
16
+
17
+ <!-- types -->
18
+
19
+ <types>
20
+ <xsd:schema targetNamespace='urn:iControl'
21
+ xmlns='http://www.w3.org/2001/XMLSchema'
22
+ xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
23
+ xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'>
24
+ <xsd:simpleType name="System.Session.ReturnedPath">
25
+ <xsd:restriction base="xsd:string">
26
+ <xsd:enumeration value="PATH_UNKNOWN">
27
+ <xsd:annotation>
28
+ <xsd:documentation>PATH_UNKNOWN</xsd:documentation>
29
+ </xsd:annotation>
30
+ </xsd:enumeration>
31
+ <xsd:enumeration value="PATH_FULL">
32
+ <xsd:annotation>
33
+ <xsd:documentation>PATH_FULL</xsd:documentation>
34
+ </xsd:annotation>
35
+ </xsd:enumeration>
36
+ <xsd:enumeration value="PATH_RELATIVE">
37
+ <xsd:annotation>
38
+ <xsd:documentation>PATH_RELATIVE</xsd:documentation>
39
+ </xsd:annotation>
40
+ </xsd:enumeration>
41
+ <xsd:enumeration value="PATH_BARE">
42
+ <xsd:annotation>
43
+ <xsd:documentation>PATH_BARE</xsd:documentation>
44
+ </xsd:annotation>
45
+ </xsd:enumeration>
46
+ </xsd:restriction>
47
+ </xsd:simpleType>
48
+ <xsd:simpleType name="Common.EnabledState">
49
+ <xsd:restriction base="xsd:string">
50
+ <xsd:enumeration value="STATE_DISABLED">
51
+ <xsd:annotation>
52
+ <xsd:documentation>STATE_DISABLED</xsd:documentation>
53
+ </xsd:annotation>
54
+ </xsd:enumeration>
55
+ <xsd:enumeration value="STATE_ENABLED">
56
+ <xsd:annotation>
57
+ <xsd:documentation>STATE_ENABLED</xsd:documentation>
58
+ </xsd:annotation>
59
+ </xsd:enumeration>
60
+ </xsd:restriction>
61
+ </xsd:simpleType>
62
+ <xsd:simpleType name="Common.ULong">
63
+ <xsd:restriction base="xsd:long"/>
64
+ </xsd:simpleType>
65
+ </xsd:schema>
66
+ </types>
67
+
68
+ <!-- message -->
69
+
70
+ <message name="System.Session.get_session_identifierRequest">
71
+ </message>
72
+ <message name="System.Session.get_session_identifierResponse">
73
+ <part name="return" type="xsd:long"/>
74
+ </message>
75
+
76
+ <message name="System.Session.set_session_timeoutRequest">
77
+ <part name="timeout" type="xsd:long"/>
78
+ </message>
79
+ <message name="System.Session.set_session_timeoutResponse">
80
+ </message>
81
+
82
+ <message name="System.Session.get_session_timeoutRequest">
83
+ </message>
84
+ <message name="System.Session.get_session_timeoutResponse">
85
+ <part name="return" type="xsd:long"/>
86
+ </message>
87
+
88
+ <message name="System.Session.set_maximum_sessionsRequest">
89
+ <part name="sessions" type="xsd:long"/>
90
+ </message>
91
+ <message name="System.Session.set_maximum_sessionsResponse">
92
+ </message>
93
+
94
+ <message name="System.Session.get_maximum_sessionsRequest">
95
+ </message>
96
+ <message name="System.Session.get_maximum_sessionsResponse">
97
+ <part name="return" type="xsd:long"/>
98
+ </message>
99
+
100
+ <message name="System.Session.start_transactionRequest">
101
+ </message>
102
+ <message name="System.Session.start_transactionResponse">
103
+ <part name="return" type="xsd:long"/>
104
+ </message>
105
+
106
+ <message name="System.Session.submit_transactionRequest">
107
+ </message>
108
+ <message name="System.Session.submit_transactionResponse">
109
+ </message>
110
+
111
+ <message name="System.Session.rollback_transactionRequest">
112
+ </message>
113
+ <message name="System.Session.rollback_transactionResponse">
114
+ </message>
115
+
116
+ <message name="System.Session.set_transaction_timeoutRequest">
117
+ <part name="timeout" type="xsd:long"/>
118
+ </message>
119
+ <message name="System.Session.set_transaction_timeoutResponse">
120
+ </message>
121
+
122
+ <message name="System.Session.get_transaction_timeoutRequest">
123
+ </message>
124
+ <message name="System.Session.get_transaction_timeoutResponse">
125
+ <part name="return" type="xsd:long"/>
126
+ </message>
127
+
128
+ <message name="System.Session.set_active_folderRequest">
129
+ <part name="folder" type="xsd:string"/>
130
+ </message>
131
+ <message name="System.Session.set_active_folderResponse">
132
+ </message>
133
+
134
+ <message name="System.Session.get_active_folderRequest">
135
+ </message>
136
+ <message name="System.Session.get_active_folderResponse">
137
+ <part name="return" type="xsd:string"/>
138
+ </message>
139
+
140
+ <message name="System.Session.set_returned_pathRequest">
141
+ <part name="path" type="tns:System.Session.ReturnedPath"/>
142
+ </message>
143
+ <message name="System.Session.set_returned_pathResponse">
144
+ </message>
145
+
146
+ <message name="System.Session.get_returned_pathRequest">
147
+ </message>
148
+ <message name="System.Session.get_returned_pathResponse">
149
+ <part name="return" type="tns:System.Session.ReturnedPath"/>
150
+ </message>
151
+
152
+ <message name="System.Session.set_recursive_query_stateRequest">
153
+ <part name="state" type="tns:Common.EnabledState"/>
154
+ </message>
155
+ <message name="System.Session.set_recursive_query_stateResponse">
156
+ </message>
157
+
158
+ <message name="System.Session.get_recursive_query_stateRequest">
159
+ </message>
160
+ <message name="System.Session.get_recursive_query_stateResponse">
161
+ <part name="return" type="tns:Common.EnabledState"/>
162
+ </message>
163
+
164
+ <message name="System.Session.get_versionRequest">
165
+ </message>
166
+ <message name="System.Session.get_versionResponse">
167
+ <part name="return" type="xsd:string"/>
168
+ </message>
169
+
170
+ <!-- portType -->
171
+
172
+ <portType name="System.SessionPortType">
173
+ <operation name="get_session_identifier">
174
+ <documentation>
175
+ Gets a new session identifier.
176
+
177
+ This identifier is a value which uniquely identifies a user
178
+ session. Once retrieved by a client, it may be included in any
179
+ subsequent requests to notify the iControl portal that a specific
180
+ request should be executed in the context of the session associated
181
+ with that identifier.
182
+
183
+ Use of this identifier is completely optional. If it is not
184
+ included in an iControl request, the session key defaults to the
185
+ user name. Note that this is even true if you have retrieved a
186
+ unique session identifier. It is also possible to have more than
187
+ one such unique session identifier active at the same time.
188
+ However, it is important to understand that each session key,
189
+ whether the unique identifier or the default user name represent
190
+ distinct sessions. Changing a session variable in one session does
191
+ not effect the variable in any other session. On the other hand,
192
+ if different clients have the same session key and one changes a
193
+ session variable, the others will see it. The important
194
+ distinction is not the client being run and not the user running
195
+ it, but the session key for each request.
196
+
197
+ When used, this session identifier must be passed to the iControl
198
+ portal via either an HTTP header or a SOAP header element. There
199
+ is no preference for which transport is used, as the portal will
200
+ pick up either. The client is free to use whichever is easier to
201
+ work with in the client's SOAP package. If for some reason,
202
+ conflicting values are set in the HTTP header and SOAP header
203
+ element, the SOAP header element value will take precedence.
204
+
205
+ The HTTP header holding the session identifier is named
206
+ "X-IControl-Session". If used, its value must be set to the text
207
+ representation of the session identifier. Thus in the HTTP
208
+ request, the header would look like, e.g., X-iControl-Session: 14.
209
+ Most SOAP packages include a straightforward way to add an HTTP
210
+ header to the HTTP request, so reference your documentation.
211
+
212
+ The SOAP header element is named "session". If used, its value
213
+ must be a SOAP integer element holding the session identifier. If
214
+ this client is intended to work with older versions of iControl, be
215
+ aware that the mustUnderstand SOAP header element attribute must be
216
+ set to 0. Reference your SOAP package documentation for details
217
+ for adding a SOAP header to a request.
218
+
219
+ </documentation>
220
+ <input message="tns:System.Session.get_session_identifierRequest"/>
221
+ <output message="tns:System.Session.get_session_identifierResponse"/>
222
+ </operation>
223
+ <operation name="set_session_timeout">
224
+ <documentation>
225
+ Sets the session timeout.
226
+
227
+ The session timeout is the amount of time for which a user session
228
+ has not processed a request before it is marked as eligible for
229
+ deletion. For a user session without a session identifier,
230
+ re-using an expired session will trigger the creation of a new user
231
+ session with the default session values. For a user session with a
232
+ session identifier, re-using an expired session will result in an
233
+ error.
234
+
235
+ The session timeout is a global value, so it applies equally to all
236
+ user sessions. A zero timeout means that only one request can be
237
+ handled per user session, effectively turning off sessions. Only
238
+ administrators can set this value.
239
+
240
+ </documentation>
241
+ <input message="tns:System.Session.set_session_timeoutRequest"/>
242
+ <output message="tns:System.Session.set_session_timeoutResponse"/>
243
+ </operation>
244
+ <operation name="get_session_timeout">
245
+ <documentation>
246
+ Gets the session timeout.
247
+
248
+ </documentation>
249
+ <input message="tns:System.Session.get_session_timeoutRequest"/>
250
+ <output message="tns:System.Session.get_session_timeoutResponse"/>
251
+ </operation>
252
+ <operation name="set_maximum_sessions">
253
+ <documentation>
254
+ Sets the maximum number of concurrent user sessions.
255
+
256
+ A system could be attacked by creating an inordinate number of
257
+ iControl user sessions, eventually bringing the iControl portal (or
258
+ the system itself) to a crawl. If iControl is already supporting
259
+ this number of user sessions, subsequent attempts to create a new
260
+ user sessions are rejected with an error.
261
+
262
+ If this limit is set to zero, the number of user sessions is
263
+ unlimited. Only administrators can set this value.
264
+
265
+ </documentation>
266
+ <input message="tns:System.Session.set_maximum_sessionsRequest"/>
267
+ <output message="tns:System.Session.set_maximum_sessionsResponse"/>
268
+ </operation>
269
+ <operation name="get_maximum_sessions">
270
+ <documentation>
271
+ Gets the maximum number of user sessions.
272
+
273
+ </documentation>
274
+ <input message="tns:System.Session.get_maximum_sessionsRequest"/>
275
+ <output message="tns:System.Session.get_maximum_sessionsResponse"/>
276
+ </operation>
277
+ <operation name="start_transaction">
278
+ <documentation>
279
+ Start an iControl transaction, which combines the effects of a
280
+ number of iControl methods into a single atomic transaction.
281
+
282
+ Once an iControl client calls start_transaction, the handling of
283
+ subsequent iControl requests changes until the client submits or
284
+ rolls back the transaction, i.e. while the transaction is open. It
285
+ is important to understand the characteristics of iControl requests
286
+ made in this mode. iControl requests which modify the
287
+ configuration are submitted for subsequent execution. The requests
288
+ do not affect the configuration at the time they are made.
289
+ iControl requests which query the configuration are executed
290
+ immediately and do not see the effects of a pending transaction.
291
+ iControl modify requests made outside a session with an open
292
+ transaction affect the configuration immediately and do not see
293
+ effects of any pending transactions.
294
+
295
+ A transaction remains open until submit_transaction or
296
+ rollback_transaction is called or until it is idle for too long.
297
+
298
+ Reporting errors also differ while a transaction is open. Some
299
+ classes of errors (such as invalid arguments) are returned by the
300
+ method itself. The context for these errors should thus be as
301
+ clear as without a transaction. However, most errors will be
302
+ returned by the submit_transaction call. Note that this can make
303
+ it difficult to determine which iControl method caused the error.
304
+ If an error occurs at any time during a transaction, the
305
+ transaction remains open, but is marked as errant. When
306
+ submit_transaction is subsequently called, the transaction will
307
+ actually be deleted, as if rollback_transaction has been called.
308
+ Note that even if an error occurs, submit_transaction or
309
+ rollback_transaction still must be called to properly close it.
310
+
311
+ Not all interfaces and methods support transactions. These methods
312
+ are processed per normal, i.e., executed immediately and not as
313
+ part of the transaction. The documentation includes a note for
314
+ those interfaces and methods which do not.
315
+
316
+ The contents of pending transaction cannot be queried or modified.
317
+ Only one transaction can be open at the same time in a single
318
+ user session.
319
+
320
+ </documentation>
321
+ <input message="tns:System.Session.start_transactionRequest"/>
322
+ <output message="tns:System.Session.start_transactionResponse"/>
323
+ </operation>
324
+ <operation name="submit_transaction">
325
+ <documentation>
326
+ Submit the transaction for execution.
327
+
328
+ When called, all of the requests submitted since start_transaction
329
+ was called are committed to the configuration as a single atomic
330
+ transaction. If all of the requests succeed, the configuration is
331
+ updated. If any of the requests fail, the transaction as a whole
332
+ fails and the configuration remains unchanged.
333
+
334
+ If an error is signaled, it may be from any of the submitted
335
+ requests. Nothing outside the returned error message can indicate
336
+ which request triggered the error. If no requests have been queued
337
+ in the transaction, nothing is done and no error is signaled. If
338
+ no transaction is open, an error is signaled.
339
+
340
+ </documentation>
341
+ <input message="tns:System.Session.submit_transactionRequest"/>
342
+ <output message="tns:System.Session.submit_transactionResponse"/>
343
+ </operation>
344
+ <operation name="rollback_transaction">
345
+ <documentation>
346
+ Roll back the transaction.
347
+
348
+ When called, all of the requests submitted since start_transaction
349
+ was called are un-done. The configuration will remain unchanged.
350
+
351
+ If no transaction is open, an error is signaled. If no requests
352
+ have been queued in the transaction, nothing is done and no error
353
+ is signaled.
354
+
355
+ </documentation>
356
+ <input message="tns:System.Session.rollback_transactionRequest"/>
357
+ <output message="tns:System.Session.rollback_transactionResponse"/>
358
+ </operation>
359
+ <operation name="set_transaction_timeout">
360
+ <documentation>
361
+ Sets the transaction timeout, the amount of time that an open
362
+ transaction can be inactive before it is marked for deletion.
363
+
364
+ This is effectively a lower limit, an inactive open transaction may
365
+ be open longer than that, though is effectively unusable after that
366
+ point. Expiring transactions are logged. The transaction timeout
367
+ is unique for each session.
368
+
369
+ </documentation>
370
+ <input message="tns:System.Session.set_transaction_timeoutRequest"/>
371
+ <output message="tns:System.Session.set_transaction_timeoutResponse"/>
372
+ </operation>
373
+ <operation name="get_transaction_timeout">
374
+ <documentation>
375
+ Gets the transaction timeout.
376
+
377
+ </documentation>
378
+ <input message="tns:System.Session.get_transaction_timeoutRequest"/>
379
+ <output message="tns:System.Session.get_transaction_timeoutResponse"/>
380
+ </operation>
381
+ <operation name="set_active_folder">
382
+ <documentation>
383
+ Sets the active folder.
384
+
385
+ Most configuration objects reside in folders (see the
386
+ Management::Folder interface), but continually specifying the full
387
+ path to name an object can be wearing. For ease, an "active
388
+ folder" can be specified. When creating or accessing objects and a
389
+ full object path is not specified (i.e., the object path does not
390
+ begin with a slash (/)), the active folder is prepended to the
391
+ object name. Thus if the name for an object to be created is
392
+ specified as "repository-a" and the active folder is
393
+ /george/server, the full path for the created object is
394
+ /george/server/repository-a. Note that relative paths are also
395
+ allowed in the object identifier, so that if the active folder is
396
+ /george/server and the given object identifier is
397
+ virtual/repository-a, then the full object path is
398
+ /george/server/virtual/repository-a.
399
+
400
+ The active folder may be the root folder (/), but that is only
401
+ usable when querying.
402
+
403
+ If for some reason, neither the currently active folder nor the
404
+ newly requested active folder exist, the currently active folder
405
+ will be set to the user's default folder.
406
+
407
+ </documentation>
408
+ <input message="tns:System.Session.set_active_folderRequest"/>
409
+ <output message="tns:System.Session.set_active_folderResponse"/>
410
+ </operation>
411
+ <operation name="get_active_folder">
412
+ <documentation>
413
+ Gets the active folder.
414
+
415
+ </documentation>
416
+ <input message="tns:System.Session.get_active_folderRequest"/>
417
+ <output message="tns:System.Session.get_active_folderResponse"/>
418
+ </operation>
419
+ <operation name="set_returned_path">
420
+ <documentation>
421
+ Sets the type of path information returned with object names.
422
+
423
+ </documentation>
424
+ <input message="tns:System.Session.set_returned_pathRequest"/>
425
+ <output message="tns:System.Session.set_returned_pathResponse"/>
426
+ </operation>
427
+ <operation name="get_returned_path">
428
+ <documentation>
429
+ Gets the type of path information returned with object names.
430
+
431
+ </documentation>
432
+ <input message="tns:System.Session.get_returned_pathRequest"/>
433
+ <output message="tns:System.Session.get_returned_pathResponse"/>
434
+ </operation>
435
+ <operation name="set_recursive_query_state">
436
+ <documentation>
437
+ Sets the state to recursively query the contents of the
438
+ active folder. As of 11.4.0, this setting applies also to
439
+ delete_all_x operations.
440
+
441
+ If not set, any query will return objects in the active folder
442
+ only. If set, any query will return objects in the active folder,
443
+ plus objects in any sub-folders under that active folder no matter
444
+ how deeply nested.
445
+
446
+ Note, regarding other recursive operations: when folders
447
+ were introduced, the behavior of delete_all_x methods, such
448
+ as LocalLB::Pool::delete_all_pools, was unspecified with
449
+ respect to folders. (It was unspecified in which folders to
450
+ apply the operation). As of 11.4.0, the behavior of
451
+ delete_all_x methods is clarified: delete_all_pools and
452
+ similar methods operate on objects in the active folder,
453
+ and only there. If you would like to delete all pools in
454
+ the active folder and folders below it, enable recursive
455
+ query using this method. If you would like to delete all
456
+ pools in a top-level folder (partition) and below, set the
457
+ active folder to the desired folder and turn on recursive
458
+ query.
459
+
460
+ </documentation>
461
+ <input message="tns:System.Session.set_recursive_query_stateRequest"/>
462
+ <output message="tns:System.Session.set_recursive_query_stateResponse"/>
463
+ </operation>
464
+ <operation name="get_recursive_query_state">
465
+ <documentation>
466
+ Gets the state to recursively query the contents of the active
467
+ folder.
468
+
469
+ </documentation>
470
+ <input message="tns:System.Session.get_recursive_query_stateRequest"/>
471
+ <output message="tns:System.Session.get_recursive_query_stateResponse"/>
472
+ </operation>
473
+ <operation name="get_version">
474
+ <documentation>
475
+ Gets the version information for this interface.
476
+
477
+ </documentation>
478
+ <input message="tns:System.Session.get_versionRequest"/>
479
+ <output message="tns:System.Session.get_versionResponse"/>
480
+ </operation>
481
+ </portType>
482
+
483
+ <!-- binding -->
484
+
485
+ <binding name="System.SessionBinding" type="tns:System.SessionPortType">
486
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
487
+ <operation name="get_session_identifier">
488
+ <documentation>
489
+ Gets a new session identifier.
490
+
491
+ This identifier is a value which uniquely identifies a user
492
+ session. Once retrieved by a client, it may be included in any
493
+ subsequent requests to notify the iControl portal that a specific
494
+ request should be executed in the context of the session associated
495
+ with that identifier.
496
+
497
+ Use of this identifier is completely optional. If it is not
498
+ included in an iControl request, the session key defaults to the
499
+ user name. Note that this is even true if you have retrieved a
500
+ unique session identifier. It is also possible to have more than
501
+ one such unique session identifier active at the same time.
502
+ However, it is important to understand that each session key,
503
+ whether the unique identifier or the default user name represent
504
+ distinct sessions. Changing a session variable in one session does
505
+ not effect the variable in any other session. On the other hand,
506
+ if different clients have the same session key and one changes a
507
+ session variable, the others will see it. The important
508
+ distinction is not the client being run and not the user running
509
+ it, but the session key for each request.
510
+
511
+ When used, this session identifier must be passed to the iControl
512
+ portal via either an HTTP header or a SOAP header element. There
513
+ is no preference for which transport is used, as the portal will
514
+ pick up either. The client is free to use whichever is easier to
515
+ work with in the client's SOAP package. If for some reason,
516
+ conflicting values are set in the HTTP header and SOAP header
517
+ element, the SOAP header element value will take precedence.
518
+
519
+ The HTTP header holding the session identifier is named
520
+ "X-IControl-Session". If used, its value must be set to the text
521
+ representation of the session identifier. Thus in the HTTP
522
+ request, the header would look like, e.g., X-iControl-Session: 14.
523
+ Most SOAP packages include a straightforward way to add an HTTP
524
+ header to the HTTP request, so reference your documentation.
525
+
526
+ The SOAP header element is named "session". If used, its value
527
+ must be a SOAP integer element holding the session identifier. If
528
+ this client is intended to work with older versions of iControl, be
529
+ aware that the mustUnderstand SOAP header element attribute must be
530
+ set to 0. Reference your SOAP package documentation for details
531
+ for adding a SOAP header to a request.
532
+
533
+ </documentation>
534
+ <soap:operation soapAction="urn:iControl:System/Session"/>
535
+ <input>
536
+ <soap:body
537
+ use="encoded"
538
+ namespace="urn:iControl:System/Session"
539
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
540
+ </input>
541
+ <output>
542
+ <soap:body
543
+ use="encoded"
544
+ namespace="urn:iControl:System/Session"
545
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
546
+ </output>
547
+ </operation>
548
+
549
+ <operation name="set_session_timeout">
550
+ <documentation>
551
+ Sets the session timeout.
552
+
553
+ The session timeout is the amount of time for which a user session
554
+ has not processed a request before it is marked as eligible for
555
+ deletion. For a user session without a session identifier,
556
+ re-using an expired session will trigger the creation of a new user
557
+ session with the default session values. For a user session with a
558
+ session identifier, re-using an expired session will result in an
559
+ error.
560
+
561
+ The session timeout is a global value, so it applies equally to all
562
+ user sessions. A zero timeout means that only one request can be
563
+ handled per user session, effectively turning off sessions. Only
564
+ administrators can set this value.
565
+
566
+ </documentation>
567
+ <soap:operation soapAction="urn:iControl:System/Session"/>
568
+ <input>
569
+ <soap:body
570
+ use="encoded"
571
+ namespace="urn:iControl:System/Session"
572
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
573
+ </input>
574
+ <output>
575
+ <soap:body
576
+ use="encoded"
577
+ namespace="urn:iControl:System/Session"
578
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
579
+ </output>
580
+ </operation>
581
+
582
+ <operation name="get_session_timeout">
583
+ <documentation>
584
+ Gets the session timeout.
585
+
586
+ </documentation>
587
+ <soap:operation soapAction="urn:iControl:System/Session"/>
588
+ <input>
589
+ <soap:body
590
+ use="encoded"
591
+ namespace="urn:iControl:System/Session"
592
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
593
+ </input>
594
+ <output>
595
+ <soap:body
596
+ use="encoded"
597
+ namespace="urn:iControl:System/Session"
598
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
599
+ </output>
600
+ </operation>
601
+
602
+ <operation name="set_maximum_sessions">
603
+ <documentation>
604
+ Sets the maximum number of concurrent user sessions.
605
+
606
+ A system could be attacked by creating an inordinate number of
607
+ iControl user sessions, eventually bringing the iControl portal (or
608
+ the system itself) to a crawl. If iControl is already supporting
609
+ this number of user sessions, subsequent attempts to create a new
610
+ user sessions are rejected with an error.
611
+
612
+ If this limit is set to zero, the number of user sessions is
613
+ unlimited. Only administrators can set this value.
614
+
615
+ </documentation>
616
+ <soap:operation soapAction="urn:iControl:System/Session"/>
617
+ <input>
618
+ <soap:body
619
+ use="encoded"
620
+ namespace="urn:iControl:System/Session"
621
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
622
+ </input>
623
+ <output>
624
+ <soap:body
625
+ use="encoded"
626
+ namespace="urn:iControl:System/Session"
627
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
628
+ </output>
629
+ </operation>
630
+
631
+ <operation name="get_maximum_sessions">
632
+ <documentation>
633
+ Gets the maximum number of user sessions.
634
+
635
+ </documentation>
636
+ <soap:operation soapAction="urn:iControl:System/Session"/>
637
+ <input>
638
+ <soap:body
639
+ use="encoded"
640
+ namespace="urn:iControl:System/Session"
641
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
642
+ </input>
643
+ <output>
644
+ <soap:body
645
+ use="encoded"
646
+ namespace="urn:iControl:System/Session"
647
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
648
+ </output>
649
+ </operation>
650
+
651
+ <operation name="start_transaction">
652
+ <documentation>
653
+ Start an iControl transaction, which combines the effects of a
654
+ number of iControl methods into a single atomic transaction.
655
+
656
+ Once an iControl client calls start_transaction, the handling of
657
+ subsequent iControl requests changes until the client submits or
658
+ rolls back the transaction, i.e. while the transaction is open. It
659
+ is important to understand the characteristics of iControl requests
660
+ made in this mode. iControl requests which modify the
661
+ configuration are submitted for subsequent execution. The requests
662
+ do not affect the configuration at the time they are made.
663
+ iControl requests which query the configuration are executed
664
+ immediately and do not see the effects of a pending transaction.
665
+ iControl modify requests made outside a session with an open
666
+ transaction affect the configuration immediately and do not see
667
+ effects of any pending transactions.
668
+
669
+ A transaction remains open until submit_transaction or
670
+ rollback_transaction is called or until it is idle for too long.
671
+
672
+ Reporting errors also differ while a transaction is open. Some
673
+ classes of errors (such as invalid arguments) are returned by the
674
+ method itself. The context for these errors should thus be as
675
+ clear as without a transaction. However, most errors will be
676
+ returned by the submit_transaction call. Note that this can make
677
+ it difficult to determine which iControl method caused the error.
678
+ If an error occurs at any time during a transaction, the
679
+ transaction remains open, but is marked as errant. When
680
+ submit_transaction is subsequently called, the transaction will
681
+ actually be deleted, as if rollback_transaction has been called.
682
+ Note that even if an error occurs, submit_transaction or
683
+ rollback_transaction still must be called to properly close it.
684
+
685
+ Not all interfaces and methods support transactions. These methods
686
+ are processed per normal, i.e., executed immediately and not as
687
+ part of the transaction. The documentation includes a note for
688
+ those interfaces and methods which do not.
689
+
690
+ The contents of pending transaction cannot be queried or modified.
691
+ Only one transaction can be open at the same time in a single
692
+ user session.
693
+
694
+ </documentation>
695
+ <soap:operation soapAction="urn:iControl:System/Session"/>
696
+ <input>
697
+ <soap:body
698
+ use="encoded"
699
+ namespace="urn:iControl:System/Session"
700
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
701
+ </input>
702
+ <output>
703
+ <soap:body
704
+ use="encoded"
705
+ namespace="urn:iControl:System/Session"
706
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
707
+ </output>
708
+ </operation>
709
+
710
+ <operation name="submit_transaction">
711
+ <documentation>
712
+ Submit the transaction for execution.
713
+
714
+ When called, all of the requests submitted since start_transaction
715
+ was called are committed to the configuration as a single atomic
716
+ transaction. If all of the requests succeed, the configuration is
717
+ updated. If any of the requests fail, the transaction as a whole
718
+ fails and the configuration remains unchanged.
719
+
720
+ If an error is signaled, it may be from any of the submitted
721
+ requests. Nothing outside the returned error message can indicate
722
+ which request triggered the error. If no requests have been queued
723
+ in the transaction, nothing is done and no error is signaled. If
724
+ no transaction is open, an error is signaled.
725
+
726
+ </documentation>
727
+ <soap:operation soapAction="urn:iControl:System/Session"/>
728
+ <input>
729
+ <soap:body
730
+ use="encoded"
731
+ namespace="urn:iControl:System/Session"
732
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
733
+ </input>
734
+ <output>
735
+ <soap:body
736
+ use="encoded"
737
+ namespace="urn:iControl:System/Session"
738
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
739
+ </output>
740
+ </operation>
741
+
742
+ <operation name="rollback_transaction">
743
+ <documentation>
744
+ Roll back the transaction.
745
+
746
+ When called, all of the requests submitted since start_transaction
747
+ was called are un-done. The configuration will remain unchanged.
748
+
749
+ If no transaction is open, an error is signaled. If no requests
750
+ have been queued in the transaction, nothing is done and no error
751
+ is signaled.
752
+
753
+ </documentation>
754
+ <soap:operation soapAction="urn:iControl:System/Session"/>
755
+ <input>
756
+ <soap:body
757
+ use="encoded"
758
+ namespace="urn:iControl:System/Session"
759
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
760
+ </input>
761
+ <output>
762
+ <soap:body
763
+ use="encoded"
764
+ namespace="urn:iControl:System/Session"
765
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
766
+ </output>
767
+ </operation>
768
+
769
+ <operation name="set_transaction_timeout">
770
+ <documentation>
771
+ Sets the transaction timeout, the amount of time that an open
772
+ transaction can be inactive before it is marked for deletion.
773
+
774
+ This is effectively a lower limit, an inactive open transaction may
775
+ be open longer than that, though is effectively unusable after that
776
+ point. Expiring transactions are logged. The transaction timeout
777
+ is unique for each session.
778
+
779
+ </documentation>
780
+ <soap:operation soapAction="urn:iControl:System/Session"/>
781
+ <input>
782
+ <soap:body
783
+ use="encoded"
784
+ namespace="urn:iControl:System/Session"
785
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
786
+ </input>
787
+ <output>
788
+ <soap:body
789
+ use="encoded"
790
+ namespace="urn:iControl:System/Session"
791
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
792
+ </output>
793
+ </operation>
794
+
795
+ <operation name="get_transaction_timeout">
796
+ <documentation>
797
+ Gets the transaction timeout.
798
+
799
+ </documentation>
800
+ <soap:operation soapAction="urn:iControl:System/Session"/>
801
+ <input>
802
+ <soap:body
803
+ use="encoded"
804
+ namespace="urn:iControl:System/Session"
805
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
806
+ </input>
807
+ <output>
808
+ <soap:body
809
+ use="encoded"
810
+ namespace="urn:iControl:System/Session"
811
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
812
+ </output>
813
+ </operation>
814
+
815
+ <operation name="set_active_folder">
816
+ <documentation>
817
+ Sets the active folder.
818
+
819
+ Most configuration objects reside in folders (see the
820
+ Management::Folder interface), but continually specifying the full
821
+ path to name an object can be wearing. For ease, an "active
822
+ folder" can be specified. When creating or accessing objects and a
823
+ full object path is not specified (i.e., the object path does not
824
+ begin with a slash (/)), the active folder is prepended to the
825
+ object name. Thus if the name for an object to be created is
826
+ specified as "repository-a" and the active folder is
827
+ /george/server, the full path for the created object is
828
+ /george/server/repository-a. Note that relative paths are also
829
+ allowed in the object identifier, so that if the active folder is
830
+ /george/server and the given object identifier is
831
+ virtual/repository-a, then the full object path is
832
+ /george/server/virtual/repository-a.
833
+
834
+ The active folder may be the root folder (/), but that is only
835
+ usable when querying.
836
+
837
+ If for some reason, neither the currently active folder nor the
838
+ newly requested active folder exist, the currently active folder
839
+ will be set to the user's default folder.
840
+
841
+ </documentation>
842
+ <soap:operation soapAction="urn:iControl:System/Session"/>
843
+ <input>
844
+ <soap:body
845
+ use="encoded"
846
+ namespace="urn:iControl:System/Session"
847
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
848
+ </input>
849
+ <output>
850
+ <soap:body
851
+ use="encoded"
852
+ namespace="urn:iControl:System/Session"
853
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
854
+ </output>
855
+ </operation>
856
+
857
+ <operation name="get_active_folder">
858
+ <documentation>
859
+ Gets the active folder.
860
+
861
+ </documentation>
862
+ <soap:operation soapAction="urn:iControl:System/Session"/>
863
+ <input>
864
+ <soap:body
865
+ use="encoded"
866
+ namespace="urn:iControl:System/Session"
867
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
868
+ </input>
869
+ <output>
870
+ <soap:body
871
+ use="encoded"
872
+ namespace="urn:iControl:System/Session"
873
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
874
+ </output>
875
+ </operation>
876
+
877
+ <operation name="set_returned_path">
878
+ <documentation>
879
+ Sets the type of path information returned with object names.
880
+
881
+ </documentation>
882
+ <soap:operation soapAction="urn:iControl:System/Session"/>
883
+ <input>
884
+ <soap:body
885
+ use="encoded"
886
+ namespace="urn:iControl:System/Session"
887
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
888
+ </input>
889
+ <output>
890
+ <soap:body
891
+ use="encoded"
892
+ namespace="urn:iControl:System/Session"
893
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
894
+ </output>
895
+ </operation>
896
+
897
+ <operation name="get_returned_path">
898
+ <documentation>
899
+ Gets the type of path information returned with object names.
900
+
901
+ </documentation>
902
+ <soap:operation soapAction="urn:iControl:System/Session"/>
903
+ <input>
904
+ <soap:body
905
+ use="encoded"
906
+ namespace="urn:iControl:System/Session"
907
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
908
+ </input>
909
+ <output>
910
+ <soap:body
911
+ use="encoded"
912
+ namespace="urn:iControl:System/Session"
913
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
914
+ </output>
915
+ </operation>
916
+
917
+ <operation name="set_recursive_query_state">
918
+ <documentation>
919
+ Sets the state to recursively query the contents of the
920
+ active folder. As of 11.4.0, this setting applies also to
921
+ delete_all_x operations.
922
+
923
+ If not set, any query will return objects in the active folder
924
+ only. If set, any query will return objects in the active folder,
925
+ plus objects in any sub-folders under that active folder no matter
926
+ how deeply nested.
927
+
928
+ Note, regarding other recursive operations: when folders
929
+ were introduced, the behavior of delete_all_x methods, such
930
+ as LocalLB::Pool::delete_all_pools, was unspecified with
931
+ respect to folders. (It was unspecified in which folders to
932
+ apply the operation). As of 11.4.0, the behavior of
933
+ delete_all_x methods is clarified: delete_all_pools and
934
+ similar methods operate on objects in the active folder,
935
+ and only there. If you would like to delete all pools in
936
+ the active folder and folders below it, enable recursive
937
+ query using this method. If you would like to delete all
938
+ pools in a top-level folder (partition) and below, set the
939
+ active folder to the desired folder and turn on recursive
940
+ query.
941
+
942
+ </documentation>
943
+ <soap:operation soapAction="urn:iControl:System/Session"/>
944
+ <input>
945
+ <soap:body
946
+ use="encoded"
947
+ namespace="urn:iControl:System/Session"
948
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
949
+ </input>
950
+ <output>
951
+ <soap:body
952
+ use="encoded"
953
+ namespace="urn:iControl:System/Session"
954
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
955
+ </output>
956
+ </operation>
957
+
958
+ <operation name="get_recursive_query_state">
959
+ <documentation>
960
+ Gets the state to recursively query the contents of the active
961
+ folder.
962
+
963
+ </documentation>
964
+ <soap:operation soapAction="urn:iControl:System/Session"/>
965
+ <input>
966
+ <soap:body
967
+ use="encoded"
968
+ namespace="urn:iControl:System/Session"
969
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
970
+ </input>
971
+ <output>
972
+ <soap:body
973
+ use="encoded"
974
+ namespace="urn:iControl:System/Session"
975
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
976
+ </output>
977
+ </operation>
978
+
979
+ <operation name="get_version">
980
+ <documentation>
981
+ Gets the version information for this interface.
982
+
983
+ </documentation>
984
+ <soap:operation soapAction="urn:iControl:System/Session"/>
985
+ <input>
986
+ <soap:body
987
+ use="encoded"
988
+ namespace="urn:iControl:System/Session"
989
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
990
+ </input>
991
+ <output>
992
+ <soap:body
993
+ use="encoded"
994
+ namespace="urn:iControl:System/Session"
995
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
996
+ </output>
997
+ </operation>
998
+ </binding>
999
+
1000
+ <!-- service -->
1001
+
1002
+ <service name="System.Session">
1003
+ <documentation>
1004
+ The Session interface allows you to manage iControl sessions.
1005
+
1006
+ An iControl session is a set of attributes which can persist across
1007
+ iControl requests for a specific user. These values currently include
1008
+ the active folder and the transaction.
1009
+
1010
+ By default, a user session is identified by the user's name. However,
1011
+ finer grained control over user session can be gained via an explicit
1012
+ session identifier, which can be requested by a user and included in
1013
+ any subsequent requests which are intended to be included in that
1014
+ session.
1015
+
1016
+ This interface does not support transactions.
1017
+
1018
+ </documentation>
1019
+ <port name="System.SessionPort" binding="tns:System.SessionBinding">
1020
+ <soap:address location="https://url_to_service"/>
1021
+ </port>
1022
+ </service>
1023
+ </definitions>