icontrol 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. data/lib/icontrol/arx.rb +38 -8
  2. data/lib/icontrol/arx/api.rb +1 -0
  3. data/lib/icontrol/arx/chassis.rb +11 -0
  4. data/lib/icontrol/arx/export.rb +4 -1
  5. data/lib/icontrol/arx/file_change_notification.rb +25 -4
  6. data/lib/icontrol/arx/file_server.rb +2 -0
  7. data/lib/icontrol/arx/namespace.rb +2 -0
  8. data/lib/icontrol/arx/network.rb +3 -0
  9. data/lib/icontrol/arx/policy.rb +3 -0
  10. data/lib/icontrol/arx/share.rb +2 -0
  11. data/lib/icontrol/arx/virtual_service.rb +3 -0
  12. data/lib/icontrol/arx/volume.rb +2 -0
  13. data/lib/icontrol/asm.rb +18 -3
  14. data/lib/icontrol/asm/object_params.rb +12 -6
  15. data/lib/icontrol/asm/policy.rb +118 -79
  16. data/lib/icontrol/asm/system_configuration.rb +27 -19
  17. data/lib/icontrol/asm/web_application.rb +74 -52
  18. data/lib/icontrol/asm/web_application_group.rb +33 -24
  19. data/lib/icontrol/base.rb +1 -0
  20. data/lib/icontrol/base/exception.rb +1 -0
  21. data/lib/icontrol/base/icontrol/local_lb/pool.rb +7 -0
  22. data/lib/icontrol/base/icontrol_overlay.rb +6 -0
  23. data/lib/icontrol/base/predeclarations.rb +5 -4
  24. data/lib/icontrol/base/struct.rb +6 -2
  25. data/lib/icontrol/common.rb +55 -4
  26. data/lib/icontrol/global_lb.rb +22 -3
  27. data/lib/icontrol/global_lb/application.rb +63 -44
  28. data/lib/icontrol/global_lb/data_center.rb +82 -58
  29. data/lib/icontrol/global_lb/dnssec_key.rb +152 -90
  30. data/lib/icontrol/global_lb/dnssec_zone.rb +55 -35
  31. data/lib/icontrol/global_lb/globals.rb +662 -430
  32. data/lib/icontrol/global_lb/link.rb +181 -131
  33. data/lib/icontrol/global_lb/monitor.rb +174 -104
  34. data/lib/icontrol/global_lb/pool.rb +290 -203
  35. data/lib/icontrol/global_lb/pool_member.rb +118 -71
  36. data/lib/icontrol/global_lb/region.rb +37 -25
  37. data/lib/icontrol/global_lb/rule.rb +53 -37
  38. data/lib/icontrol/global_lb/server.rb +176 -124
  39. data/lib/icontrol/global_lb/topology.rb +41 -27
  40. data/lib/icontrol/global_lb/virtual_server.rb +118 -84
  41. data/lib/icontrol/global_lb/wide_ip.rb +168 -117
  42. data/lib/icontrol/local_lb.rb +81 -10
  43. data/lib/icontrol/local_lb/klass.rb +233 -153
  44. data/lib/icontrol/local_lb/monitor.rb +158 -96
  45. data/lib/icontrol/local_lb/nat.rb +74 -52
  46. data/lib/icontrol/local_lb/node_address.rb +123 -86
  47. data/lib/icontrol/local_lb/pool.rb +229 -164
  48. data/lib/icontrol/local_lb/pool_member.rb +134 -76
  49. data/lib/icontrol/local_lb/profile_auth.rb +103 -75
  50. data/lib/icontrol/local_lb/profile_client_ssl.rb +284 -201
  51. data/lib/icontrol/local_lb/profile_diameter.rb +113 -71
  52. data/lib/icontrol/local_lb/profile_dns.rb +65 -46
  53. data/lib/icontrol/local_lb/profile_fast_http.rb +265 -178
  54. data/lib/icontrol/local_lb/profile_fast_l4.rb +283 -194
  55. data/lib/icontrol/local_lb/profile_ftp.rb +81 -58
  56. data/lib/icontrol/local_lb/profile_http.rb +701 -433
  57. data/lib/icontrol/local_lb/profile_http_class.rb +169 -121
  58. data/lib/icontrol/local_lb/profile_iiop.rb +87 -63
  59. data/lib/icontrol/local_lb/profile_one_connect.rb +99 -71
  60. data/lib/icontrol/local_lb/profile_persistence.rb +326 -203
  61. data/lib/icontrol/local_lb/profile_radius.rb +94 -62
  62. data/lib/icontrol/local_lb/profile_rtsp.rb +207 -129
  63. data/lib/icontrol/local_lb/profile_sctp.rb +231 -167
  64. data/lib/icontrol/local_lb/profile_server_ssl.rb +268 -189
  65. data/lib/icontrol/local_lb/profile_sip.rb +145 -99
  66. data/lib/icontrol/local_lb/profile_stream.rb +71 -51
  67. data/lib/icontrol/local_lb/profile_tcp.rb +455 -296
  68. data/lib/icontrol/local_lb/profile_udp.rb +109 -78
  69. data/lib/icontrol/local_lb/profile_user_statistic.rb +77 -46
  70. data/lib/icontrol/local_lb/profile_xml.rb +116 -79
  71. data/lib/icontrol/local_lb/ram_cache_information.rb +43 -20
  72. data/lib/icontrol/local_lb/rate_class.rb +523 -318
  73. data/lib/icontrol/local_lb/rule.rb +53 -37
  74. data/lib/icontrol/local_lb/snat.rb +96 -65
  75. data/lib/icontrol/local_lb/snat_pool.rb +54 -39
  76. data/lib/icontrol/local_lb/snat_pool_member.rb +22 -15
  77. data/lib/icontrol/local_lb/snat_translation_address.rb +94 -69
  78. data/lib/icontrol/local_lb/virtual_address.rb +99 -70
  79. data/lib/icontrol/local_lb/virtual_server.rb +358 -243
  80. data/lib/icontrol/lt_config.rb +8 -1
  81. data/lib/icontrol/lt_config/field.rb +87 -53
  82. data/lib/icontrol/lt_config/klass.rb +59 -43
  83. data/lib/icontrol/management.rb +80 -38
  84. data/lib/icontrol/management/ccldap_configuration.rb +218 -144
  85. data/lib/icontrol/management/change_control.rb +67 -41
  86. data/lib/icontrol/management/crldp_configuration.rb +73 -52
  87. data/lib/icontrol/management/crldp_server.rb +55 -39
  88. data/lib/icontrol/management/db_variable.rb +32 -21
  89. data/lib/icontrol/management/event_notification.rb +19 -8
  90. data/lib/icontrol/management/event_subscription.rb +121 -74
  91. data/lib/icontrol/management/key_certificate.rb +235 -138
  92. data/lib/icontrol/management/ldap_configuration.rb +249 -179
  93. data/lib/icontrol/management/license_administration.rb +97 -56
  94. data/lib/icontrol/management/named.rb +103 -67
  95. data/lib/icontrol/management/ocsp_configuration.rb +33 -24
  96. data/lib/icontrol/management/ocsp_responder.rb +294 -165
  97. data/lib/icontrol/management/partition.rb +42 -23
  98. data/lib/icontrol/management/provision.rb +73 -39
  99. data/lib/icontrol/management/radius_configuration.rb +85 -57
  100. data/lib/icontrol/management/radius_server.rb +51 -37
  101. data/lib/icontrol/management/resource_record.rb +163 -121
  102. data/lib/icontrol/management/snmp_configuration.rb +675 -390
  103. data/lib/icontrol/management/tacacs_configuration.rb +99 -67
  104. data/lib/icontrol/management/tmos_module.rb +20 -8
  105. data/lib/icontrol/management/user_management.rb +198 -124
  106. data/lib/icontrol/management/view.rb +33 -24
  107. data/lib/icontrol/management/zone.rb +49 -34
  108. data/lib/icontrol/management/zone_runner.rb +11 -7
  109. data/lib/icontrol/networking.rb +31 -4
  110. data/lib/icontrol/networking/admin_ip.rb +92 -71
  111. data/lib/icontrol/networking/arp.rb +41 -28
  112. data/lib/icontrol/networking/i_session_advertised_route.rb +47 -32
  113. data/lib/icontrol/networking/i_session_local_interface.rb +72 -52
  114. data/lib/icontrol/networking/i_session_peer_discovery.rb +105 -68
  115. data/lib/icontrol/networking/i_session_remote_interface.rb +105 -76
  116. data/lib/icontrol/networking/interfaces.rb +241 -142
  117. data/lib/icontrol/networking/packet_filter.rb +111 -69
  118. data/lib/icontrol/networking/packet_filter_globals.rb +39 -28
  119. data/lib/icontrol/networking/port_mirror.rb +39 -27
  120. data/lib/icontrol/networking/profile_gre.rb +63 -41
  121. data/lib/icontrol/networking/profile_ipip.rb +38 -25
  122. data/lib/icontrol/networking/profile_wccpgre.rb +85 -55
  123. data/lib/icontrol/networking/route_domain.rb +70 -44
  124. data/lib/icontrol/networking/route_table.rb +128 -91
  125. data/lib/icontrol/networking/self_ip.rb +57 -39
  126. data/lib/icontrol/networking/self_ip_port_lockdown.rb +34 -22
  127. data/lib/icontrol/networking/stp_globals.rb +115 -63
  128. data/lib/icontrol/networking/stp_instance.rb +166 -68
  129. data/lib/icontrol/networking/trunk.rb +165 -101
  130. data/lib/icontrol/networking/tunnel.rb +77 -52
  131. data/lib/icontrol/networking/vlan.rb +140 -98
  132. data/lib/icontrol/networking/vlan_group.rb +145 -101
  133. data/lib/icontrol/system.rb +70 -33
  134. data/lib/icontrol/system/cluster.rb +103 -81
  135. data/lib/icontrol/system/config_sync.rb +128 -72
  136. data/lib/icontrol/system/connections.rb +27 -17
  137. data/lib/icontrol/system/disk.rb +134 -67
  138. data/lib/icontrol/system/failover.rb +44 -27
  139. data/lib/icontrol/system/geo_ip.rb +16 -5
  140. data/lib/icontrol/system/inet.rb +47 -30
  141. data/lib/icontrol/system/internal.rb +13 -9
  142. data/lib/icontrol/system/services.rb +75 -42
  143. data/lib/icontrol/system/software_management.rb +132 -83
  144. data/lib/icontrol/system/statistics.rb +443 -298
  145. data/lib/icontrol/system/system_info.rb +137 -95
  146. data/lib/icontrol/web_accelerator/applications.rb +17 -10
  147. data/lib/icontrol/web_accelerator/policies.rb +13 -9
  148. data/lib/icontrol/web_accelerator/proxy_message.rb +11 -7
  149. data/spec/icontrol/local_lb/pool_member_spec.rb +495 -0
  150. data/spec/icontrol/local_lb/profile_http_class_spec.rb +514 -0
  151. metadata +10 -4
