saklient 0.0.1

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 (218) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +43 -0
  6. data/Rakefile +1 -0
  7. data/config.sh.sample +5 -0
  8. data/example.rb +83 -0
  9. data/example.sh +6 -0
  10. data/lib/saklient/cloud/api.rb +382 -0
  11. data/lib/saklient/cloud/client.rb +111 -0
  12. data/lib/saklient/cloud/enums/eappliance_class.rb +39 -0
  13. data/lib/saklient/cloud/enums/eavailability.rb +79 -0
  14. data/lib/saklient/cloud/enums/edisk_connection.rb +39 -0
  15. data/lib/saklient/cloud/enums/escope.rb +39 -0
  16. data/lib/saklient/cloud/enums/escript_class.rb +39 -0
  17. data/lib/saklient/cloud/enums/eserver_instance_status.rb +44 -0
  18. data/lib/saklient/cloud/enums/estorage_class.rb +34 -0
  19. data/lib/saklient/cloud/errors/access_api_key_disabled_exception.rb +23 -0
  20. data/lib/saklient/cloud/errors/access_sakura_exception.rb +23 -0
  21. data/lib/saklient/cloud/errors/access_staff_exception.rb +23 -0
  22. data/lib/saklient/cloud/errors/access_token_exception.rb +23 -0
  23. data/lib/saklient/cloud/errors/access_xhr_or_api_key_exception.rb +23 -0
  24. data/lib/saklient/cloud/errors/account_not_found_exception.rb +23 -0
  25. data/lib/saklient/cloud/errors/account_not_specified_exception.rb +23 -0
  26. data/lib/saklient/cloud/errors/ambiguous_identifier_exception.rb +23 -0
  27. data/lib/saklient/cloud/errors/ambiguous_zone_exception.rb +23 -0
  28. data/lib/saklient/cloud/errors/api_proxy_timeout_exception.rb +23 -0
  29. data/lib/saklient/cloud/errors/api_proxy_timeout_non_get_exception.rb +23 -0
  30. data/lib/saklient/cloud/errors/archive_is_incomplete_exception.rb +23 -0
  31. data/lib/saklient/cloud/errors/boot_failure_by_lock_exception.rb +23 -0
  32. data/lib/saklient/cloud/errors/boot_failure_in_group_exception.rb +23 -0
  33. data/lib/saklient/cloud/errors/busy_exception.rb +23 -0
  34. data/lib/saklient/cloud/errors/cant_resize_smaller_exception.rb +23 -0
  35. data/lib/saklient/cloud/errors/cdrom_device_locked_exception.rb +23 -0
  36. data/lib/saklient/cloud/errors/cdrom_disabled_exception.rb +23 -0
  37. data/lib/saklient/cloud/errors/cdrom_in_use_exception.rb +23 -0
  38. data/lib/saklient/cloud/errors/cdrom_is_incomplete_exception.rb +23 -0
  39. data/lib/saklient/cloud/errors/connect_to_same_switch_exception.rb +23 -0
  40. data/lib/saklient/cloud/errors/contract_creation_exception.rb +23 -0
  41. data/lib/saklient/cloud/errors/copy_to_itself_exception.rb +23 -0
  42. data/lib/saklient/cloud/errors/delete_disk_b4_template_exception.rb +23 -0
  43. data/lib/saklient/cloud/errors/delete_ip_v6_nets_first_exception.rb +23 -0
  44. data/lib/saklient/cloud/errors/delete_res_b4_account_exception.rb +23 -0
  45. data/lib/saklient/cloud/errors/delete_router_b4_switch_exception.rb +23 -0
  46. data/lib/saklient/cloud/errors/delete_static_route_first_exception.rb +23 -0
  47. data/lib/saklient/cloud/errors/disabled_in_sandbox_exception.rb +23 -0
  48. data/lib/saklient/cloud/errors/disconnect_b4_delete_exception.rb +23 -0
  49. data/lib/saklient/cloud/errors/disconnect_b4_update_exception.rb +23 -0
  50. data/lib/saklient/cloud/errors/disk_connection_limit_exception.rb +23 -0
  51. data/lib/saklient/cloud/errors/disk_is_copying_exception.rb +23 -0
  52. data/lib/saklient/cloud/errors/disk_is_not_available_exception.rb +23 -0
  53. data/lib/saklient/cloud/errors/disk_license_mismatch_exception.rb +23 -0
  54. data/lib/saklient/cloud/errors/disk_or_ss_in_migration_exception.rb +23 -0
  55. data/lib/saklient/cloud/errors/disk_stock_run_out_exception.rb +23 -0
  56. data/lib/saklient/cloud/errors/dns_aaaa_record_not_found_exception.rb +23 -0
  57. data/lib/saklient/cloud/errors/dns_arecord_not_found_exception.rb +23 -0
  58. data/lib/saklient/cloud/errors/dns_ptr_update_failure_exception.rb +23 -0
  59. data/lib/saklient/cloud/errors/dont_create_in_sandbox_exception.rb +23 -0
  60. data/lib/saklient/cloud/errors/duplicate_account_code_exception.rb +23 -0
  61. data/lib/saklient/cloud/errors/duplicate_entry_exception.rb +23 -0
  62. data/lib/saklient/cloud/errors/duplicate_user_code_exception.rb +23 -0
  63. data/lib/saklient/cloud/errors/file_not_uploaded_exception.rb +23 -0
  64. data/lib/saklient/cloud/errors/filter_array_comparison_exception.rb +23 -0
  65. data/lib/saklient/cloud/errors/filter_bad_operator_exception.rb +23 -0
  66. data/lib/saklient/cloud/errors/filter_null_comparison_exception.rb +23 -0
  67. data/lib/saklient/cloud/errors/filter_unknown_operator_exception.rb +23 -0
  68. data/lib/saklient/cloud/errors/ftp_cannot_close_exception.rb +23 -0
  69. data/lib/saklient/cloud/errors/ftp_is_already_close_exception.rb +23 -0
  70. data/lib/saklient/cloud/errors/ftp_is_already_open_exception.rb +23 -0
  71. data/lib/saklient/cloud/errors/ftp_must_be_closed_exception.rb +23 -0
  72. data/lib/saklient/cloud/errors/host_operation_failure_exception.rb +23 -0
  73. data/lib/saklient/cloud/errors/illegal_das_usage_exception.rb +23 -0
  74. data/lib/saklient/cloud/errors/in_migration_exception.rb +23 -0
  75. data/lib/saklient/cloud/errors/invalid_format_exception.rb +23 -0
  76. data/lib/saklient/cloud/errors/invalid_param_comb_exception.rb +23 -0
  77. data/lib/saklient/cloud/errors/invalid_range_exception.rb +23 -0
  78. data/lib/saklient/cloud/errors/invalid_uri_argument_exception.rb +23 -0
  79. data/lib/saklient/cloud/errors/ip_v6_net_already_attached_exception.rb +23 -0
  80. data/lib/saklient/cloud/errors/limit_count_in_account_exception.rb +23 -0
  81. data/lib/saklient/cloud/errors/limit_count_in_member_exception.rb +23 -0
  82. data/lib/saklient/cloud/errors/limit_count_in_network_exception.rb +23 -0
  83. data/lib/saklient/cloud/errors/limit_count_in_router_exception.rb +23 -0
  84. data/lib/saklient/cloud/errors/limit_count_in_zone_exception.rb +23 -0
  85. data/lib/saklient/cloud/errors/limit_memory_in_account_exception.rb +23 -0
  86. data/lib/saklient/cloud/errors/limit_size_in_account_exception.rb +23 -0
  87. data/lib/saklient/cloud/errors/missing_iso_image_exception.rb +23 -0
  88. data/lib/saklient/cloud/errors/missing_param_exception.rb +23 -0
  89. data/lib/saklient/cloud/errors/must_be_of_same_zone_exception.rb +23 -0
  90. data/lib/saklient/cloud/errors/no_display_response_exception.rb +23 -0
  91. data/lib/saklient/cloud/errors/not_for_router_exception.rb +23 -0
  92. data/lib/saklient/cloud/errors/not_replicating_exception.rb +23 -0
  93. data/lib/saklient/cloud/errors/not_with_hybridconn_exception.rb +23 -0
  94. data/lib/saklient/cloud/errors/old_storage_plan_exception.rb +23 -0
  95. data/lib/saklient/cloud/errors/operation_failure_exception.rb +23 -0
  96. data/lib/saklient/cloud/errors/operation_timeout_exception.rb +23 -0
  97. data/lib/saklient/cloud/errors/original_hash_mismatch_exception.rb +23 -0
  98. data/lib/saklient/cloud/errors/packet_filter_applying_exception.rb +23 -0
  99. data/lib/saklient/cloud/errors/packet_filter_version_mismatch_exception.rb +23 -0
  100. data/lib/saklient/cloud/errors/param_ip_not_found_exception.rb +23 -0
  101. data/lib/saklient/cloud/errors/param_res_not_found_exception.rb +23 -0
  102. data/lib/saklient/cloud/errors/payment_credit_card_exception.rb +23 -0
  103. data/lib/saklient/cloud/errors/payment_payment_exception.rb +23 -0
  104. data/lib/saklient/cloud/errors/payment_registration_exception.rb +23 -0
  105. data/lib/saklient/cloud/errors/payment_tel_certification_exception.rb +23 -0
  106. data/lib/saklient/cloud/errors/payment_unpayable_exception.rb +23 -0
  107. data/lib/saklient/cloud/errors/penalty_operation_exception.rb +23 -0
  108. data/lib/saklient/cloud/errors/replica_already_exists_exception.rb +23 -0
  109. data/lib/saklient/cloud/errors/replica_not_found_exception.rb +23 -0
  110. data/lib/saklient/cloud/errors/res_already_connected_exception.rb +23 -0
  111. data/lib/saklient/cloud/errors/res_already_disconnected_exception.rb +23 -0
  112. data/lib/saklient/cloud/errors/res_already_exists_exception.rb +23 -0
  113. data/lib/saklient/cloud/errors/res_used_in_zone_exception.rb +23 -0
  114. data/lib/saklient/cloud/errors/resource_path_not_found_exception.rb +23 -0
  115. data/lib/saklient/cloud/errors/run_out_of_ip_address_exception.rb +23 -0
  116. data/lib/saklient/cloud/errors/same_license_required_exception.rb +23 -0
  117. data/lib/saklient/cloud/errors/server_could_not_stop_exception.rb +23 -0
  118. data/lib/saklient/cloud/errors/server_is_cleaning_exception.rb +23 -0
  119. data/lib/saklient/cloud/errors/server_operation_failure_exception.rb +23 -0
  120. data/lib/saklient/cloud/errors/server_power_must_be_down_exception.rb +23 -0
  121. data/lib/saklient/cloud/errors/server_power_must_be_up_exception.rb +23 -0
  122. data/lib/saklient/cloud/errors/service_temporarily_unavailable_exception.rb +23 -0
  123. data/lib/saklient/cloud/errors/size_mismatch_exception.rb +23 -0
  124. data/lib/saklient/cloud/errors/snapshot_in_migration_exception.rb +23 -0
  125. data/lib/saklient/cloud/errors/still_creating_exception.rb +23 -0
  126. data/lib/saklient/cloud/errors/storage_abnormal_exception.rb +23 -0
  127. data/lib/saklient/cloud/errors/storage_operation_failure_exception.rb +23 -0
  128. data/lib/saklient/cloud/errors/switch_hybrid_connected_exception.rb +23 -0
  129. data/lib/saklient/cloud/errors/template_ftp_is_open_exception.rb +23 -0
  130. data/lib/saklient/cloud/errors/template_is_incomplete_exception.rb +23 -0
  131. data/lib/saklient/cloud/errors/too_many_request_exception.rb +23 -0
  132. data/lib/saklient/cloud/errors/unknown_exception.rb +23 -0
  133. data/lib/saklient/cloud/errors/unknown_os_type_exception.rb +23 -0
  134. data/lib/saklient/cloud/errors/unsupported_res_class_exception.rb +23 -0
  135. data/lib/saklient/cloud/errors/user_not_specified_exception.rb +23 -0
  136. data/lib/saklient/cloud/errors/vnc_proxy_request_failure_exception.rb +23 -0
  137. data/lib/saklient/cloud/models/model.rb +348 -0
  138. data/lib/saklient/cloud/models/model_appliance.rb +161 -0
  139. data/lib/saklient/cloud/models/model_archive.rb +207 -0
  140. data/lib/saklient/cloud/models/model_disk.rb +200 -0
  141. data/lib/saklient/cloud/models/model_disk_plan.rb +156 -0
  142. data/lib/saklient/cloud/models/model_icon.rb +178 -0
  143. data/lib/saklient/cloud/models/model_iface.rb +115 -0
  144. data/lib/saklient/cloud/models/model_ipv6_net.rb +106 -0
  145. data/lib/saklient/cloud/models/model_iso_image.rb +207 -0
  146. data/lib/saklient/cloud/models/model_router.rb +148 -0
  147. data/lib/saklient/cloud/models/model_router_plan.rb +106 -0
  148. data/lib/saklient/cloud/models/model_script.rb +178 -0
  149. data/lib/saklient/cloud/models/model_server.rb +237 -0
  150. data/lib/saklient/cloud/models/model_server_plan.rb +119 -0
  151. data/lib/saklient/cloud/models/model_swytch.rb +138 -0
  152. data/lib/saklient/cloud/models/query_params.rb +44 -0
  153. data/lib/saklient/cloud/product.rb +95 -0
  154. data/lib/saklient/cloud/resources/appliance.rb +551 -0
  155. data/lib/saklient/cloud/resources/archive.rb +861 -0
  156. data/lib/saklient/cloud/resources/disk.rb +802 -0
  157. data/lib/saklient/cloud/resources/disk_config.rb +353 -0
  158. data/lib/saklient/cloud/resources/disk_plan.rb +194 -0
  159. data/lib/saklient/cloud/resources/ftp_info.rb +93 -0
  160. data/lib/saklient/cloud/resources/icon.rb +268 -0
  161. data/lib/saklient/cloud/resources/iface.rb +329 -0
  162. data/lib/saklient/cloud/resources/ipv4_net.rb +275 -0
  163. data/lib/saklient/cloud/resources/ipv6_net.rb +238 -0
  164. data/lib/saklient/cloud/resources/iso_image.rb +666 -0
  165. data/lib/saklient/cloud/resources/resource.rb +287 -0
  166. data/lib/saklient/cloud/resources/router.rb +508 -0
  167. data/lib/saklient/cloud/resources/router_plan.rb +230 -0
  168. data/lib/saklient/cloud/resources/script.rb +554 -0
  169. data/lib/saklient/cloud/resources/server.rb +730 -0
  170. data/lib/saklient/cloud/resources/server_instance.rb +217 -0
  171. data/lib/saklient/cloud/resources/server_plan.rb +285 -0
  172. data/lib/saklient/cloud/resources/swytch.rb +521 -0
  173. data/lib/saklient/errors/exception_factory.rb +532 -0
  174. data/lib/saklient/errors/http_bad_gateway_exception.rb +21 -0
  175. data/lib/saklient/errors/http_bad_request_exception.rb +21 -0
  176. data/lib/saklient/errors/http_conflict_exception.rb +21 -0
  177. data/lib/saklient/errors/http_exception.rb +27 -0
  178. data/lib/saklient/errors/http_expectation_failed_exception.rb +21 -0
  179. data/lib/saklient/errors/http_failed_dependency_exception.rb +21 -0
  180. data/lib/saklient/errors/http_forbidden_exception.rb +21 -0
  181. data/lib/saklient/errors/http_gateway_timeout_exception.rb +21 -0
  182. data/lib/saklient/errors/http_gone_exception.rb +21 -0
  183. data/lib/saklient/errors/http_http_version_not_supported_exception.rb +21 -0
  184. data/lib/saklient/errors/http_insufficient_storage_exception.rb +21 -0
  185. data/lib/saklient/errors/http_internal_server_error_exception.rb +21 -0
  186. data/lib/saklient/errors/http_length_required_exception.rb +21 -0
  187. data/lib/saklient/errors/http_locked_exception.rb +21 -0
  188. data/lib/saklient/errors/http_method_not_allowed_exception.rb +21 -0
  189. data/lib/saklient/errors/http_not_acceptable_exception.rb +21 -0
  190. data/lib/saklient/errors/http_not_extended_exception.rb +21 -0
  191. data/lib/saklient/errors/http_not_found_exception.rb +21 -0
  192. data/lib/saklient/errors/http_not_implemented_exception.rb +21 -0
  193. data/lib/saklient/errors/http_payment_required_exception.rb +21 -0
  194. data/lib/saklient/errors/http_precondition_failed_exception.rb +21 -0
  195. data/lib/saklient/errors/http_proxy_authentication_required_exception.rb +21 -0
  196. data/lib/saklient/errors/http_request_entity_too_large_exception.rb +21 -0
  197. data/lib/saklient/errors/http_request_timeout_exception.rb +21 -0
  198. data/lib/saklient/errors/http_request_uri_too_long_exception.rb +21 -0
  199. data/lib/saklient/errors/http_requested_range_not_satisfiable_exception.rb +21 -0
  200. data/lib/saklient/errors/http_service_unavailable_exception.rb +21 -0
  201. data/lib/saklient/errors/http_unauthorized_exception.rb +21 -0
  202. data/lib/saklient/errors/http_unprocessable_entity_exception.rb +21 -0
  203. data/lib/saklient/errors/http_unsupported_media_type_exception.rb +21 -0
  204. data/lib/saklient/errors/http_upgrade_required_exception.rb +21 -0
  205. data/lib/saklient/errors/http_variant_also_negotiates_exception.rb +21 -0
  206. data/lib/saklient/errors/saklient_exception.rb +22 -0
  207. data/lib/saklient/util.rb +121 -0
  208. data/lib/saklient/version.rb +5 -0
  209. data/saklient.gemspec +24 -0
  210. data/spec/archive_spec.rb +141 -0
  211. data/spec/enum_spec.rb +24 -0
  212. data/spec/exception_spec.rb +25 -0
  213. data/spec/iso_image_spec.rb +172 -0
  214. data/spec/router_spec.rb +124 -0
  215. data/spec/server_spec.rb +261 -0
  216. data/spec/util_spec.rb +72 -0
  217. data/test-sshkey.txt +27 -0
  218. metadata +281 -0
