icontrol 0.3.1 → 0.3.2

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 (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