@@ -7,103 +7,115 @@ module IControl::ASM
7
7
 
8
8
  ##
9
9
  # Deletes all disabled web applications.
10
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
11
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
12
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
10
+ # @rspec_example
11
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
12
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
13
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
13
14
  def delete_all_disabled_webapps
14
15
  super
15
16
  end
16
17
 
17
18
  ##
18
- # Deletes all non-actice policies for web applications. The active policy will not be deleted.
19
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
20
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
21
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
19
+ # Deletes all non-actice policies for web applications. The active policy will not
20
+ # be deleted.
21
+ # @rspec_example
22
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
23
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
24
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
22
25
  def delete_all_non_active_policies
23
26
  super
24
27
  end
25
28
 
26
29
  ##
27
30
  # Deletes this web applications. Only disabled web applications can be deleted.
28
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
29
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
30
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
31
+ # @rspec_example
32
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
33
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
34
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
31
35
  def delete_webapp
32
36
  super
33
37
  end
34
38
 
35
39
  ##
36
40
  # Get the active policy for this web applications.
41
+ # @rspec_example
37
42
  # @return [String]
38
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
39
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
40
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
43
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
44
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
45
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
41
46
  def active_policy
42
47
  super
43
48
  end
44
49
 
45
50
  ##
46
51
  # Get the "apply learning" for this web applications.
