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,106 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'model'
5
+ require_relative '../resources/ipv6_net'
6
+
7
+ module Saklient
8
+ module Cloud
9
+ module Models
10
+
11
+ # IPv6ネットワークを検索するための機能を備えたクラス.
12
+ class Model_Ipv6Net < Saklient::Cloud::Models::Model
13
+
14
+ protected
15
+
16
+ # @private
17
+ # @return [String]
18
+ def _api_path
19
+ return '/ipv6net'
20
+ end
21
+
22
+ # @private
23
+ # @return [String]
24
+ def _root_key
25
+ return 'IPv6Net'
26
+ end
27
+
28
+ # @private
29
+ # @return [String]
30
+ def _root_key_m
31
+ return 'IPv6Nets'
32
+ end
33
+
34
+ # @private
35
+ # @return [String]
36
+ def _class_name
37
+ return 'IPv6Net'
38
+ end
39
+
40
+ public
41
+
42
+ # 次に取得するリストの開始オフセットを指定します.
43
+ #
44
+ # @param [Fixnum] offset オフセット
45
+ # @return [Model_Ipv6Net] this
46
+ def offset(offset)
47
+ Saklient::Util::validate_type(offset, 'Fixnum')
48
+ return _offset(offset)
49
+ end
50
+
51
+ # 次に取得するリストの上限レコード数を指定します.
52
+ #
53
+ # @param [Fixnum] count 上限レコード数
54
+ # @return [Model_Ipv6Net] this
55
+ def limit(count)
56
+ Saklient::Util::validate_type(count, 'Fixnum')
57
+ return _limit(count)
58
+ end
59
+
60
+ # Web APIのフィルタリング設定を直接指定します.
61
+ #
62
+ # @param [String] key キー
63
+ # @param [any] value 値
64
+ # @param [bool] multiple valueに配列を与え, OR条件で完全一致検索する場合にtrueを指定します. 通常, valueはスカラ値であいまい検索されます.
65
+ # @return [Model_Ipv6Net]
66
+ def filter_by(key, value, multiple = false)
67
+ Saklient::Util::validate_type(key, 'String')
68
+ Saklient::Util::validate_type(multiple, 'bool')
69
+ return _filter_by(key, value, multiple)
70
+ end
71
+
72
+ # 次のリクエストのために設定されているステートをすべて破棄します.
73
+ #
74
+ # @return [Model_Ipv6Net] this
75
+ def reset
76
+ return _reset
77
+ end
78
+
79
+ # 指定したIDを持つ唯一のリソースを取得します.
80
+ #
81
+ # @param [String] id
82
+ # @return [Saklient::Cloud::Resources::Ipv6Net] リソースオブジェクト
83
+ def get_by_id(id)
84
+ Saklient::Util::validate_type(id, 'String')
85
+ return _get_by_id(id)
86
+ end
87
+
88
+ # リソースの検索リクエストを実行し, 結果をリストで取得します.
89
+ #
90
+ # @return [Array<Saklient::Cloud::Resources::Ipv6Net>] リソースオブジェクトの配列
91
+ def find
92
+ return _find
93
+ end
94
+
95
+ # @private
96
+ # @param [Saklient::Cloud::Client] client
97
+ def initialize(client)
98
+ super(client)
99
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
100
+ end
101
+
102
+ end
103
+
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,207 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'model'
5
+ require_relative '../resources/iso_image'
6
+ require_relative '../enums/escope'
7
+
8
+ module Saklient
9
+ module Cloud
10
+ module Models
11
+
12
+ # ISOイメージを検索・作成するための機能を備えたクラス.
13
+ class Model_IsoImage < Saklient::Cloud::Models::Model
14
+
15
+ protected
16
+
17
+ # @private
18
+ # @return [String]
19
+ def _api_path
20
+ return '/cdrom'
21
+ end
22
+
23
+ # @private
24
+ # @return [String]
25
+ def _root_key
26
+ return 'CDROM'
27
+ end
28
+
29
+ # @private
30
+ # @return [String]
31
+ def _root_key_m
32
+ return 'CDROMs'
33
+ end
34
+
35
+ # @private
36
+ # @return [String]
37
+ def _class_name
38
+ return 'IsoImage'
39
+ end
40
+
41
+ public
42
+
43
+ # 次に取得するリストの開始オフセットを指定します.
44
+ #
45
+ # @param [Fixnum] offset オフセット
46
+ # @return [Model_IsoImage] this
47
+ def offset(offset)
48
+ Saklient::Util::validate_type(offset, 'Fixnum')
49
+ return _offset(offset)
50
+ end
51
+
52
+ # 次に取得するリストの上限レコード数を指定します.
53
+ #
54
+ # @param [Fixnum] count 上限レコード数
55
+ # @return [Model_IsoImage] this
56
+ def limit(count)
57
+ Saklient::Util::validate_type(count, 'Fixnum')
58
+ return _limit(count)
59
+ end
60
+
61
+ # Web APIのフィルタリング設定を直接指定します.
62
+ #
63
+ # @param [String] key キー
64
+ # @param [any] value 値
65
+ # @param [bool] multiple valueに配列を与え, OR条件で完全一致検索する場合にtrueを指定します. 通常, valueはスカラ値であいまい検索されます.
66
+ # @return [Model_IsoImage]
67
+ def filter_by(key, value, multiple = false)
68
+ Saklient::Util::validate_type(key, 'String')
69
+ Saklient::Util::validate_type(multiple, 'bool')
70
+ return _filter_by(key, value, multiple)
71
+ end
72
+
73
+ # 次のリクエストのために設定されているステートをすべて破棄します.
74
+ #
75
+ # @return [Model_IsoImage] this
76
+ def reset
77
+ return _reset
78
+ end
79
+
80
+ # 新規リソース作成用のオブジェクトを用意します.
81
+ #
82
+ # 返り値のオブジェクトにパラメータを設定し, save() を呼ぶことで実際のリソースが作成されます.
83
+ #
84
+ # @return [Saklient::Cloud::Resources::IsoImage] リソースオブジェクト
85
+ def create
86
+ return _create
87
+ end
88
+
89
+ # 指定したIDを持つ唯一のリソースを取得します.
90
+ #
91
+ # @param [String] id
92
+ # @return [Saklient::Cloud::Resources::IsoImage] リソースオブジェクト
93
+ def get_by_id(id)
94
+ Saklient::Util::validate_type(id, 'String')
95
+ return _get_by_id(id)
96
+ end
97
+
98
+ # リソースの検索リクエストを実行し, 結果をリストで取得します.
99
+ #
100
+ # @return [Array<Saklient::Cloud::Resources::IsoImage>] リソースオブジェクトの配列
101
+ def find
102
+ return _find
103
+ end
104
+
105
+ # 指定した文字列を名前に含むリソースに絞り込みます.
106
+ #
107
+ # 大文字・小文字は区別されません.
108
+ # 半角スペースで区切られた複数の文字列は, それらをすべて含むことが条件とみなされます.
109
+ #
110
+ # @todo Implement test case
111
+ # @param [String] name
112
+ # @return [Model_IsoImage]
113
+ def with_name_like(name)
114
+ Saklient::Util::validate_type(name, 'String')
115
+ return _with_name_like(name)
116
+ end
117
+
118
+ # 指定したタグを持つリソースに絞り込みます.
119
+ #
120
+ # 複数のタグを指定する場合は withTags() を利用してください.
121
+ #
122
+ # @todo Implement test case
123
+ # @param [String] tag
124
+ # @return [Model_IsoImage]
125
+ def with_tag(tag)
126
+ Saklient::Util::validate_type(tag, 'String')
127
+ return _with_tag(tag)
128
+ end
129
+
130
+ # 指定したすべてのタグを持つリソースに絞り込みます.
131
+ #
132
+ # @todo Implement test case
133
+ # @param [Array<String>] tags
134
+ # @return [Model_IsoImage]
135
+ def with_tags(tags)
136
+ Saklient::Util::validate_type(tags, 'Array')
137
+ return _with_tags(tags)
138
+ end
139
+
140
+ # 指定したDNFに合致するタグを持つリソースに絞り込みます.
141
+ #
142
+ # @todo Implement test case
143
+ # @param [Array<Array<String>>] dnf
144
+ # @return [Model_IsoImage]
145
+ def with_tag_dnf(dnf)
146
+ Saklient::Util::validate_type(dnf, 'Array')
147
+ return _with_tag_dnf(dnf)
148
+ end
149
+
150
+ # 名前でソートします.
151
+ #
152
+ # @todo Implement test case
153
+ # @param [bool] reverse
154
+ # @return [Model_IsoImage]
155
+ def sort_by_name(reverse = false)
156
+ Saklient::Util::validate_type(reverse, 'bool')
157
+ return _sort_by_name(reverse)
158
+ end
159
+
160
+ # @private
161
+ # @param [Saklient::Cloud::Client] client
162
+ def initialize(client)
163
+ super(client)
164
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
165
+ end
166
+
167
+ # 指定したサイズのISOイメージに絞り込みます.
168
+ #
169
+ # @param [Fixnum] sizeGib
170
+ # @return [Model_IsoImage]
171
+ def with_size_gib(sizeGib)
172
+ Saklient::Util::validate_type(sizeGib, 'Fixnum')
173
+ _filter_by('SizeMB', [sizeGib * 1024])
174
+ return self
175
+ end
176
+
177
+ # パブリックISOイメージに絞り込みます.
178
+ #
179
+ # @return [Model_IsoImage]
180
+ def with_shared_scope
181
+ _filter_by('Scope', [Saklient::Cloud::Enums::EScope::shared])
182
+ return self
183
+ end
184
+
185
+ # プライベートISOイメージに絞り込みます.
186
+ #
187
+ # @return [Model_IsoImage]
188
+ def with_user_scope
189
+ _filter_by('Scope', [Saklient::Cloud::Enums::EScope::user])
190
+ return self
191
+ end
192
+
193
+ # サイズでソートします.
194
+ #
195
+ # @param [bool] reverse
196
+ # @return [Model_IsoImage]
197
+ def sort_by_size(reverse = false)
198
+ Saklient::Util::validate_type(reverse, 'bool')
199
+ _sort('SizeMB', reverse)
200
+ return self
201
+ end
202
+
203
+ end
204
+
205
+ end
206
+ end
207
+ end
@@ -0,0 +1,148 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'model'
5
+ require_relative '../resources/router'
6
+
7
+ module Saklient
8
+ module Cloud
9
+ module Models
10
+
11
+ # ルータを検索するための機能を備えたクラス.
12
+ class Model_Router < Saklient::Cloud::Models::Model
13
+
14
+ protected
15
+
16
+ # @private
17
+ # @return [String]
18
+ def _api_path
19
+ return '/internet'
20
+ end
21
+
22
+ # @private
23
+ # @return [String]
24
+ def _root_key
25
+ return 'Internet'
26
+ end
27
+
28
+ # @private
29
+ # @return [String]
30
+ def _root_key_m
31
+ return 'Internet'
32
+ end
33
+
34
+ # @private
35
+ # @return [String]
36
+ def _class_name
37
+ return 'Router'
38
+ end
39
+
40
+ public
41
+
42
+ # 次に取得するリストの開始オフセットを指定します.
43
+ #
44
+ # @param [Fixnum] offset オフセット
45
+ # @return [Model_Router] this
46
+ def offset(offset)
47
+ Saklient::Util::validate_type(offset, 'Fixnum')
48
+ return _offset(offset)
49
+ end
50
+
51
+ # 次に取得するリストの上限レコード数を指定します.
52
+ #
53
+ # @param [Fixnum] count 上限レコード数
54
+ # @return [Model_Router] this
55
+ def limit(count)
56
+ Saklient::Util::validate_type(count, 'Fixnum')
57
+ return _limit(count)
58
+ end
59
+
60
+ # Web APIのフィルタリング設定を直接指定します.
61
+ #
62
+ # @param [String] key キー
63
+ # @param [any] value 値
64
+ # @param [bool] multiple valueに配列を与え, OR条件で完全一致検索する場合にtrueを指定します. 通常, valueはスカラ値であいまい検索されます.
65
+ # @return [Model_Router]
66
+ def filter_by(key, value, multiple = false)
67
+ Saklient::Util::validate_type(key, 'String')
68
+ Saklient::Util::validate_type(multiple, 'bool')
69
+ return _filter_by(key, value, multiple)
70
+ end
71
+
72
+ # 次のリクエストのために設定されているステートをすべて破棄します.
73
+ #
74
+ # @return [Model_Router] this
75
+ def reset
76
+ return _reset
77
+ end
78
+
79
+ # 新規リソース作成用のオブジェクトを用意します.
80
+ #
81
+ # 返り値のオブジェクトにパラメータを設定し, save() を呼ぶことで実際のリソースが作成されます.
82
+ #
83
+ # @return [Saklient::Cloud::Resources::Router] リソースオブジェクト
84
+ def create
85
+ return _create
86
+ end
87
+
88
+ # 指定したIDを持つ唯一のリソースを取得します.
89
+ #
90
+ # @param [String] id
91
+ # @return [Saklient::Cloud::Resources::Router] リソースオブジェクト
92
+ def get_by_id(id)
93
+ Saklient::Util::validate_type(id, 'String')
94
+ return _get_by_id(id)
95
+ end
96
+
97
+ # リソースの検索リクエストを実行し, 結果をリストで取得します.
98
+ #
99
+ # @return [Array<Saklient::Cloud::Resources::Router>] リソースオブジェクトの配列
100
+ def find
101
+ return _find
102
+ end
103
+
104
+ # 指定した文字列を名前に含むリソースに絞り込みます.
105
+ #
106
+ # 大文字・小文字は区別されません.
107
+ # 半角スペースで区切られた複数の文字列は, それらをすべて含むことが条件とみなされます.
108
+ #
109
+ # @todo Implement test case
110
+ # @param [String] name
111
+ # @return [Model_Router]
112
+ def with_name_like(name)
113
+ Saklient::Util::validate_type(name, 'String')
114
+ return _with_name_like(name)
115
+ end
116
+
117
+ # 名前でソートします.
118
+ #
119
+ # @todo Implement test case
120
+ # @param [bool] reverse
121
+ # @return [Model_Router]
122
+ def sort_by_name(reverse = false)
123
+ Saklient::Util::validate_type(reverse, 'bool')
124
+ return _sort_by_name(reverse)
125
+ end
126
+
127
+ # @private
128
+ # @param [Saklient::Cloud::Client] client
129
+ def initialize(client)
130
+ super(client)
131
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
132
+ end
133
+
134
+ # 指定した帯域幅のルータに絞り込みます.
135
+ #
136
+ # @param [Fixnum] mbps
137
+ # @return [Model_Router]
138
+ def with_band_width_mbps(mbps)
139
+ Saklient::Util::validate_type(mbps, 'Fixnum')
140
+ _filter_by('BandWidthMbps', [mbps])
141
+ return self
142
+ end
143
+
144
+ end
145
+
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,106 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'model'
5
+ require_relative '../resources/router_plan'
6
+
7
+ module Saklient
8
+ module Cloud
9
+ module Models
10
+
11
+ # ルータ帯域プランを検索するための機能を備えたクラス.
12
+ class Model_RouterPlan < Saklient::Cloud::Models::Model
13
+
14
+ protected
15
+
16
+ # @private
17
+ # @return [String]
18
+ def _api_path
19
+ return '/product/internet'
20
+ end
21
+
22
+ # @private
23
+ # @return [String]
24
+ def _root_key
25
+ return 'InternetPlan'
26
+ end
27
+
28
+ # @private
29
+ # @return [String]
30
+ def _root_key_m
31
+ return 'InternetPlans'
32
+ end
33
+
34
+ # @private
35
+ # @return [String]
36
+ def _class_name
37
+ return 'RouterPlan'
38
+ end
39
+
40
+ public
41
+
42
+ # 次に取得するリストの開始オフセットを指定します.
43
+ #
44
+ # @param [Fixnum] offset オフセット
45
+ # @return [Model_RouterPlan] this
46
+ def offset(offset)
47
+ Saklient::Util::validate_type(offset, 'Fixnum')
48
+ return _offset(offset)
49
+ end
50
+
51
+ # 次に取得するリストの上限レコード数を指定します.
52
+ #
53
+ # @param [Fixnum] count 上限レコード数
54
+ # @return [Model_RouterPlan] this
55
+ def limit(count)
56
+ Saklient::Util::validate_type(count, 'Fixnum')
57
+ return _limit(count)
58
+ end
59
+
60
+ # Web APIのフィルタリング設定を直接指定します.
61
+ #
62
+ # @param [String] key キー
63
+ # @param [any] value 値
64
+ # @param [bool] multiple valueに配列を与え, OR条件で完全一致検索する場合にtrueを指定します. 通常, valueはスカラ値であいまい検索されます.
65
+ # @return [Model_RouterPlan]
66
+ def filter_by(key, value, multiple = false)
67
+ Saklient::Util::validate_type(key, 'String')
68
+ Saklient::Util::validate_type(multiple, 'bool')
69
+ return _filter_by(key, value, multiple)
70
+ end
71
+
72
+ # 次のリクエストのために設定されているステートをすべて破棄します.
73
+ #
74
+ # @return [Model_RouterPlan] this
75
+ def reset
76
+ return _reset
77
+ end
78
+
79
+ # 指定したIDを持つ唯一のリソースを取得します.
80
+ #
81
+ # @param [String] id
82
+ # @return [Saklient::Cloud::Resources::RouterPlan] リソースオブジェクト
83
+ def get_by_id(id)
84
+ Saklient::Util::validate_type(id, 'String')
85
+ return _get_by_id(id)
86
+ end
87
+
88
+ # リソースの検索リクエストを実行し, 結果をリストで取得します.
89
+ #
90
+ # @return [Array<Saklient::Cloud::Resources::RouterPlan>] リソースオブジェクトの配列
91
+ def find
92
+ return _find
93
+ end
94
+
95
+ # @private
96
+ # @param [Saklient::Cloud::Client] client
97
+ def initialize(client)
98
+ super(client)
99
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
100
+ end
101
+
102
+ end
103
+
104
+ end
105
+ end
106
+ end