saklient 0.0.2.7 → 0.0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3fc3dcacb443ef9fb88e18864b25b6e983233659
4
- data.tar.gz: 1cc5f3a9323e2634ca191c523bb0975c62b6ce4b
3
+ metadata.gz: 87140bb4c6fba13d581e1ea1837dd2b48624542c
4
+ data.tar.gz: c0688e1e5079d7703bf8b9d3b04bc59f3de2bf5c
5
5
  SHA512:
6
- metadata.gz: 8ee4c6080b8ea97b6fc138d99b51d83aaef7473d47efec2ac696869cc18e336c5a4a47fefc16ffd8de49c19af1a27bcaaa70f7d079a51686d5ae97f26e8d2230
7
- data.tar.gz: 13b55667084a18e62dc41441f751592da315998aba2975af3c9507589c51e5e7031fae5dfa4d5e3fd033673ecea8a32155fe6ac3889c76ac388f11267e390487
6
+ metadata.gz: bed1ad451d918a6f9f8bb2fc4817a6f7d689c48a52cc9b67d6878938ed4d23c2763890feb6f8f41e2dca1135ddd5c501085e226ba6f5d4388c8c82d80453dc95
7
+ data.tar.gz: 46e0560f5b18e870ed095eb0b77cff1a33c3fb95b223eb9707ec946f61dc6c2443406905e5299a712122564052d52ea3cc997376b83bfb7cfeed6d80d092de8f
@@ -73,7 +73,7 @@ module Saklient
73
73
 