52
+ # @rspec_example
47
53
  # @return [ApplyLearning]
48
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
49
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
50
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
54
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
55
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
56
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
51
57
  def apply_learning
52
58
  super
53
59
  end
54
60
 
55
61
  ##
56
62
  # Returns the enabled flag of specified web application.
63
+ # @rspec_example
57
64
  # @return [boolean]
58
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
59
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
60
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
65
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
66
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
67
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
61
68
  def enabled_state
62
69
  super
63
70
  end
64
71
 
65
72
  ##
66
73
  # Gets the language for this web applications.
74
+ # @rspec_example
67
75
  # @return [WebApplicationLanguage]
68
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
69
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
70
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
76
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
77
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
78
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
71
79
  def language
72
80
  super
73
81
  end
74
82
 
75
83
  ##
76
84
  # Gets a list of all web applications.
85
+ # @rspec_example
77
86
  # @return [String]
78
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
79
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
80
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
87
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
88
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
89
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
81
90
  def list
82
91
  super
83
92
  end
84
93
 
85
94
  ##
86
95
  # Get the logging profile for this web applications.
96
+ # @rspec_example
87
97
  # @return [String]
88
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
89
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
90
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
98
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
99
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
100
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
91
101
  def logging_profile
92
102
  super
93
103
  end
