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.
- checksums.yaml +7 -0
- data/.gitignore +21 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +43 -0
- data/Rakefile +1 -0
- data/config.sh.sample +5 -0
- data/example.rb +83 -0
- data/example.sh +6 -0
- data/lib/saklient/cloud/api.rb +382 -0
- data/lib/saklient/cloud/client.rb +111 -0
- data/lib/saklient/cloud/enums/eappliance_class.rb +39 -0
- data/lib/saklient/cloud/enums/eavailability.rb +79 -0
- data/lib/saklient/cloud/enums/edisk_connection.rb +39 -0
- data/lib/saklient/cloud/enums/escope.rb +39 -0
- data/lib/saklient/cloud/enums/escript_class.rb +39 -0
- data/lib/saklient/cloud/enums/eserver_instance_status.rb +44 -0
- data/lib/saklient/cloud/enums/estorage_class.rb +34 -0
- data/lib/saklient/cloud/errors/access_api_key_disabled_exception.rb +23 -0
- data/lib/saklient/cloud/errors/access_sakura_exception.rb +23 -0
- data/lib/saklient/cloud/errors/access_staff_exception.rb +23 -0
- data/lib/saklient/cloud/errors/access_token_exception.rb +23 -0
- data/lib/saklient/cloud/errors/access_xhr_or_api_key_exception.rb +23 -0
- data/lib/saklient/cloud/errors/account_not_found_exception.rb +23 -0
- data/lib/saklient/cloud/errors/account_not_specified_exception.rb +23 -0
- data/lib/saklient/cloud/errors/ambiguous_identifier_exception.rb +23 -0
- data/lib/saklient/cloud/errors/ambiguous_zone_exception.rb +23 -0
- data/lib/saklient/cloud/errors/api_proxy_timeout_exception.rb +23 -0
- data/lib/saklient/cloud/errors/api_proxy_timeout_non_get_exception.rb +23 -0
- data/lib/saklient/cloud/errors/archive_is_incomplete_exception.rb +23 -0
- data/lib/saklient/cloud/errors/boot_failure_by_lock_exception.rb +23 -0
- data/lib/saklient/cloud/errors/boot_failure_in_group_exception.rb +23 -0
- data/lib/saklient/cloud/errors/busy_exception.rb +23 -0
- data/lib/saklient/cloud/errors/cant_resize_smaller_exception.rb +23 -0
- data/lib/saklient/cloud/errors/cdrom_device_locked_exception.rb +23 -0
- data/lib/saklient/cloud/errors/cdrom_disabled_exception.rb +23 -0
- data/lib/saklient/cloud/errors/cdrom_in_use_exception.rb +23 -0
- data/lib/saklient/cloud/errors/cdrom_is_incomplete_exception.rb +23 -0
- data/lib/saklient/cloud/errors/connect_to_same_switch_exception.rb +23 -0
- data/lib/saklient/cloud/errors/contract_creation_exception.rb +23 -0
- data/lib/saklient/cloud/errors/copy_to_itself_exception.rb +23 -0
- data/lib/saklient/cloud/errors/delete_disk_b4_template_exception.rb +23 -0
- data/lib/saklient/cloud/errors/delete_ip_v6_nets_first_exception.rb +23 -0
- data/lib/saklient/cloud/errors/delete_res_b4_account_exception.rb +23 -0
- data/lib/saklient/cloud/errors/delete_router_b4_switch_exception.rb +23 -0
- data/lib/saklient/cloud/errors/delete_static_route_first_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disabled_in_sandbox_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disconnect_b4_delete_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disconnect_b4_update_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disk_connection_limit_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disk_is_copying_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disk_is_not_available_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disk_license_mismatch_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disk_or_ss_in_migration_exception.rb +23 -0
- data/lib/saklient/cloud/errors/disk_stock_run_out_exception.rb +23 -0
- data/lib/saklient/cloud/errors/dns_aaaa_record_not_found_exception.rb +23 -0
- data/lib/saklient/cloud/errors/dns_arecord_not_found_exception.rb +23 -0
- data/lib/saklient/cloud/errors/dns_ptr_update_failure_exception.rb +23 -0
- data/lib/saklient/cloud/errors/dont_create_in_sandbox_exception.rb +23 -0
- data/lib/saklient/cloud/errors/duplicate_account_code_exception.rb +23 -0
- data/lib/saklient/cloud/errors/duplicate_entry_exception.rb +23 -0
- data/lib/saklient/cloud/errors/duplicate_user_code_exception.rb +23 -0
- data/lib/saklient/cloud/errors/file_not_uploaded_exception.rb +23 -0
- data/lib/saklient/cloud/errors/filter_array_comparison_exception.rb +23 -0
- data/lib/saklient/cloud/errors/filter_bad_operator_exception.rb +23 -0
- data/lib/saklient/cloud/errors/filter_null_comparison_exception.rb +23 -0
- data/lib/saklient/cloud/errors/filter_unknown_operator_exception.rb +23 -0
- data/lib/saklient/cloud/errors/ftp_cannot_close_exception.rb +23 -0
- data/lib/saklient/cloud/errors/ftp_is_already_close_exception.rb +23 -0
- data/lib/saklient/cloud/errors/ftp_is_already_open_exception.rb +23 -0
- data/lib/saklient/cloud/errors/ftp_must_be_closed_exception.rb +23 -0
- data/lib/saklient/cloud/errors/host_operation_failure_exception.rb +23 -0
- data/lib/saklient/cloud/errors/illegal_das_usage_exception.rb +23 -0
- data/lib/saklient/cloud/errors/in_migration_exception.rb +23 -0
- data/lib/saklient/cloud/errors/invalid_format_exception.rb +23 -0
- data/lib/saklient/cloud/errors/invalid_param_comb_exception.rb +23 -0
- data/lib/saklient/cloud/errors/invalid_range_exception.rb +23 -0
- data/lib/saklient/cloud/errors/invalid_uri_argument_exception.rb +23 -0
- data/lib/saklient/cloud/errors/ip_v6_net_already_attached_exception.rb +23 -0
- data/lib/saklient/cloud/errors/limit_count_in_account_exception.rb +23 -0
- data/lib/saklient/cloud/errors/limit_count_in_member_exception.rb +23 -0
- data/lib/saklient/cloud/errors/limit_count_in_network_exception.rb +23 -0
- data/lib/saklient/cloud/errors/limit_count_in_router_exception.rb +23 -0
- data/lib/saklient/cloud/errors/limit_count_in_zone_exception.rb +23 -0
- data/lib/saklient/cloud/errors/limit_memory_in_account_exception.rb +23 -0
- data/lib/saklient/cloud/errors/limit_size_in_account_exception.rb +23 -0
- data/lib/saklient/cloud/errors/missing_iso_image_exception.rb +23 -0
- data/lib/saklient/cloud/errors/missing_param_exception.rb +23 -0
- data/lib/saklient/cloud/errors/must_be_of_same_zone_exception.rb +23 -0
- data/lib/saklient/cloud/errors/no_display_response_exception.rb +23 -0
- data/lib/saklient/cloud/errors/not_for_router_exception.rb +23 -0
- data/lib/saklient/cloud/errors/not_replicating_exception.rb +23 -0
- data/lib/saklient/cloud/errors/not_with_hybridconn_exception.rb +23 -0
- data/lib/saklient/cloud/errors/old_storage_plan_exception.rb +23 -0
- data/lib/saklient/cloud/errors/operation_failure_exception.rb +23 -0
- data/lib/saklient/cloud/errors/operation_timeout_exception.rb +23 -0
- data/lib/saklient/cloud/errors/original_hash_mismatch_exception.rb +23 -0
- data/lib/saklient/cloud/errors/packet_filter_applying_exception.rb +23 -0
- data/lib/saklient/cloud/errors/packet_filter_version_mismatch_exception.rb +23 -0
- data/lib/saklient/cloud/errors/param_ip_not_found_exception.rb +23 -0
- data/lib/saklient/cloud/errors/param_res_not_found_exception.rb +23 -0
- data/lib/saklient/cloud/errors/payment_credit_card_exception.rb +23 -0
- data/lib/saklient/cloud/errors/payment_payment_exception.rb +23 -0
- data/lib/saklient/cloud/errors/payment_registration_exception.rb +23 -0
- data/lib/saklient/cloud/errors/payment_tel_certification_exception.rb +23 -0
- data/lib/saklient/cloud/errors/payment_unpayable_exception.rb +23 -0
- data/lib/saklient/cloud/errors/penalty_operation_exception.rb +23 -0
- data/lib/saklient/cloud/errors/replica_already_exists_exception.rb +23 -0
- data/lib/saklient/cloud/errors/replica_not_found_exception.rb +23 -0
- data/lib/saklient/cloud/errors/res_already_connected_exception.rb +23 -0
- data/lib/saklient/cloud/errors/res_already_disconnected_exception.rb +23 -0
- data/lib/saklient/cloud/errors/res_already_exists_exception.rb +23 -0
- data/lib/saklient/cloud/errors/res_used_in_zone_exception.rb +23 -0
- data/lib/saklient/cloud/errors/resource_path_not_found_exception.rb +23 -0
- data/lib/saklient/cloud/errors/run_out_of_ip_address_exception.rb +23 -0
- data/lib/saklient/cloud/errors/same_license_required_exception.rb +23 -0
- data/lib/saklient/cloud/errors/server_could_not_stop_exception.rb +23 -0
- data/lib/saklient/cloud/errors/server_is_cleaning_exception.rb +23 -0
- data/lib/saklient/cloud/errors/server_operation_failure_exception.rb +23 -0
- data/lib/saklient/cloud/errors/server_power_must_be_down_exception.rb +23 -0
- data/lib/saklient/cloud/errors/server_power_must_be_up_exception.rb +23 -0
- data/lib/saklient/cloud/errors/service_temporarily_unavailable_exception.rb +23 -0
- data/lib/saklient/cloud/errors/size_mismatch_exception.rb +23 -0
- data/lib/saklient/cloud/errors/snapshot_in_migration_exception.rb +23 -0
- data/lib/saklient/cloud/errors/still_creating_exception.rb +23 -0
- data/lib/saklient/cloud/errors/storage_abnormal_exception.rb +23 -0
- data/lib/saklient/cloud/errors/storage_operation_failure_exception.rb +23 -0
- data/lib/saklient/cloud/errors/switch_hybrid_connected_exception.rb +23 -0
- data/lib/saklient/cloud/errors/template_ftp_is_open_exception.rb +23 -0
- data/lib/saklient/cloud/errors/template_is_incomplete_exception.rb +23 -0
- data/lib/saklient/cloud/errors/too_many_request_exception.rb +23 -0
- data/lib/saklient/cloud/errors/unknown_exception.rb +23 -0
- data/lib/saklient/cloud/errors/unknown_os_type_exception.rb +23 -0
- data/lib/saklient/cloud/errors/unsupported_res_class_exception.rb +23 -0
- data/lib/saklient/cloud/errors/user_not_specified_exception.rb +23 -0
- data/lib/saklient/cloud/errors/vnc_proxy_request_failure_exception.rb +23 -0
- data/lib/saklient/cloud/models/model.rb +348 -0
- data/lib/saklient/cloud/models/model_appliance.rb +161 -0
- data/lib/saklient/cloud/models/model_archive.rb +207 -0
- data/lib/saklient/cloud/models/model_disk.rb +200 -0
- data/lib/saklient/cloud/models/model_disk_plan.rb +156 -0
- data/lib/saklient/cloud/models/model_icon.rb +178 -0
- data/lib/saklient/cloud/models/model_iface.rb +115 -0
- data/lib/saklient/cloud/models/model_ipv6_net.rb +106 -0
- data/lib/saklient/cloud/models/model_iso_image.rb +207 -0
- data/lib/saklient/cloud/models/model_router.rb +148 -0
- data/lib/saklient/cloud/models/model_router_plan.rb +106 -0
- data/lib/saklient/cloud/models/model_script.rb +178 -0
- data/lib/saklient/cloud/models/model_server.rb +237 -0
- data/lib/saklient/cloud/models/model_server_plan.rb +119 -0
- data/lib/saklient/cloud/models/model_swytch.rb +138 -0
- data/lib/saklient/cloud/models/query_params.rb +44 -0
- data/lib/saklient/cloud/product.rb +95 -0
- data/lib/saklient/cloud/resources/appliance.rb +551 -0
- data/lib/saklient/cloud/resources/archive.rb +861 -0
- data/lib/saklient/cloud/resources/disk.rb +802 -0
- data/lib/saklient/cloud/resources/disk_config.rb +353 -0
- data/lib/saklient/cloud/resources/disk_plan.rb +194 -0
- data/lib/saklient/cloud/resources/ftp_info.rb +93 -0
- data/lib/saklient/cloud/resources/icon.rb +268 -0
- data/lib/saklient/cloud/resources/iface.rb +329 -0
- data/lib/saklient/cloud/resources/ipv4_net.rb +275 -0
- data/lib/saklient/cloud/resources/ipv6_net.rb +238 -0
- data/lib/saklient/cloud/resources/iso_image.rb +666 -0
- data/lib/saklient/cloud/resources/resource.rb +287 -0
- data/lib/saklient/cloud/resources/router.rb +508 -0
- data/lib/saklient/cloud/resources/router_plan.rb +230 -0
- data/lib/saklient/cloud/resources/script.rb +554 -0
- data/lib/saklient/cloud/resources/server.rb +730 -0
- data/lib/saklient/cloud/resources/server_instance.rb +217 -0
- data/lib/saklient/cloud/resources/server_plan.rb +285 -0
- data/lib/saklient/cloud/resources/swytch.rb +521 -0
- data/lib/saklient/errors/exception_factory.rb +532 -0
- data/lib/saklient/errors/http_bad_gateway_exception.rb +21 -0
- data/lib/saklient/errors/http_bad_request_exception.rb +21 -0
- data/lib/saklient/errors/http_conflict_exception.rb +21 -0
- data/lib/saklient/errors/http_exception.rb +27 -0
- data/lib/saklient/errors/http_expectation_failed_exception.rb +21 -0
- data/lib/saklient/errors/http_failed_dependency_exception.rb +21 -0
- data/lib/saklient/errors/http_forbidden_exception.rb +21 -0
- data/lib/saklient/errors/http_gateway_timeout_exception.rb +21 -0
- data/lib/saklient/errors/http_gone_exception.rb +21 -0
- data/lib/saklient/errors/http_http_version_not_supported_exception.rb +21 -0
- data/lib/saklient/errors/http_insufficient_storage_exception.rb +21 -0
- data/lib/saklient/errors/http_internal_server_error_exception.rb +21 -0
- data/lib/saklient/errors/http_length_required_exception.rb +21 -0
- data/lib/saklient/errors/http_locked_exception.rb +21 -0
- data/lib/saklient/errors/http_method_not_allowed_exception.rb +21 -0
- data/lib/saklient/errors/http_not_acceptable_exception.rb +21 -0
- data/lib/saklient/errors/http_not_extended_exception.rb +21 -0
- data/lib/saklient/errors/http_not_found_exception.rb +21 -0
- data/lib/saklient/errors/http_not_implemented_exception.rb +21 -0
- data/lib/saklient/errors/http_payment_required_exception.rb +21 -0
- data/lib/saklient/errors/http_precondition_failed_exception.rb +21 -0
- data/lib/saklient/errors/http_proxy_authentication_required_exception.rb +21 -0
- data/lib/saklient/errors/http_request_entity_too_large_exception.rb +21 -0
- data/lib/saklient/errors/http_request_timeout_exception.rb +21 -0
- data/lib/saklient/errors/http_request_uri_too_long_exception.rb +21 -0
- data/lib/saklient/errors/http_requested_range_not_satisfiable_exception.rb +21 -0
- data/lib/saklient/errors/http_service_unavailable_exception.rb +21 -0
- data/lib/saklient/errors/http_unauthorized_exception.rb +21 -0
- data/lib/saklient/errors/http_unprocessable_entity_exception.rb +21 -0
- data/lib/saklient/errors/http_unsupported_media_type_exception.rb +21 -0
- data/lib/saklient/errors/http_upgrade_required_exception.rb +21 -0
- data/lib/saklient/errors/http_variant_also_negotiates_exception.rb +21 -0
- data/lib/saklient/errors/saklient_exception.rb +22 -0
- data/lib/saklient/util.rb +121 -0
- data/lib/saklient/version.rb +5 -0
- data/saklient.gemspec +24 -0
- data/spec/archive_spec.rb +141 -0
- data/spec/enum_spec.rb +24 -0
- data/spec/exception_spec.rb +25 -0
- data/spec/iso_image_spec.rb +172 -0
- data/spec/router_spec.rb +124 -0
- data/spec/server_spec.rb +261 -0
- data/spec/util_spec.rb +72 -0
- data/test-sshkey.txt +27 -0
- 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
|