74
74
  extra_headers = {
75
75
  'Content-Type' => 'application/x-www-form-urlencoded',
76
- 'User-Agent' => 'saklient.ruby ver-0.0.2.7 rev-3f3b3b7ce4b10e7ebcd77c17497763ba558bf424',
76
+ 'User-Agent' => 'saklient.ruby ver-0.0.2.8 rev-3b18f823b96ca9e1efbfa161fdf55b8aee1cecbf',
77
77
  'X-Requested-With' => 'XMLHttpRequest',
78
78
  'X-Sakura-HTTP-Method' => method,
79
79
  'X-Sakura-Error-Level' => 'warning',
@@ -0,0 +1,90 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../../util'
4
+ require_relative '../client'
5
+
6
+ module Saklient
7
+ module Cloud
8
+ module Resources
9
+
10
+ class Activity
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [Saklient::Cloud::Client]
16
+ attr_accessor :_client
17
+
18
+ # @private
19
+ # @return [String]
20
+ attr_accessor :_source_id
21
+
22
+ # @private
23
+ # @return [String]
24
+ def _api_path_prefix
25
+ return nil
26
+ end
27
+
28
+ # @private
29
+ # @return [String]
30
+ def _api_path_suffix
31
+ return '/monitor'
32
+ end
33
+
34
+ # @private
35
+ # @param [String] atStr
36
+ # @param [any] data
37
+ # @return [void]
38
+ def _add_sample(atStr, data)
39
+ Saklient::Util::validate_type(atStr, 'String')
40
+ end
41
+
42
+ public
43
+
44
+ # @private
45
+ # @param [Saklient::Cloud::Client] client
46
+ def initialize(client)
47
+ Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
48
+ @_client = client
49
+ end
50
+
51
+ # @private
52
+ # @param [String] id
53
+ # @return [void]
54
+ def set_source_id(id)
55
+ Saklient::Util::validate_type(id, 'String')
56
+ @_source_id = id
57
+ end
58
+
59
+ # アクティビティを取得します.
60
+ #
61
+ # * @return アクティビティ
62
+ #
63
+ # @private
64
+ # @param [NativeDate] startDate
65
+ # @param [NativeDate] endDate
66
+ # @return [Activity]
67
+ def _fetch(startDate = nil, endDate = nil)
68
+ Saklient::Util::validate_type(startDate, 'NativeDate')
69
+ Saklient::Util::validate_type(endDate, 'NativeDate')
70
+ query = {}
71
+ query[:Start] = Saklient::Util::date2str(startDate) if !(startDate).nil?
72
+ query[:End] = Saklient::Util::date2str(endDate) if !(endDate).nil?
73
+ path = _api_path_prefix + '/' + Saklient::Util::url_encode(@_source_id) + _api_path_suffix
74
+ data = @_client.request('GET', path)
75
+ return nil if (data).nil?
76
+ data = data[:Data]
77
+ return nil if (data).nil?
78
+ dates = data.keys.map{|k| k.to_s}
79
+ dates = dates.sort()
80
+ for date in dates
81
+ _add_sample(date, data[date.to_sym])
82
+ end
83
+ return self
84
+ end
85
+
86
+ end
87
+
88
+ end
89
+ end
90
+ end
@@ -7,6 +7,7 @@ require_relative 'icon'
7
7
  require_relative 'disk_plan'
8
8
  require_relative 'server'
9
9
  require_relative 'disk_config'
10
+ require_relative 'disk_activity'
10
11
  require_relative '../enums/eavailability'
11
12
  require_relative '../enums/edisk_connection'
12
13
  require_relative '../enums/estorage_class'
@@ -116,6 +117,29 @@ module Saklient
116
117
  return _reload
117
118
  end
118
119
 
120
+ protected
121
+
122
+ # @private
123
+ # @return [DiskActivity]
124
+ attr_accessor :_activity
125
+
126
+ public
127
+
128
+ # @private
129
+ # @return [DiskActivity]
130
+ def get_activity
131
+ return @_activity
132
+ end
133
+
134
+ # アクティビティ
135
+ #
136
+ # @return [DiskActivity]
137
+ attr_reader :activity
138
+
139
+ def activity
140
+ get_activity
141
+ end
142
+
119
143
  # @private
120
144
  # @param [Saklient::Cloud::Client] client
121
145
  # @param [any] obj
@@ -124,6 +148,7 @@ module Saklient
124
148
  super(client)
125
149
  Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
126
150
  Saklient::Util::validate_type(wrapped, 'bool')
151
+ @_activity = Saklient::Cloud::Resources::DiskActivity.new(client)
127
152
  api_deserialize(obj, wrapped)
128
153
  end
129
154
 
@@ -223,6 +248,7 @@ module Saklient
223
248
  # @return [void]
224
249
  def _on_after_api_deserialize(r, root)
225
250
  if !(r).nil?
251
+ @_activity.set_source_id(_id)
226
252
  if !r.nil? && r.key?(:SourceDisk)
227
253
  s = r[:SourceDisk]
228
254
  if !(s).nil?
@@ -0,0 +1,72 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative 'activity'
4
+ require_relative 'disk_activity_sample'
5
+
6
+ module Saklient
7
+ module Cloud
8
+ module Resources
9
+
10
+ class DiskActivity < Saklient::Cloud::Resources::Activity
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [Array<DiskActivitySample>]
16
+ attr_accessor :_samples
17
+
18
+ # @private
19
+ # @return [Array<DiskActivitySample>]
20
+ def get_samples
21
+ return @_samples
22
+ end
23
+
24
+ public
25
+
26
+ # サンプル列
27
+ #
28
+ # @return [Array<DiskActivitySample>]
29
+ attr_reader :samples
30
+
31
+ def samples
32
+ get_samples
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [String]
39
+ def _api_path_prefix
40
+ return '/disk'
41
+ end
42
+
43
+ # @private
44
+ # @param [String] atStr
45
+ # @param [any] data
46
+ # @return [void]
47
+ def _add_sample(atStr, data)
48
+ Saklient::Util::validate_type(atStr, 'String')
49
+ @_samples << Saklient::Cloud::Resources::DiskActivitySample.new(atStr, data)
50
+ end
51
+
52
+ public
53
+
54
+ # アクティビティを取得します.
55
+ #
56
+ # * @return アクティビティ
57
+ #
58
+ # @param [NativeDate] startDate
59
+ # @param [NativeDate] endDate
60
+ # @return [DiskActivity]
61
+ def fetch(startDate = nil, endDate = nil)
62
+ Saklient::Util::validate_type(startDate, 'NativeDate')
63
+ Saklient::Util::validate_type(endDate, 'NativeDate')
64
+ @_samples = []
65
+ return _fetch(startDate, endDate)
66
+ end
67
+
68
+ end
69
+
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,129 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../../util'
4
+
5
+ module Saklient
6
+ module Cloud
7
+ module Resources
8
+
9
+ # @private
10
+ class DiskActivitySample
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [NativeDate]
16
+ attr_accessor :_at
17
+
18
+ public
19
+
20
+ # @private
21
+ # @return [NativeDate]
22
+ def get_at
23
+ return @_at
24
+ end
25
+
26
+ # 記録日時
27
+ #
28
+ # @return [NativeDate]
29
+ attr_reader :at
30
+
31
+ def at
32
+ get_at
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [bool]
39
+ attr_accessor :_is_available
40
+
41
+ public
42
+
43
+ # @private
44
+ # @return [bool]
45
+ def get_is_available
46
+ return @_is_available
47
+ end
48
+
49
+ # 有効な値のとき真
50
+ #
51
+ # @return [bool]
52
+ attr_reader :is_available
53
+
54
+ def is_available
55
+ get_is_available
56
+ end
57
+
58
+ protected
59
+
60
+ # @private
61
+ # @return [Float]
62
+ attr_accessor :_write
63
+
64
+ public
65
+
66
+ # @private
67
+ # @return [Float]
68
+ def get_write
69
+ return @_write
70
+ end
71
+
72
+ # ライト[BPS]
73
+ #
74
+ # @return [Float]
75
+ attr_reader :write
76
+
77
+ def write
78
+ get_write
79
+ end
80
+
81
+ protected
82
+
83
+ # @private
84
+ # @return [Float]
85
+ attr_accessor :_read
86
+
87
+ public
88
+
89
+ # @private
90
+ # @return [Float]
91
+ def get_read
92
+ return @_read
93
+ end
94
+
95
+ # リード[BPS]
96
+ #
97
+ # @return [Float]
98
+ attr_reader :read
99
+
100
+ def read
101
+ get_read
102
+ end
103
+
104
+ # @param [String] atStr
105
+ # @param [any] data
106
+ def initialize(atStr, data)
107
+ Saklient::Util::validate_type(atStr, 'String')
108
+ @_at = Saklient::Util::str2date(atStr)
109
+ @_is_available = true
110
+ v = nil
111
+ v = data[:Write]
112
+ if (v).nil?
113
+ @_is_available = false
114
+ else
115
+ @_write = v
116
+ end
117
+ v = data[:Read]
118
+ if (v).nil?
119
+ @_is_available = false
120
+ else
121
+ @_read = v
122
+ end
123
+ end
124
+
125
+ end
126
+
127
+ end
128
+ end
129
+ end
@@ -4,6 +4,7 @@ require_relative '../../errors/saklient_exception'
4
4
  require_relative '../client'
5
5
  require_relative 'resource'
6
6
  require_relative 'swytch'
7
+ require_relative 'iface_activity'
7
8
 
8
9
  module Saklient
9
10
  module Cloud
@@ -85,6 +86,29 @@ module Saklient
85
86
  return _reload
86
87
  end
87
88
 
89
+ protected
90
+
91
+ # @private
92
+ # @return [IfaceActivity]
93
+ attr_accessor :_activity
94
+
95
+ public
96
+
97
+ # @private
98
+ # @return [IfaceActivity]
99
+ def get_activity
100
+ return @_activity
101
+ end
102
+
103
+ # アクティビティ
104
+ #
105
+ # @return [IfaceActivity]
106
+ attr_reader :activity
107
+
108
+ def activity
109
+ get_activity
110
+ end
111
+
88
112
  # @private
89
113
  # @param [Saklient::Cloud::Client] client
90
114
  # @param [any] obj
@@ -93,9 +117,22 @@ module Saklient
93
117
  super(client)
94
118
  Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
95
119
  Saklient::Util::validate_type(wrapped, 'bool')
120
+ @_activity = Saklient::Cloud::Resources::IfaceActivity.new(client)
96
121
  api_deserialize(obj, wrapped)
97
122
  end
98
123
 
124
+ protected
125
+
126
+ # @private
127
+ # @param [any] r
128
+ # @param [any] root
129
+ # @return [void]
130
+ def _on_after_api_deserialize(r, root)
131
+ @_activity.set_source_id(_id) if !(r).nil?
132
+ end
133
+
134
+ public
135
+
99
136
  # スイッチに接続します.
100
137
  #
101
138
  # @param [Swytch] swytch 接続先のスイッチ.
@@ -0,0 +1,78 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative 'activity'
4
+ require_relative 'iface_activity_sample'
5
+
6
+ module Saklient
7
+ module Cloud
8
+ module Resources
9
+
10
+ class IfaceActivity < Saklient::Cloud::Resources::Activity
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [Array<IfaceActivitySample>]
16
+ attr_accessor :_samples
17
+
18
+ # @private
19
+ # @return [Array<IfaceActivitySample>]
20
+ def get_samples
21
+ return @_samples
22
+ end
23
+
24
+ public
25
+
26
+ # サンプル列
27
+ #
28
+ # @return [Array<IfaceActivitySample>]
29
+ attr_reader :samples
30
+
31
+ def samples
32
+ get_samples
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [String]
39
+ def _api_path_prefix
40
+ return '/interface'
41
+ end
42
+
43
+ # @private
44
+ # @return [String]
45
+ def _api_path_suffix
46
+ return '/monitor'
47
+ end
48
+
49
+ # @private
50
+ # @param [String] atStr
51
+ # @param [any] data
52
+ # @return [void]
53
+ def _add_sample(atStr, data)
54
+ Saklient::Util::validate_type(atStr, 'String')
55
+ @_samples << Saklient::Cloud::Resources::IfaceActivitySample.new(atStr, data)
56
+ end
57
+
58
+ public
59
+
60
+ # アクティビティを取得します.
61
+ #
62
+ # * @return アクティビティ
63
+ #
64
+ # @param [NativeDate] startDate
65
+ # @param [NativeDate] endDate
66
+ # @return [IfaceActivity]
67
+ def fetch(startDate = nil, endDate = nil)
68
+ Saklient::Util::validate_type(startDate, 'NativeDate')
69
+ Saklient::Util::validate_type(endDate, 'NativeDate')
70
+ @_samples = []
71
+ return _fetch(startDate, endDate)
72
+ end
73
+
74
+ end
75
+
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,129 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../../util'
4
+
5
+ module Saklient
6
+ module Cloud
7
+ module Resources
8
+
9
+ # @private
10
+ class IfaceActivitySample
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [NativeDate]
16
+ attr_accessor :_at
17
+
18
+ public
19
+
20
+ # @private
21
+ # @return [NativeDate]
22
+ def get_at
23
+ return @_at
24
+ end
25
+
26
+ # 記録日時
27
+ #
28
+ # @return [NativeDate]
29
+ attr_reader :at
30
+
31
+ def at
32
+ get_at
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [bool]
39
+ attr_accessor :_is_available
40
+
41
+ public
42
+
43
+ # @private
44
+ # @return [bool]
45
+ def get_is_available
46
+ return @_is_available
47
+ end
48
+
49
+ # 有効な値のとき真
50
+ #
51
+ # @return [bool]
52
+ attr_reader :is_available
53
+
54
+ def is_available
55
+ get_is_available
56
+ end
57
+
58
+ protected
59
+
60
+ # @private
61
+ # @return [Float]
62
+ attr_accessor :_send
63
+
64
+ public
65
+
66
+ # @private
67
+ # @return [Float]
68
+ def get_send
69
+ return @_send
70
+ end
71
+
72
+ # 送信[byte/sec]
73
+ #
74
+ # @return [Float]
75
+ attr_reader :send
76
+
77
+ def send
78
+ get_send
79
+ end
80
+
81
+ protected
82
+
83
+ # @private
84
+ # @return [Float]
85
+ attr_accessor :_receive
86
+
87
+ public
88
+
89
+ # @private
90
+ # @return [Float]
91
+ def get_receive
92
+ return @_receive
93
+ end
94
+
95
+ # 受信[byte/sec]
96
+ #
97
+ # @return [Float]
98
+ attr_reader :receive
99
+
100
+ def receive
101
+ get_receive
102
+ end
103
+
104
+ # @param [String] atStr
105
+ # @param [any] data
106
+ def initialize(atStr, data)
107
+ Saklient::Util::validate_type(atStr, 'String')
108
+ @_at = Saklient::Util::str2date(atStr)
109
+ @_is_available = true
110
+ v = nil
111
+ v = data[:Send]
112
+ if (v).nil?
113
+ @_is_available = false
114
+ else
115
+ @_send = v
116
+ end
117
+ v = data[:Receive]
118
+ if (v).nil?
119
+ @_is_available = false
120
+ else
121
+ @_receive = v
122
+ end
123
+ end
124
+
125
+ end
126
+
127
+ end
128
+ end
129
+ end
@@ -71,7 +71,7 @@ module Saklient
71
71
  i1 = Saklient::Util::ip2long(@_last)
72
72
  while i <= i1 do
73
73
  ret << Saklient::Util::long2ip(i)
74
- i += 1
74
+ i+=1
75
75
  end
76
76
  return ret
77
77
  end
@@ -92,11 +92,11 @@ module Saklient
92
92
  first = Saklient::Util::get_by_path_any([obj], ['Min', 'min'])
93
93
  @_first = nil
94
94
  @_first = first if !(first).nil?
95
- @_first = nil if @_first == ''
95
+ @_first = nil if !(@_first).nil? && @_first == ''
96
96
  last = Saklient::Util::get_by_path_any([obj], ['Max', 'max'])
97
97
  @_last = nil
98
98
  @_last = last if !(last).nil?
99
- @_last = nil if @_last == ''
99
+ @_last = nil if !(@_last).nil? && @_last == ''
100
100
  end
101
101
 
102
102
  end
@@ -271,6 +271,8 @@ module Saklient
271
271
  @_response_expected = nil
272
272
  @_response_expected = (responseExpected).to_s().to_i(10) if !(responseExpected).nil?
273
273
  @_response_expected = nil if @_response_expected == 0
274
+ @_active_connections = 0
275
+ @_status = nil
274
276
  end
275
277
 
276
278
  # @return [any]
@@ -239,7 +239,7 @@ module Saklient
239
239
  # @return [LoadBalancer]
240
240
  def reload_status
241
241
  result = request_retry('GET', _api_path + '/' + Saklient::Util::url_encode(_id) + '/status')
242
- if !result.nil? && result.key?(:LoadBalancer)
242
+ if !(result).nil? && (!result.nil? && result.key?(:LoadBalancer))
243
243
  vips = result[:LoadBalancer]
244
244
  for vipDyn in vips
245
245
  vipStr = vipDyn[:VirtualIPAddress]
@@ -7,6 +7,7 @@ require_relative 'icon'
7
7
  require_relative 'swytch'
8
8
  require_relative 'ipv4_net'
9
9
  require_relative 'ipv6_net'
10
+ require_relative 'router_activity'
10
11
  require_relative '../models/model_swytch'
11
12
 
12
13
  module Saklient
@@ -94,6 +95,29 @@ module Saklient
94
95
  return _reload
95
96
  end
96
97
 
98
+ protected
99
+
100
+ # @private
101
+ # @return [RouterActivity]
102
+ attr_accessor :_activity
103
+
104
+ public
105
+
106
+ # @private
107
+ # @return [RouterActivity]
108
+ def get_activity
109
+ return @_activity
110
+ end
111
+
112
+ # アクティビティ
113
+ #
114
+ # @return [RouterActivity]
115
+ attr_reader :activity
116
+
117
+ def activity
118
+ get_activity
119
+ end
120
+
97
121
  # @private
98
122
  # @param [Saklient::Cloud::Client] client
99
123
  # @param [any] obj
@@ -102,9 +126,22 @@ module Saklient
102
126
  super(client)
103
127
  Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
104
128
  Saklient::Util::validate_type(wrapped, 'bool')
129
+ @_activity = Saklient::Cloud::Resources::RouterActivity.new(client)
105
130
  api_deserialize(obj, wrapped)
106
131
  end
107
132
 
133
+ protected
134
+
135
+ # @private
136
+ # @param [any] r
137
+ # @param [any] root
138
+ # @return [void]
139
+ def _on_after_api_deserialize(r, root)
140
+ @_activity.set_source_id(_id) if !(r).nil?
141
+ end
142
+
143
+ public
144
+
108
145
  # 作成中のルータが利用可能になるまで待機します.
109
146
  #
110
147
  # @private
@@ -0,0 +1,72 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative 'activity'
4
+ require_relative 'router_activity_sample'
5
+
6
+ module Saklient
7
+ module Cloud
8
+ module Resources
9
+
10
+ class RouterActivity < Saklient::Cloud::Resources::Activity
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [Array<RouterActivitySample>]
16
+ attr_accessor :_samples
17
+
18
+ # @private
19
+ # @return [Array<RouterActivitySample>]
20
+ def get_samples
21
+ return @_samples
22
+ end
23
+
24
+ public
25
+
26
+ # サンプル列
27
+ #
28
+ # @return [Array<RouterActivitySample>]
29
+ attr_reader :samples
30
+
31
+ def samples
32
+ get_samples
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [String]
39
+ def _api_path_prefix
40
+ return '/internet'
41
+ end
42
+
43
+ # @private
44
+ # @param [String] atStr
45
+ # @param [any] data
46
+ # @return [void]
47
+ def _add_sample(atStr, data)
48
+ Saklient::Util::validate_type(atStr, 'String')
49
+ @_samples << Saklient::Cloud::Resources::RouterActivitySample.new(atStr, data)
50
+ end
51
+
52
+ public
53
+
54
+ # アクティビティを取得します.
55
+ #
56
+ # * @return アクティビティ
57
+ #
58
+ # @param [NativeDate] startDate
59
+ # @param [NativeDate] endDate
60
+ # @return [RouterActivity]
61
+ def fetch(startDate = nil, endDate = nil)
62
+ Saklient::Util::validate_type(startDate, 'NativeDate')
63
+ Saklient::Util::validate_type(endDate, 'NativeDate')
64
+ @_samples = []
65
+ return _fetch(startDate, endDate)
66
+ end
67
+
68
+ end
69
+
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,129 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../../util'
4
+
5
+ module Saklient
6
+ module Cloud
7
+ module Resources
8
+
9
+ # @private
10
+ class RouterActivitySample
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [NativeDate]
16
+ attr_accessor :_at
17
+
18
+ public
19
+
20
+ # @private
21
+ # @return [NativeDate]
22
+ def get_at
23
+ return @_at
24
+ end
25
+
26
+ # 記録日時
27
+ #
28
+ # @return [NativeDate]
29
+ attr_reader :at
30
+
31
+ def at
32
+ get_at
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [bool]
39
+ attr_accessor :_is_available
40
+
41
+ public
42
+
43
+ # @private
44
+ # @return [bool]
45
+ def get_is_available
46
+ return @_is_available
47
+ end
48
+
49
+ # 有効な値のとき真
50
+ #
51
+ # @return [bool]
52
+ attr_reader :is_available
53
+
54
+ def is_available
55
+ get_is_available
56
+ end
57
+
58
+ protected
59
+
60
+ # @private
61
+ # @return [Float]
62
+ attr_accessor :_outgoing
63
+
64
+ public
65
+
66
+ # @private
67
+ # @return [Float]
68
+ def get_outgoing
69
+ return @_outgoing
70
+ end
71
+
72
+ # 送信[BPS]
73
+ #
74
+ # @return [Float]
75
+ attr_reader :outgoing
76
+
77
+ def outgoing
78
+ get_outgoing
79
+ end
80
+
81
+ protected
82
+
83
+ # @private
84
+ # @return [Float]
85
+ attr_accessor :_incoming
86
+
87
+ public
88
+
89
+ # @private
90
+ # @return [Float]
91
+ def get_incoming
92
+ return @_incoming
93
+ end
94
+
95
+ # 受信[BPS]
96
+ #
97
+ # @return [Float]
98
+ attr_reader :incoming
99
+
100
+ def incoming
101
+ get_incoming
102
+ end
103
+
104
+ # @param [String] atStr
105
+ # @param [any] data
106
+ def initialize(atStr, data)
107
+ Saklient::Util::validate_type(atStr, 'String')
108
+ @_at = Saklient::Util::str2date(atStr)
109
+ @_is_available = true
110
+ v = nil
111
+ v = data[:Out]
112
+ if (v).nil?
113
+ @_is_available = false
114
+ else
115
+ @_outgoing = v
116
+ end
117
+ v = data[:In]
118
+ if (v).nil?
119
+ @_is_available = false
120
+ else
121
+ @_incoming = v
122
+ end
123
+ end
124
+
125
+ end
126
+
127
+ end
128
+ end
129
+ end
@@ -9,6 +9,7 @@ require_relative 'iface'
9
9
  require_relative 'server_plan'
10
10
  require_relative 'server_instance'
11
11
  require_relative 'iso_image'
12
+ require_relative 'server_activity'
12
13
  require_relative '../enums/eserver_instance_status'
13
14
  require_relative '../enums/eavailability'
14
15
  require_relative '../models/model_disk'
@@ -114,6 +115,29 @@ module Saklient
114
115
  return _reload
115
116
  end
116
117
 
118
+ protected
119
+
120
+ # @private
121
+ # @return [ServerActivity]
122
+ attr_accessor :_activity
123
+
124
+ public
125
+
126
+ # @private
127
+ # @return [ServerActivity]
128
+ def get_activity
129
+ return @_activity
130
+ end
131
+
132
+ # アクティビティ
133
+ #
134
+ # @return [ServerActivity]
135
+ attr_reader :activity
136
+
137
+ def activity
138
+ get_activity
139
+ end
140
+
117
141
  # @private
118
142
  # @param [Saklient::Cloud::Client] client
119
143
  # @param [any] obj
@@ -122,9 +146,22 @@ module Saklient
122
146
  super(client)
123
147
  Saklient::Util::validate_type(client, 'Saklient::Cloud::Client')
124
148
  Saklient::Util::validate_type(wrapped, 'bool')
149
+ @_activity = Saklient::Cloud::Resources::ServerActivity.new(client)
125
150
  api_deserialize(obj, wrapped)
126
151
  end
127
152
 
153
+ protected
154
+
155
+ # @private
156
+ # @param [any] r
157
+ # @param [any] root
158
+ # @return [void]
159
+ def _on_after_api_deserialize(r, root)
160
+ @_activity.set_source_id(_id) if !(r).nil?
161
+ end
162
+
163
+ public
164
+
128
165
  # サーバが起動しているときtrueを返します.
129
166
  #
130
167
  # @return [bool]
@@ -0,0 +1,72 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative 'activity'
4
+ require_relative 'server_activity_sample'
5
+
6
+ module Saklient
7
+ module Cloud
8
+ module Resources
9
+
10
+ class ServerActivity < Saklient::Cloud::Resources::Activity
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [Array<ServerActivitySample>]
16
+ attr_accessor :_samples
17
+
18
+ # @private
19
+ # @return [Array<ServerActivitySample>]
20
+ def get_samples
21
+ return @_samples
22
+ end
23
+
24
+ public
25
+
26
+ # サンプル列
27
+ #
28
+ # @return [Array<ServerActivitySample>]
29
+ attr_reader :samples
30
+
31
+ def samples
32
+ get_samples
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [String]
39
+ def _api_path_prefix
40
+ return '/server'
41
+ end
42
+
43
+ # @private
44
+ # @param [String] atStr
45
+ # @param [any] data
46
+ # @return [void]
47
+ def _add_sample(atStr, data)
48
+ Saklient::Util::validate_type(atStr, 'String')
49
+ @_samples << Saklient::Cloud::Resources::ServerActivitySample.new(atStr, data)
50
+ end
51
+
52
+ public
53
+
54
+ # アクティビティを取得します.
55
+ #
56
+ # * @return アクティビティ
57
+ #
58
+ # @param [NativeDate] startDate
59
+ # @param [NativeDate] endDate
60
+ # @return [ServerActivity]
61
+ def fetch(startDate = nil, endDate = nil)
62
+ Saklient::Util::validate_type(startDate, 'NativeDate')
63
+ Saklient::Util::validate_type(endDate, 'NativeDate')
64
+ @_samples = []
65
+ return _fetch(startDate, endDate)
66
+ end
67
+
68
+ end
69
+
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,98 @@
1
+ # -*- encoding: UTF-8 -*-
2
+
3
+ require_relative '../../util'
4
+
5
+ module Saklient
6
+ module Cloud
7
+ module Resources
8
+
9
+ # @private
10
+ class ServerActivitySample
11
+
12
+ protected
13
+
14
+ # @private
15
+ # @return [NativeDate]
16
+ attr_accessor :_at
17
+
18
+ public
19
+
20
+ # @private
21
+ # @return [NativeDate]
22
+ def get_at
23
+ return @_at
24
+ end
25
+
26
+ # 記録日時
27
+ #
28
+ # @return [NativeDate]
29
+ attr_reader :at
30
+
31
+ def at
32
+ get_at
33
+ end
34
+
35
+ protected
36
+
37
+ # @private
38
+ # @return [bool]
39
+ attr_accessor :_is_available
40
+
41
+ public
42
+
43
+ # @private
44
+ # @return [bool]
45
+ def get_is_available
46
+ return @_is_available
47
+ end
48
+
49
+ # 有効な値のとき真
50
+ #
51
+ # @return [bool]
52
+ attr_reader :is_available
53
+
54
+ def is_available
55
+ get_is_available
56
+ end
57
+
58
+ protected
59
+
60
+ # @private
61
+ # @return [Float]
62
+ attr_accessor :_cpu_time
63
+
64
+ public
65
+
66
+ # @private
67
+ # @return [Float]
68
+ def get_cpu_time
69
+ return @_cpu_time
70
+ end
71
+
72
+ # CPU時間
73
+ #
74
+ # @return [Float]
75
+ attr_reader :cpu_time
76
+
77
+ def cpu_time
78
+ get_cpu_time
79
+ end
80
+
81
+ # @param [String] atStr
82
+ # @param [any] data
83
+ def initialize(atStr, data)
84
+ Saklient::Util::validate_type(atStr, 'String')
85
+ @_at = Saklient::Util::str2date(atStr)
86
+ @_is_available = false
87
+ v = data['CPU-TIME'.to_sym]
88
+ if !(v).nil?
89
+ @_is_available = true
90
+ @_cpu_time = v
91
+ end
92
+ end
93
+
94
+ end
95
+
96
+ end
97
+ end
98
+ end
@@ -250,7 +250,7 @@ module Saklient
250
250
  return nil if nets.length < 1
251
251
  used = _used_ipv4_address_hash
252
252
  ret = []
253
- for ip in nets[0].range.as_array
253
+ for ip in nets[0].get_range.get_as_array
254
254
  ret << ip if !(!used.nil? && used.key?(ip.to_sym))
255
255
  end
256
256
  return ret.sort()
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: UTF-8 -*-
2
2
 
3
3
  module Saklient
4
- VERSION = "0.0.2.7"
4
+ VERSION = "0.0.2.8"
5
5
  end
@@ -8,8 +8,7 @@ describe 'LoadBalancer' do
8
8
 
9
9
 
10
10
 
11
- TESTS_CONFIG_READYMADE_LB_ID = nil #'112600809060'
12
- TESTS_CONFIG_READYMADE_SWYTCH_ID = '112500447075' #'112600553094'
11
+ TESTS_CONFIG_READYMADE_LB_ID = nil
13
12
 
14
13
  before do
15
14
 
@@ -56,9 +55,20 @@ describe 'LoadBalancer' do
56
55
 
57
56
  # search a switch
58
57
  puts 'searching a swytch...'
59
- swytch = @api.swytch.get_by_id(TESTS_CONFIG_READYMADE_SWYTCH_ID)
60
- # expect(swytches.length).to be > 0
61
- # swytch = swytches[0]
58
+ swytches = @api.swytch.with_name_like('saklient-lb-attached').limit(1).find
59
+ if 0 < swytches.length
60
+ swytch = swytches[0]
61
+ else
62
+ puts 'ルータ+スイッチを作成しています...'
63
+ router = @api.router.create
64
+ router.name = 'saklient-lb-attached'
65
+ router.band_width_mbps = 100
66
+ router.network_mask_len = 28
67
+ router.save
68
+ puts 'ルータ+スイッチの作成完了を待機しています...'
69
+ fail 'ルータが正常に作成されません' if !router.sleep_while_creating
70
+ swytch = router.get_swytch
71
+ end
62
72
  expect(swytch).to be_an_instance_of Saklient::Cloud::Resources::Swytch
63
73
  expect(swytch.ipv4_nets.length).to be > 0
64
74
  net = swytch.ipv4_nets[0]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saklient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.7
4
+ version: 0.0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - townewgokgok
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-27 00:00:00.000000000 Z
11
+ date: 2015-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -188,15 +188,20 @@ files:
188
188
  - lib/saklient/cloud/models/model_swytch.rb
189
189
  - lib/saklient/cloud/models/query_params.rb
190
190
  - lib/saklient/cloud/product.rb
191
+ - lib/saklient/cloud/resources/activity.rb
191
192
  - lib/saklient/cloud/resources/appliance.rb
192
193
  - lib/saklient/cloud/resources/archive.rb
193
194
  - lib/saklient/cloud/resources/bridge.rb
194
195
  - lib/saklient/cloud/resources/disk.rb
196
+ - lib/saklient/cloud/resources/disk_activity.rb
197
+ - lib/saklient/cloud/resources/disk_activity_sample.rb
195
198
  - lib/saklient/cloud/resources/disk_config.rb
196
199
  - lib/saklient/cloud/resources/disk_plan.rb
197
200
  - lib/saklient/cloud/resources/ftp_info.rb
198
201
  - lib/saklient/cloud/resources/icon.rb
199
202
  - lib/saklient/cloud/resources/iface.rb
203
+ - lib/saklient/cloud/resources/iface_activity.rb
204
+ - lib/saklient/cloud/resources/iface_activity_sample.rb
200
205
  - lib/saklient/cloud/resources/ipv4_net.rb
201
206
  - lib/saklient/cloud/resources/ipv4_range.rb
202
207
  - lib/saklient/cloud/resources/ipv6_net.rb
@@ -209,9 +214,13 @@ files:
209
214
  - lib/saklient/cloud/resources/region.rb
210
215
  - lib/saklient/cloud/resources/resource.rb
211
216
  - lib/saklient/cloud/resources/router.rb
217
+ - lib/saklient/cloud/resources/router_activity.rb
218
+ - lib/saklient/cloud/resources/router_activity_sample.rb
212
219
  - lib/saklient/cloud/resources/router_plan.rb
213
220
  - lib/saklient/cloud/resources/script.rb
214
221
  - lib/saklient/cloud/resources/server.rb
222
+ - lib/saklient/cloud/resources/server_activity.rb
223
+ - lib/saklient/cloud/resources/server_activity_sample.rb
215
224
  - lib/saklient/cloud/resources/server_instance.rb
216
225
  - lib/saklient/cloud/resources/server_plan.rb
217
226
  - lib/saklient/cloud/resources/swytch.rb
@@ -257,7 +266,6 @@ files:
257
266
  - spec/bridge_spec.rb
258
267
  - spec/enum_spec.rb
259
268
  - spec/exception_spec.rb
260
- - spec/ipv4net_spec.rb
261
269
  - spec/iso_image_spec.rb
262
270
  - spec/license_spec.rb
263
271
  - spec/loadbalancer_spec.rb
@@ -295,7 +303,6 @@ test_files:
295
303
  - spec/bridge_spec.rb
296
304
  - spec/enum_spec.rb
297
305
  - spec/exception_spec.rb
298
- - spec/ipv4net_spec.rb
299
306
  - spec/iso_image_spec.rb
300
307
  - spec/license_spec.rb
301
308
  - spec/loadbalancer_spec.rb
data/spec/ipv4net_spec.rb DELETED
@@ -1,61 +0,0 @@
1
- $: << File.dirname(__dir__) + '/lib'
2
- require 'saklient/util'
3
- require 'saklient/cloud/api'
4
-
5
- describe 'Ipv4Net' do
6
-
7
-
8
-
9
- before do
10
-
11
- # load config file
12
- root = File.dirname(__dir__)
13
- test_ok_file = root + '/testok'
14
- expect(File).to exist(test_ok_file)
15
- config_file = root + '/config.sh'
16
- expect(File).to exist(config_file)
17
- @config = {}
18
- fh = open(config_file)
19
- fh.each {|line|
20
- if /^\s*export\s+(\w+)\s*=\s*(.+?)\s*$/.match(line) then
21
- key = $1
22
- value = $2
23
- @config[key.to_sym] = value.gsub(/'([^']*)'|"([^"]*)"|\\(.)|(.)/) {|m|
24
- $1 || $2 || $3 || $4
25
- }
26
- end
27
- }
28
- fh.close
29
- expect(@config[:SACLOUD_TOKEN]).not_to be_empty #'SACLOUD_TOKEN must be defined in config.sh'
30
- expect(@config[:SACLOUD_SECRET]).not_to be_empty #'SACLOUD_SECRET must be defined in config.sh'
31
- #expect(@config[:SACLOUD_ZONE]).not_to be_empty #'SACLOUD_ZONE must be defined in config.sh'
32
-
33
- # authorize
34
- @api = Saklient::Cloud::API::authorize(@config[:SACLOUD_TOKEN], @config[:SACLOUD_SECRET])
35
- @api = @api.in_zone(@config[:SACLOUD_ZONE]) if @config[:SACLOUD_ZONE]
36
- expect(@api).to be_an_instance_of Saklient::Cloud::API
37
-
38
- end
39
-
40
-
41
-
42
- it 'should access objects by path' do
43
-
44
- @api.router.find.each{|router|
45
- router.get_swytch.ipv4_nets.each{|net|
46
- if !net.range.nil?
47
- p net.range.first
48
- p net.range.last
49
- # p net.range.as_array
50
- end
51
- }
52
- p router.get_swytch.collect_used_ipv4_addresses
53
- p router.get_swytch.collect_unused_ipv4_addresses
54
- p
55
- }
56
-
57
- end
58
-
59
-
60
-
61
- end