94
104
 
95
105
  ##
96
106
  # Returns a list of the policies associated with this web application.
107
+ # @rspec_example
97
108
  # @return [String[]]
98
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
99
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
100
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
109
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
110
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
111
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
101
112
  def policy_list
102
113
  super
103
114
  end
104
115
 
105
116
  ##
106
117
  # Gets the version information for this interface.
118
+ # @rspec_example
107
119
  # @return [String]
108
120
  def version
109
121
  super
@@ -111,18 +123,21 @@ module IControl::ASM
111
123
 
112
124
  ##
113
125
  # Reconfigures this web applications. This resets all of the web application properties.
114
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
115
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
116
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
126
+ # @rspec_example
127
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
128
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
129
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
117
130
  def reconfigure
118
131
  super
119
132
  end
120
133
 
121
134
  ##
122
- # Set the active policy for this web applications. This applies this policy to the enforcer.
123
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
124
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
125
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
135
+ # Set the active policy for this web applications. This applies this policy to the
136
+ # enforcer.
137
+ # @rspec_example
138
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
139
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
140
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
126
141
  # @param [Hash] opts
127
142
  # @option opts [String] :policy_names The names of the policies to set active for the specified web applications.
128
143
  def set_active_policy(opts)
@@ -132,9 +147,10 @@ module IControl::ASM
132
147
 
133
148
  ##
134
149
  # Set the "apply learning" for this web applications.
135
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
136
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
137
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
150
+ # @rspec_example
151
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
152
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
153
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
138
154
  # @param [Hash] opts
139
155
  # @option opts [IControl::ASM::ApplyLearning] :settings The "apply learning" settings for the web applications.
140
156
  def set_apply_learning(opts)
@@ -143,10 +159,12 @@ module IControl::ASM
143
159
  end
144
160
 
145
161
  ##
146
- # Set the language for this web applications. Note that the language can only be set once for a web application.
147
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
148
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
149
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
162
+ # Set the language for this web applications. Note that the language can only be set
163
+ # once for a web application.
164
+ # @rspec_example
165
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
166
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
167
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
150
168
  # @param [Hash] opts
151
169
  # @option opts [IControl::ASM::WebApplicationLanguage] :languages The languages.
152
170
  def set_language(opts)
@@ -155,10 +173,13 @@ module IControl::ASM
155
173
  end
156
174
 
157
175
  ##
158
- # Confugures this web applications in one-step. For each web application: sets the language adds a policy created from this template sets the policy active removes the original default policy
159
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
160
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
161
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
176
+ # Confugures this web applications in one-step. For each web application: sets the
177
+ # language adds a policy created from this template sets the policy active removes
178
+ # the original default policy
179
+ # @rspec_example
180
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
181
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
182
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
162
183
  # @param [Hash] opts
163
184
  # @option opts [IControl::ASM::WebApplicationLanguage] :languages The language of the web application.
