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,200 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'model'
5
+ require_relative '../resources/disk'
6
+
7
+ module Saklient
8
+ module Cloud
9
+ module Models
10
+
11
+ # ディスクを検索・作成するための機能を備えたクラス.
12
+ class Model_Disk < Saklient::Cloud::Models::Model
13
+
14
+ protected
15
+
16
+ # @private
17
+ # @return [String]
18
+ def _api_path
19
+ return '/disk'
20
+ end
21
+
22
+ # @private
23
+ # @return [String]
24
+ def _root_key
25
+ return 'Disk'
26
+ end
27
+
28
+ # @private
29
+ # @return [String]
30
+ def _root_key_m
31
+ return 'Disks'
32
+ end
33
+
34
+ # @private
35
+ # @return [String]
36
+ def _class_name
37
+ return 'Disk'
38
+ end
39
+
40
+ public
41
+
42
+ # 次に取得するリストの開始オフセットを指定します.
43
+ #
44
+ # @param [Fixnum] offset オフセット
45
+ # @return [Model_Disk] 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_Disk] 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_Disk]
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_Disk] this
75
+ def reset
76
+ return _reset
77
+ end
78
+
79
+ # 新規リソース作成用のオブジェクトを用意します.
80
+ #
81
+ # 返り値のオブジェクトにパラメータを設定し, save() を呼ぶことで実際のリソースが作成されます.
82
+ #
83
+ # @return [Saklient::Cloud::Resources::Disk] リソースオブジェクト
84
+ def create
85
+ return _create
86
+ end
87
+
88
+ # 指定したIDを持つ唯一のリソースを取得します.
89
+ #
90
+ # @param [String] id
91
+ # @return [Saklient::Cloud::Resources::Disk] リソースオブジェクト
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::Disk>] リソースオブジェクトの配列
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_Disk]
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
+ # 複数のタグを指定する場合は withTags() を利用してください.
120
+ #
121
+ # @todo Implement test case
122
+ # @param [String] tag
123
+ # @return [Model_Disk]
124
+ def with_tag(tag)
125
+ Saklient::Util::validate_type(tag, 'String')
126
+ return _with_tag(tag)
127
+ end
128
+
129
+ # 指定したすべてのタグを持つリソースに絞り込みます.
130
+ #
131
+ # @todo Implement test case
132
+ # @param [Array<String>] tags
133
+ # @return [Model_Disk]
134
+ def with_tags(tags)
135
+ Saklient::Util::validate_type(tags, 'Array')
136
+ return _with_tags(tags)
137
+ end
138
+
139
+ # 指定したDNFに合致するタグを持つリソースに絞り込みます.
140
+ #
141
+ # @todo Implement test case
142
+ # @param [Array<Array<String>>] dnf
143
+ # @return [Model_Disk]
144
+ def with_tag_dnf(dnf)
145
+ Saklient::Util::validate_type(dnf, 'Array')
146
+ return _with_tag_dnf(dnf)
147
+ end
148
+
149
+ # 名前でソートします.
150
+ #
151
+ # @todo Implement test case
152
+ # @param [bool] reverse
153
+ # @return [Model_Disk]
154
+ def sort_by_name(reverse = false)
155
+ Saklient::Util::validate_type(reverse, 'bool')
156
+ return _sort_by_name(reverse)
157
+ end
158
+
159
+ # @private
160
+ # @param [Saklient::Cloud::Client] client
161
+ def initialize(client)
162
+ super(client)
163
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
164
+ end
165
+
166
+ # 指定したサイズのディスクに絞り込みます.
167
+ #
168
+ # @param [Fixnum] sizeGib
169
+ # @return [Model_Disk]
170
+ def with_size_gib(sizeGib)
171
+ Saklient::Util::validate_type(sizeGib, 'Fixnum')
172
+ _filter_by('SizeMB', [sizeGib * 1024])
173
+ return self
174
+ end
175
+
176
+ # 指定したサーバへ接続されているディスクに絞り込みます.
177
+ #
178
+ # @param [String] id
179
+ # @return [Model_Disk]
180
+ def with_server_id(id)
181
+ Saklient::Util::validate_type(id, 'String')
182
+ _filter_by('Server.ID', [id])
183
+ return self
184
+ end
185
+
186
+ # サイズでソートします.
187
+ #
188
+ # @param [bool] reverse
189
+ # @return [Model_Disk]
190
+ def sort_by_size(reverse = false)
191
+ Saklient::Util::validate_type(reverse, 'bool')
192
+ _sort('SizeMB', reverse)
193
+ return self
194
+ end
195
+
196
+ end
197
+
198
+ end
199
+ end
200
+ end
@@ -0,0 +1,156 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'model'
5
+ require_relative '../resources/disk_plan'
6
+
7
+ module Saklient
8
+ module Cloud
9
+ module Models
10
+
11
+ # ディスクプランを検索するための機能を備えたクラス.
12
+ class Model_DiskPlan < Saklient::Cloud::Models::Model
13
+
14
+ protected
15
+
16
+ # @private
17
+ # @return [String]
18
+ def _api_path
19
+ return '/product/disk'
20
+ end
21
+
22
+ # @private
23
+ # @return [String]
24
+ def _root_key
25
+ return 'DiskPlan'
26
+ end
27
+
28
+ # @private
29
+ # @return [String]
30
+ def _root_key_m
31
+ return 'DiskPlans'
32
+ end
33
+
34
+ # @private
35
+ # @return [String]
36
+ def _class_name
37
+ return 'DiskPlan'
38
+ end
39
+
40
+ public
41
+
42
+ # 次に取得するリストの開始オフセットを指定します.
43
+ #
44
+ # @param [Fixnum] offset オフセット
45
+ # @return [Model_DiskPlan] 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_DiskPlan] 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_DiskPlan]
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_DiskPlan] this
75
+ def reset
76
+ return _reset
77
+ end
78
+
79
+ # 指定したIDを持つ唯一のリソースを取得します.
80
+ #
81
+ # @param [String] id
82
+ # @return [Saklient::Cloud::Resources::DiskPlan] リソースオブジェクト
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::DiskPlan>] リソースオブジェクトの配列
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
+ @_hdd = nil
101
+ @_ssd = nil
102
+ end
103
+
104
+ protected
105
+
106
+ # @private
107
+ # @return [Saklient::Cloud::Resources::DiskPlan]
108
+ attr_accessor :_hdd
109
+
110
+ # @private
111
+ # @return [Saklient::Cloud::Resources::DiskPlan]
112
+ def get_hdd
113
+ @_hdd = get_by_id('2') if (@_hdd).nil?
114
+ return @_hdd
115
+ end
116
+
117
+ public
118
+
119
+ # 標準プラン
120
+ #
121
+ # @return [Saklient::Cloud::Resources::DiskPlan]
122
+ attr_reader :hdd
123
+
124
+ def hdd
125
+ get_hdd
126
+ end
127
+
128
+ protected
129
+
130
+ # @private
131
+ # @return [Saklient::Cloud::Resources::DiskPlan]
132
+ attr_accessor :_ssd
133
+
134
+ # @private
135
+ # @return [Saklient::Cloud::Resources::DiskPlan]
136
+ def get_ssd
137
+ @_ssd = get_by_id('4') if (@_ssd).nil?
138
+ return @_ssd
139
+ end
140
+
141
+ public
142
+
143
+ # SSDプラン
144
+ #
145
+ # @return [Saklient::Cloud::Resources::DiskPlan]
146
+ attr_reader :ssd
147
+
148
+ def ssd
149
+ get_ssd
150
+ end
151
+
152
+ end
153
+
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,178 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'model'
5
+ require_relative '../resources/icon'
6
+ require_relative '../enums/escope'
7
+
8
+ module Saklient
9
+ module Cloud
10
+ module Models
11
+
12
+ # アイコンを検索・作成するための機能を備えたクラス.
13
+ class Model_Icon < Saklient::Cloud::Models::Model
14
+
15
+ protected
16
+
17
+ # @private
18
+ # @return [String]
19
+ def _api_path
20
+ return '/icon'
21
+ end
22
+
23
+ # @private
24
+ # @return [String]
25
+ def _root_key
26
+ return 'Icon'
27
+ end
28
+
29
+ # @private
30
+ # @return [String]
31
+ def _root_key_m
32
+ return 'Icons'
33
+ end
34
+
35
+ # @private
36
+ # @return [String]
37
+ def _class_name
38
+ return 'Icon'
39
+ end
40
+
41
+ public
42
+
43
+ # 次に取得するリストの開始オフセットを指定します.
44
+ #
45
+ # @param [Fixnum] offset オフセット
46
+ # @return [Model_Icon] 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_Icon] 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_Icon]
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_Icon] this
76
+ def reset
77
+ return _reset
78
+ end
79
+
80
+ # 指定したIDを持つ唯一のリソースを取得します.
81
+ #
82
+ # @param [String] id
83
+ # @return [Saklient::Cloud::Resources::Icon] リソースオブジェクト
84
+ def get_by_id(id)
85
+ Saklient::Util::validate_type(id, 'String')
86
+ return _get_by_id(id)
87
+ end
88
+
89
+ # リソースの検索リクエストを実行し, 結果をリストで取得します.
90
+ #
91
+ # @return [Array<Saklient::Cloud::Resources::Icon>] リソースオブジェクトの配列
92
+ def find
93
+ return _find
94
+ end
95
+
96
+ # 指定した文字列を名前に含むリソースに絞り込みます.
97
+ #
98
+ # 大文字・小文字は区別されません.
99
+ # 半角スペースで区切られた複数の文字列は, それらをすべて含むことが条件とみなされます.
100
+ #
101
+ # @todo Implement test case
102
+ # @param [String] name
103
+ # @return [Model_Icon]
104
+ def with_name_like(name)
105
+ Saklient::Util::validate_type(name, 'String')
106
+ return _with_name_like(name)
107
+ end
108
+
109
+ # 指定したタグを持つリソースに絞り込みます.
110
+ #
111
+ # 複数のタグを指定する場合は withTags() を利用してください.
112
+ #
113
+ # @todo Implement test case
114
+ # @param [String] tag
115
+ # @return [Model_Icon]
116
+ def with_tag(tag)
117
+ Saklient::Util::validate_type(tag, 'String')
118
+ return _with_tag(tag)
119
+ end
120
+
121
+ # 指定したすべてのタグを持つリソースに絞り込みます.
122
+ #
123
+ # @todo Implement test case
124
+ # @param [Array<String>] tags
125
+ # @return [Model_Icon]
126
+ def with_tags(tags)
127
+ Saklient::Util::validate_type(tags, 'Array')
128
+ return _with_tags(tags)
129
+ end
130
+
131
+ # 指定したDNFに合致するタグを持つリソースに絞り込みます.
132
+ #
133
+ # @todo Implement test case
134
+ # @param [Array<Array<String>>] dnf
135
+ # @return [Model_Icon]
136
+ def with_tag_dnf(dnf)
137
+ Saklient::Util::validate_type(dnf, 'Array')
138
+ return _with_tag_dnf(dnf)
139
+ end
140
+
141
+ # 名前でソートします.
142
+ #
143
+ # @todo Implement test case
144
+ # @param [bool] reverse
145
+ # @return [Model_Icon]
146
+ def sort_by_name(reverse = false)
147
+ Saklient::Util::validate_type(reverse, 'bool')
148
+ return _sort_by_name(reverse)
149
+ end
150
+
151
+ # @private
152
+ # @param [Saklient::Cloud::Client] client
153
+ def initialize(client)
154
+ super(client)
155
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
156
+ end
157
+
158
+ # パブリックアイコンに絞り込みます.
159
+ #
160
+ # @return [Model_Icon]
161
+ def with_shared_scope
162
+ _filter_by('Scope', [Saklient::Cloud::Enums::EScope::shared])
163
+ return self
164
+ end
165
+
166
+ # プライベートアイコンに絞り込みます.
167
+ #
168
+ # @return [Model_Icon]
169
+ def with_user_scope
170
+ _filter_by('Scope', [Saklient::Cloud::Enums::EScope::user])
171
+ return self
172
+ end
173
+
174
+ end
175
+
176
+ end
177
+ end
178
+ end
@@ -0,0 +1,115 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../client'
4
+ require_relative 'model'
5
+ require_relative '../resources/iface'
6
+
7
+ module Saklient
8
+ module Cloud
9
+ module Models
10
+
11
+ # インタフェースを検索・作成するための機能を備えたクラス.
12
+ class Model_Iface < Saklient::Cloud::Models::Model
13
+
14
+ protected
15
+
16
+ # @private
17
+ # @return [String]
18
+ def _api_path
19
+ return '/interface'
20
+ end
21
+
22
+ # @private
23
+ # @return [String]
24
+ def _root_key
25
+ return 'Interface'
26
+ end
27
+
28
+ # @private
29
+ # @return [String]
30
+ def _root_key_m
31
+ return 'Interfaces'
32
+ end
33
+
34
+ # @private
35
+ # @return [String]
36
+ def _class_name
37
+ return 'Iface'
38
+ end
39
+
40
+ public
41
+
42
+ # 次に取得するリストの開始オフセットを指定します.
43
+ #
44
+ # @param [Fixnum] offset オフセット
45
+ # @return [Model_Iface] 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_Iface] 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_Iface]
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_Iface] this
75
+ def reset
76
+ return _reset
77
+ end
78
+
79
+ # 新規リソース作成用のオブジェクトを用意します.
80
+ #
81
+ # 返り値のオブジェクトにパラメータを設定し, save() を呼ぶことで実際のリソースが作成されます.
82
+ #
83
+ # @return [Saklient::Cloud::Resources::Iface] リソースオブジェクト
84
+ def create
85
+ return _create
86
+ end
87
+
88
+ # 指定したIDを持つ唯一のリソースを取得します.
89
+ #
90
+ # @param [String] id
91
+ # @return [Saklient::Cloud::Resources::Iface] リソースオブジェクト
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::Iface>] リソースオブジェクトの配列
100
+ def find
101
+ return _find
102
+ end
103
+
104
+ # @private
105
+ # @param [Saklient::Cloud::Client] client
106
+ def initialize(client)
107
+ super(client)
108
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
109
+ end
110
+
111
+ end
112
+
113
+ end
114
+ end
115
+ end