@@ -0,0 +1,353 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../../util'
4
+ require_relative '../client'
5
+ require_relative 'script'
6
+
7
+ module Saklient
8
+ module Cloud
9
+ module Resources
10
+
11
+ # ディスク修正のパラメータ.
12
+ class DiskConfig
13
+
14
+ protected
15
+
16
+ # @private
17
+ # @return [Saklient::Cloud::Client]
18
+ attr_accessor :_client
19
+
20
+ # @private
21
+ # @return [Saklient::Cloud::Client]
22
+ def get_client
23
+ return @_client
24
+ end
25
+
26
+ public
27
+
28
+ # @private
29
+ # @return [Saklient::Cloud::Client]
30
+ attr_reader :client
31
+
32
+ def client
33
+ get_client
34
+ end
35
+
36
+ protected
37
+
38
+ # @private
39
+ # @return [String]
40
+ attr_accessor :_disk_id
41
+
42
+ # @private
43
+ # @return [String]
44
+ def get_disk_id
45
+ return @_disk_id
46
+ end
47
+
48
+ public
49
+
50
+ # @private
51
+ # @return [String]
52
+ attr_reader :disk_id
53
+
54
+ def disk_id
55
+ get_disk_id
56
+ end
57
+
58
+ protected
59
+
60
+ # @private
61
+ # @return [String]
62
+ attr_accessor :_host_name
63
+
64
+ # @private
65
+ # @return [String]
66
+ def get_host_name
67
+ return @_host_name
68
+ end
69
+
70
+ # @private
71
+ # @param [String] v
72
+ # @return [String]
73
+ def set_host_name(v)
74
+ Saklient::Util::validate_type(v, 'String')
75
+ @_host_name = v
76
+ return v
77
+ end
78
+
79
+ public
80
+
81
+ # ホスト名
82
+ #
83
+ # @return [String]
84
+ attr_accessor :host_name
85
+
86
+ def host_name
87
+ get_host_name
88
+ end
89
+
90
+ def host_name=(v)
91
+ set_host_name(v)
92
+ end
93
+
94
+ protected
95
+
96
+ # @private
97
+ # @return [String]
98
+ attr_accessor :_password
99
+
100
+ # @private
101
+ # @return [String]
102
+ def get_password
103
+ return @_password
104
+ end
105
+
106
+ # @private
107
+ # @param [String] v
108
+ # @return [String]
109
+ def set_password(v)
110
+ Saklient::Util::validate_type(v, 'String')
111
+ @_password = v
112
+ return v
113
+ end
114
+
115
+ public
116
+
117
+ # ログインパスワード
118
+ #
119
+ # @return [String]
120
+ attr_accessor :password
121
+
122
+ def password
123
+ get_password
124
+ end
125
+
126
+ def password=(v)
127
+ set_password(v)
128
+ end
129
+
130
+ protected
131
+
132
+ # @private
133
+ # @return [String]
134
+ attr_accessor :_ssh_key
135
+
136
+ # @private
137
+ # @return [String]
138
+ def get_ssh_key
139
+ return @_ssh_key
140
+ end
141
+
142
+ # @private
143
+ # @param [String] v
144
+ # @return [String]
145
+ def set_ssh_key(v)
146
+ Saklient::Util::validate_type(v, 'String')
147
+ @_ssh_key = v
148
+ return v
149
+ end
150
+
151
+ public
152
+
153
+ # SSHキー
154
+ #
155
+ # @return [String]
156
+ attr_accessor :ssh_key
157
+
158
+ def ssh_key
159
+ get_ssh_key
160
+ end
161
+
162
+ def ssh_key=(v)
163
+ set_ssh_key(v)
164
+ end
165
+
166
+ protected
167
+
168
+ # @private
169
+ # @return [String]
170
+ attr_accessor :_ip_address
171
+
172
+ # @private
173
+ # @return [String]
174
+ def get_ip_address
175
+ return @_ip_address
176
+ end
177
+
178
+ # @private
179
+ # @param [String] v
180
+ # @return [String]
181
+ def set_ip_address(v)
182
+ Saklient::Util::validate_type(v, 'String')
183
+ @_ip_address = v
184
+ return v
185
+ end
186
+
187
+ public
188
+
189
+ # IPアドレス
190
+ #
191
+ # @return [String]
192
+ attr_accessor :ip_address
193
+
194
+ def ip_address
195
+ get_ip_address
196
+ end
197
+
198
+ def ip_address=(v)
199
+ set_ip_address(v)
200
+ end
201
+
202
+ protected
203
+
204
+ # @private
205
+ # @return [String]
206
+ attr_accessor :_default_route
207
+
208
+ # @private
209
+ # @return [String]
210
+ def get_default_route
211
+ return @_default_route
212
+ end
213
+
214
+ # @private
215
+ # @param [String] v
216
+ # @return [String]
217
+ def set_default_route(v)
218
+ Saklient::Util::validate_type(v, 'String')
219
+ @_default_route = v
220
+ return v
221
+ end
222
+
223
+ public
224
+
225
+ # デフォルトルート
226
+ #
227
+ # @return [String]
228
+ attr_accessor :default_route
229
+
230
+ def default_route
231
+ get_default_route
232
+ end
233
+
234
+ def default_route=(v)
235
+ set_default_route(v)
236
+ end
237
+
238
+ protected
239
+
240
+ # @private
241
+ # @return [Fixnum]
242
+ attr_accessor :_network_mask_len
243
+
244
+ # @private
245
+ # @return [Fixnum]
246
+ def get_network_mask_len
247
+ return @_network_mask_len
248
+ end
249
+
250
+ # @private
251
+ # @param [Fixnum] v
252
+ # @return [Fixnum]
253
+ def set_network_mask_len(v)
254
+ Saklient::Util::validate_type(v, 'Fixnum')
255
+ @_network_mask_len = v
256
+ return v
257
+ end
258
+
259
+ public
260
+
261
+ # ネットワークマスク長
262
+ #
263
+ # @return [Fixnum]
264
+ attr_accessor :network_mask_len
265
+
266
+ def network_mask_len
267
+ get_network_mask_len
268
+ end
269
+
270
+ def network_mask_len=(v)
271
+ set_network_mask_len(v)
272
+ end
273
+
274
+ protected
275
+
276
+ # @private
277
+ # @return [Array<Script>]
278
+ attr_accessor :_scripts
279
+
280
+ # @private
281
+ # @return [Array<Script>]
282
+ def get_scripts
283
+ return @_scripts
284
+ end
285
+
286
+ public
287
+
288
+ # スタートアップスクリプト(pushによりスクリプトを追加できます)
289
+ #
290
+ # @return [Array<Script>]
291
+ attr_reader :scripts
292
+
293
+ def scripts
294
+ get_scripts
295
+ end
296
+
297
+ # @private
298
+ # @param [Saklient::Cloud::Client] client
299
+ # @param [String] diskId
300
+ def initialize(client, diskId)
301
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
302
+ Saklient::Util::validate_type(diskId, 'String')
303
+ @_client = client
304
+ @_disk_id = diskId
305
+ @_host_name = nil
306
+ @_password = nil
307
+ @_ssh_key = nil
308
+ @_ip_address = nil
309
+ @_default_route = nil
310
+ @_network_mask_len = nil
311
+ @_scripts = []
312
+ end
313
+
314
+ # スタートアップスクリプトを追加します.
315
+ #
316
+ # diskConfig.addScript(script) と diskConfig.scripts.push(script) の効果は同等です.
317
+ #
318
+ # @param [Script] script
319
+ # @return [DiskConfig] this
320
+ def add_script(script)
321
+ Saklient::Util::validate_type(script, 'Saklient::Cloud::Resources::Script')
322
+ @_scripts << script
323
+ return self
324
+ end
325
+
326
+ # 修正内容を実際のディスクに書き込みます.
327
+ #
328
+ # @return [DiskConfig] this
329
+ def write
330
+ q = {}
331
+ Saklient::Util::set_by_path(q, 'HostName', @_host_name) if !(@_host_name).nil?
332
+ Saklient::Util::set_by_path(q, 'Password', @_password) if !(@_password).nil?
333
+ Saklient::Util::set_by_path(q, 'SSHKey.PublicKey', @_ssh_key) if !(@_ssh_key).nil?
334
+ Saklient::Util::set_by_path(q, 'UserIPAddress', @_ip_address) if !(@_ip_address).nil?
335
+ Saklient::Util::set_by_path(q, 'UserSubnet.DefaultRoute', @_default_route) if !(@_default_route).nil?
336
+ Saklient::Util::set_by_path(q, 'UserSubnet.NetworkMaskLen', @_network_mask_len) if !(@_network_mask_len).nil?
337
+ if 0 < @_scripts.length
338
+ notes = []
339
+ for script in @_scripts
340
+ notes << { ID: script._id }
341
+ end
342
+ Saklient::Util::set_by_path(q, 'Notes', notes)
343
+ end
344
+ path = '/disk/' + @_disk_id + '/config'
345
+ @_client.request('PUT', path, q)
346
+ return self
347
+ end
348
+
349
+ end
350
+
351
+ end
352
+ end
353
+ end
@@ -0,0 +1,194 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'resource'
5
+ require_relative '../enums/estorage_class'
6
+
7
+ module Saklient
8
+ module Cloud
9
+ module Resources
10
+
11
+ # ディスクプラン情報の1レコードに対応するクラス.
12
+ class DiskPlan < Saklient::Cloud::Resources::Resource
13
+
14
+ protected
15
+
16
+ # ID
17
+ #
18
+ # @return [String]
19
+ attr_accessor :m_id
20
+
21
+ # 名前
22
+ #
23
+ # @return [String]
24
+ attr_accessor :m_name
25
+
26
+ # ストレージクラス {Saklient::Cloud::Enums::EStorageClass}
27
+ #
28
+ # @return [String]
29
+ attr_accessor :m_storage_class
30
+
31
+ # @private
32
+ # @return [String]
33
+ def _api_path
34
+ return '/product/disk'
35
+ end
36
+
37
+ # @private
38
+ # @return [String]
39
+ def _root_key
40
+ return 'DiskPlan'
41
+ end
42
+
43
+ # @private
44
+ # @return [String]
45
+ def _root_key_m
46
+ return 'DiskPlans'
47
+ end
48
+
49
+ public
50
+
51
+ # @private
52
+ # @return [String]
53
+ def _class_name
54
+ return 'DiskPlan'
55
+ end
56
+
57
+ # @private
58
+ # @return [String]
59
+ def _id
60
+ return get_id
61
+ end
62
+
63
+ # @private
64
+ # @param [Saklient::Cloud::Client] client
65
+ # @param [any] obj
66
+ # @param [bool] wrapped
67
+ def initialize(client, obj, wrapped = false)
68
+ super(client)
69
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
70
+ Saklient::Util::validate_type(wrapped, 'bool')
71
+ api_deserialize(obj, wrapped)
72
+ end
73
+
74
+ protected
75
+
76
+ # @return [bool]
77
+ attr_accessor :n_id
78
+
79
+ # (This method is generated in Translator_default#buildImpl)
80
+ #
81
+ # @private
82
+ # @return [String]
83
+ def get_id
84
+ return @m_id
85
+ end
86
+
87
+ public
88
+
89
+ # ID
90
+ #
91
+ # @return [String]
92
+ attr_reader :id
93
+
94
+ def id
95
+ get_id
96
+ end
97
+
98
+ protected
99
+
100
+ # @return [bool]
101
+ attr_accessor :n_name
102
+
103
+ # (This method is generated in Translator_default#buildImpl)
104
+ #
105
+ # @private
106
+ # @return [String]
107
+ def get_name
108
+ return @m_name
109
+ end
110
+
111
+ public
112
+
113
+ # 名前
114
+ #
115
+ # @return [String]
116
+ attr_reader :name
117
+
118
+ def name
119
+ get_name
120
+ end
121
+
122
+ protected
123
+
124
+ # @return [bool]
125
+ attr_accessor :n_storage_class
126
+
127
+ # (This method is generated in Translator_default#buildImpl)
128
+ #
129
+ # @private
130
+ # @return [String]
131
+ def get_storage_class
132
+ return @m_storage_class
133
+ end
134
+
135
+ public
136
+
137
+ # ストレージクラス {Saklient::Cloud::Enums::EStorageClass}
138
+ #
139
+ # @return [String]
140
+ attr_reader :storage_class
141
+
142
+ def storage_class
143
+ get_storage_class
144
+ end
145
+
146
+ protected
147
+
148
+ # (This method is generated in Translator_default#buildImpl)
149
+ #
150
+ # @param [any] r
151
+ def api_deserialize_impl(r)
152
+ @is_new = (r).nil?
153
+ r = {} if @is_new
154
+ @is_incomplete = false
155
+ if Saklient::Util::exists_path(r, 'ID')
156
+ @m_id = (Saklient::Util::get_by_path(r, 'ID')).nil? ? nil : Saklient::Util::get_by_path(r, 'ID').to_s
157
+ else
158
+ @m_id = nil
159
+ @is_incomplete = true
160
+ end
161
+ @n_id = false
162
+ if Saklient::Util::exists_path(r, 'Name')
163
+ @m_name = (Saklient::Util::get_by_path(r, 'Name')).nil? ? nil : Saklient::Util::get_by_path(r, 'Name').to_s
164
+ else
165
+ @m_name = nil
166
+ @is_incomplete = true
167
+ end
168
+ @n_name = false
169
+ if Saklient::Util::exists_path(r, 'StorageClass')
170
+ @m_storage_class = (Saklient::Util::get_by_path(r, 'StorageClass')).nil? ? nil : Saklient::Util::get_by_path(r, 'StorageClass').to_s
171
+ else
172
+ @m_storage_class = nil
173
+ @is_incomplete = true
174
+ end
175
+ @n_storage_class = false
176
+ end
177
+
178
+ # @private
179
+ # @param [bool] withClean
180
+ # @return [any]
181
+ def api_serialize_impl(withClean = false)
182
+ Saklient::Util::validate_type(withClean, 'bool')
183
+ ret = {}
184
+ Saklient::Util::set_by_path(ret, 'ID', @m_id) if withClean || @n_id
185
+ Saklient::Util::set_by_path(ret, 'Name', @m_name) if withClean || @n_name
186
+ Saklient::Util::set_by_path(ret, 'StorageClass', @m_storage_class) if withClean || @n_storage_class
187
+ return ret
188
+ end
189
+
190
+ end
191
+
192
+ end
193
+ end
194
+ end
@@ -0,0 +1,93 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../../util'
4
+
5
+ module Saklient
6
+ module Cloud
7
+ module Resources
8
+
9
+ # FTPサーバのアカウント情報.
10
+ class FtpInfo
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [String]
16
+ attr_accessor :_host_name
17
+
18
+ public
19
+
20
+ # @private
21
+ # @return [String]
22
+ def get_host_name
23
+ return @_host_name
24
+ end
25
+
26
+ # ホスト名
27
+ #
28
+ # @return [String]
29
+ attr_reader :host_name
30
+
31
+ def host_name
32
+ get_host_name
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [String]
39
+ attr_accessor :_user
40
+
41
+ public
42
+
43
+ # @private
44
+ # @return [String]
45
+ def get_user
46
+ return @_user
47
+ end
48
+
49
+ # ユーザ名
50
+ #
51
+ # @return [String]
52
+ attr_reader :user
53
+
54
+ def user
55
+ get_user
56
+ end
57
+
58
+ protected
59
+
60
+ # @private
61
+ # @return [String]
62
+ attr_accessor :_password
63
+
64
+ public
65
+
66
+ # @private
67
+ # @return [String]
68
+ def get_password
69
+ return @_password
70
+ end
71
+
72
+ # パスワード
73
+ #
74
+ # @return [String]
75
+ attr_reader :password
76
+
77
+ def password
78
+ get_password
79
+ end
80
+
81
+ # @private
82
+ # @param [any] obj
83
+ def initialize(obj)
84
+ @_host_name = obj[:HostName]
85
+ @_user = obj[:User]
86
+ @_password = obj[:Password]
87
+ end
88
+
89
+ end
90
+
91
+ end
92
+ end
93
+ end