164
185
  # @option opts [String] :policy_names The policy names.
@@ -171,9 +192,10 @@ module IControl::ASM
171
192
 
172
193
  ##
173
194
  # Set the logging profile for this web applications.
174
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
175
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
176
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
195
+ # @rspec_example
196
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
197
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
198
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
177
199
  # @param [Hash] opts
178
200
  # @option opts [String] :logprof_names The names of the logging profiles for the specified web applications.
179
201
  def set_logging_profile(opts)
@@ -7,9 +7,10 @@ module IControl::ASM
7
7
 
8
8
  ##
9
9
  # Adds web applications to this web application group.
10
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
11
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
12
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
10
+ # @rspec_example
11
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
12
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
13
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
13
14
  # @param [Hash] opts
14
15
  # @option opts [String[]] :webapp_names The names of the web applications to add to the specified groups.
15
16
  def add_webapp(opts)
@@ -19,43 +20,48 @@ module IControl::ASM
19
20
 
20
21
  ##
21
22
  # Creates a new web application group.
22
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
23
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
24
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
23
+ # @rspec_example
24
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
25
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
26
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
25
27
  def create
26
28
  super
27
29
  end
28
30
 
29
31
  ##
30
32
  # Deletes all web application group.
31
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
32
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
33
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
33
+ # @rspec_example
34
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
35
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
36
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
34
37
  def delete_all_groups
35
38
  super
36
39
  end
37
40
 
38
41
  ##
39
42
  # Deletes this web application group.
40
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
41
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
42
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
43
+ # @rspec_example
44
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
45
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
46
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
43
47
  def delete_group
44
48
  super
45
49
  end
46
50
 
47
51
  ##
48
52
  # Gets a list of all web application group.
53
+ # @rspec_example
49
54
  # @return [WebApplicationGroupDefinition]
50
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
51
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
52
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
55
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
56
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
57
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
53
58
  def list
54
59
  super
55
60
  end
56
61
 
57
62
  ##
58
63
  # Gets the version information for this interface.
64
+ # @rspec_example
59
65
  # @return [String]
60
66
  def version
61
67
  super
@@ -63,28 +69,31 @@ module IControl::ASM
63
69
 
64
70
  ##
65
71
  # Returns a list of the web applications associated with this web application group.
72
+ # @rspec_example
66
73
  # @return [String[]]
67
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
68
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
69
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
74
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
75
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
76
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
70
77
  def webapp_list
71
78
  super
72
79
  end
73
80
 
74
81
  ##
75
82
  # Removes all web applications from this web application group.
76
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
77
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
78
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
83
+ # @rspec_example
84
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
85
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
86
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
79
87
  def remove_all_webapps
80
88
  super
81
89
  end
82
90
 
83
91
  ##
84
92
  # Removes web applications from this web application group.
85
- # @raise [IControl::Common::AccessDenied] raised if the client credentials are not valid.
86
- # @raise [IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
87
- # @raise [IControl::Common::OperationFailed] raised if an operation error occurs.
93
+ # @rspec_example
94
+ # @raise [IControl::IControl::Common::AccessDenied] raised if the client credentials are not valid.
95
+ # @raise [IControl::IControl::Common::InvalidArgument] raised if one of the arguments is invalid.
96
+ # @raise [IControl::IControl::Common::OperationFailed] raised if an operation error occurs.
88
97
  # @param [Hash] opts
89
98
  # @option opts [String[]] :webapp_names The names of the web applications to remove from the specified groups.
90
99
  def remove_webapp(opts)
data/lib/icontrol/base.rb CHANGED
@@ -12,6 +12,7 @@ require 'base/mappings'
12
12
  require 'base/sequence'
13
13
  require 'base/predeclarations'
14
14
  require 'base/exception'
15
+ require 'base/icontrol_overlay'
15
16
 
16
17
  Savon.log = false
17
18
  HTTPI::Adapter.use = :net_http
@@ -17,6 +17,7 @@ module IControl
17
17
  class ExceptionFactory
18
18
  def self.raise_from_xml(xml)
19
19
  aux = {}
20
+ raise xml unless Savon::SOAP::XML.to_hash(xml)[:fault]
20
21
  faultstring = Savon::SOAP::XML.to_hash(xml)[:fault][:faultstring]
21
22
  exception_type = "IControl::#{$1}" if faultstring =~ /Exception:\ (.*)$/
22
23
  aux[:primary_error_code] = $1.to_i if faultstring =~ /primary_error_code\ +:\ (\d+)\ .*$/
@@ -0,0 +1,7 @@
1
+ module IControl::LocalLB
2
+ class Pool < IControl::Base
3
+ def members
4
+ @members ||= IControl::LocalLB::PoolMember.new(:id => id)
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # Given that most of the source code is generated (for documentation pourposes)
2
+ # We need a way to add methods and functionality without making those changes
3
+ # in the generated code, to be ablo to regenerate it when neccesary. So as
4
+ # ruby allows open classes we use them to add functionality This file will load those files at boot time
5
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
6
+ require 'icontrol/local_lb/pool'
@@ -15,10 +15,11 @@ module IControl
15
15
  end
16
16
 
17
17
  module System
18
- class CPUMetricSequence < IControl::Base::Sequence; end
19
- class FanMetricSequence < IControl::Base::Sequence; end
20
- class PSMetricSequence < IControl::Base::Sequence; end
21
- class TemperatureMetricSequence < IControl::Base::Sequence; end
18
+ class CPUMetricSequenceSequence < IControl::Base::SequenceSequence; end
19
+
20
+ class FanMetricSequenceSequence < IControl::Base::SequenceSequence; end
21
+ class PSMetricSequenceSequence < IControl::Base::SequenceSequence; end
22
+ class TemperatureMetricSequenceSequence < IControl::Base::SequenceSequence; end
22
23
  end
23
24
 
24
25
  module Management
@@ -26,8 +26,12 @@ module IControl # :nodoc:
26
26
 
27
27
  if v.respond_to?(:from_soap) # v.ancestors.find{ |i| i.name =~ /^IControl/ }
28
28
  aux[k] = v.from_soap(xml[k])
29
- else
30
- aux[k] = xml[k]
29
+ else
30
+ if v == Numeric
31
+ aux[k] = xml[k].to_i
32
+ else
33
+ aux[k] = xml[k]
34
+ end
31
35
  end
32
36
  end if xml
33
37
  return aux.values.compact.empty? ? nil : self.new(aux)
@@ -13,6 +13,55 @@ module IControl::Common
13
13
  class ULong64 < IControl::Base::Struct; end
14
14
  class VLANFilterList < IControl::Base::Struct; end
15
15
  class VirtualServerDefinition < IControl::Base::Struct; end
16
+ class AnySequence < IControl::Base::Sequence ; end
17
+ class ArmedStateSequence < IControl::Base::Sequence ; end
18
+ class AuthenticationMethodSequence < IControl::Base::Sequence ; end
19
+ class AvailabilityStatusSequence < IControl::Base::Sequence ; end
20
+ class BooleanSequence < IControl::Base::Sequence ; end
21
+ class BooleanSequenceSequence < IControl::Base::SequenceSequence ; end
22
+ class CharSequence < IControl::Base::Sequence ; end
23
+ class DoubleSequence < IControl::Base::Sequence ; end
24
+ class EnabledStateSequence < IControl::Base::Sequence ; end
25
+ class EnabledStateSequenceSequence < IControl::Base::SequenceSequence ; end
26
+ class EnabledStatusSequence < IControl::Base::Sequence ; end
27
+ class ExpirationSequence < IControl::Base::Sequence ; end
28
+ class FloatSequence < IControl::Base::Sequence ; end
29
+ class HAActionSequence < IControl::Base::Sequence ; end
30
+ class HAStateSequence < IControl::Base::Sequence ; end
31
+ class HAStateSequenceSequence < IControl::Base::SequenceSequence ; end
32
+ class IPAddress < IControl::Base::Sequence ; end
33
+ class IPAddressSequence < IControl::Base::Sequence ; end
34
+ class IPAddressSequenceSequence < IControl::Base::SequenceSequence ; end
35
+ class IPHostSequence < IControl::Base::Sequence ; end
36
+ class IPNetmaskSequence < IControl::Base::Sequence ; end
37
+ class IPNetmaskSequenceSequence < IControl::Base::SequenceSequence ; end
38
+ class IPPortDefinitionSequence < IControl::Base::Sequence ; end
39
+ class IPPortDefinitionSequenceSequence < IControl::Base::SequenceSequence ; end
40
+ class KeyValueSequence < IControl::Base::Sequence ; end
41
+ class Long64Sequence < IControl::Base::Sequence ; end
42
+ class LongSequence < IControl::Base::Sequence ; end
43
+ class ObjectStatusSequence < IControl::Base::Sequence ; end
44
+ class OctetSequence < IControl::Base::Sequence ; end
45
+ class PortNumber < IControl::Base::Sequence ; end
46
+ class PortSequence < IControl::Base::Sequence ; end
47
+ class ProtocolTypeSequence < IControl::Base::Sequence ; end
48
+ class ShortSequence < IControl::Base::Sequence ; end
49
+ class SourcePortBehaviorSequence < IControl::Base::Sequence ; end
50
+ class StatisticSequence < IControl::Base::Sequence ; end
51
+ class StatisticSequenceSequence < IControl::Base::SequenceSequence ; end
52
+ class StringSequence < IControl::Base::Sequence ; end
53
+ class StringSequenceSequence < IControl::Base::SequenceSequence ; end
54
+ class TMOSModuleSequence < IControl::Base::Sequence ; end
55
+ class TimeStampSequence < IControl::Base::Sequence ; end
56
+ class ULong < IControl::Base::Sequence ; end
57
+ class ULong64Sequence < IControl::Base::Sequence ; end
58
+ class ULongSequence < IControl::Base::Sequence ; end
59
+ class ULongSequenceSequence < IControl::Base::SequenceSequence ; end
60
+ class UShort < IControl::Base::Sequence ; end
61
+ class UShortSequence < IControl::Base::Sequence ; end
62
+ class VLANFilterListSequence < IControl::Base::Sequence ; end
63
+ class VirtualServerSequence < IControl::Base::Sequence ; end
64
+ class VirtualServerSequenceSequence < IControl::Base::SequenceSequence ; end
16
65
  # A list of armed states.
17
66
  class ArmedState < IControl::Base::Enumeration; end
18
67
  # A list of different authentication methods.
@@ -25,7 +74,8 @@ module IControl::Common
25
74
  class EnabledState < IControl::Base::Enumeration; end
26
75
  # A list of possible values for enabled status.
27
76
  class EnabledStatus < IControl::Base::Enumeration; end
28
- # An enumeration of chaining flags used in file transfers. This is used to avoid having to transfer the whole file at one time.
77
+ # An enumeration of chaining flags used in file transfers. This is used to avoid having
78
+ # to transfer the whole file at one time.
29
79
  class FileChainType < IControl::Base::Enumeration; end
30
80
  # An enumeration of HA (High Availability) actions.
31
81
  class HAAction < IControl::Base::Enumeration; end
@@ -181,10 +231,10 @@ module IControl::Common
181
231
  ##
182
232
  # A struct that specifies a list of VLAN names used as ingress VLAN filters.
183
233
  # @attr [IControl::Common::EnabledState] state An indicator of whether the VLAN list is a list of enabled or disabled VLANs .
184
- # @attr [String] vlans The list of VLAN names in the filter.
234
+ # @attr [StringSequence] vlans The list of VLAN names in the filter.
185
235
  class VLANFilterList < IControl::Base::Struct
186
236
  icontrol_attribute :state, IControl::Common::EnabledState
187
- icontrol_attribute :vlans, String
237
+ icontrol_attribute :vlans, StringSequence
188
238
  end
189
239
 
190
240
  ##
@@ -422,7 +472,8 @@ module IControl::Common
422
472
  end
423
473
 
424
474
 
425
- # An enumeration of chaining flags used in file transfers. This is used to avoid having to transfer the whole file at one time.
475
+ # An enumeration of chaining flags used in file transfers. This is used to avoid having
476
+ # to transfer the whole file at one time.
426
477
  class FileChainType < IControl::Base::Enumeration
427
478
  # Unitialized chain type flag.
428
479
  FILE_UNDEFINED = :FILE_UNDEFINED