saklient 0.0.1.1 → 0.0.2.2

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.
@@ -5,7 +5,10 @@ require_relative '../client'
5
5
  require_relative 'resource'
6
6
  require_relative 'icon'
7
7
  require_relative 'iface'
8
+ require_relative 'swytch'
8
9
  require_relative '../enums/eappliance_class'
10
+ require_relative '../enums/eavailability'
11
+ require_relative '../enums/eserver_instance_status'
9
12
 
10
13
  module Saklient
11
14
  module Cloud
@@ -48,14 +51,48 @@ module Saklient
48
51
 
49
52
  # プラン
50
53
  #
54
+ # @return [Fixnum]
55
+ attr_accessor :m_plan_id
56
+
57
+ # インタフェース
58
+ #
51
59
  # @return [Array<Iface>]
52
60
  attr_accessor :m_ifaces
53
61
 
62
+ # 注釈
63
+ #
64
+ # @return [any]
65
+ attr_accessor :m_raw_annotation
66
+
67
+ # 設定の生データ
68
+ #
69
+ # @return [any]
70
+ attr_accessor :m_raw_settings
71
+
72
+ # @private
73
+ # @return [String]
74
+ attr_accessor :m_raw_settings_hash
75
+
76
+ # 起動状態 {Saklient::Cloud::Enums::EServerInstanceStatus}
77
+ #
78
+ # @return [String]
79
+ attr_accessor :m_status
80
+
54
81
  # サービスクラス
55
82
  #
56
83
  # @return [String]
57
84
  attr_accessor :m_service_class
58
85
 
86
+ # 有効状態 {Saklient::Cloud::Enums::EAvailability}
87
+ #
88
+ # @return [String]
89
+ attr_accessor :m_availability
90
+
91
+ # 接続先スイッチID
92
+ #
93
+ # @return [String]
94
+ attr_accessor :m_swytch_id
95
+
59
96
  # @private
60
97
  # @return [String]
61
98
  def _api_path
@@ -102,6 +139,19 @@ module Saklient
102
139
  return _reload
103
140
  end
104
141
 
142
+ # @private
143
+ # @return [String]
144
+ def true_class_name
145
+ return nil if (self.clazz).nil?
146
+ case (self.clazz)
147
+ when 'loadbalancer'
148
+ return 'LoadBalancer'
149
+ when 'vpcrouter'
150
+ return 'VpcRouter'
151
+ end
152
+ return nil
153
+ end
154
+
105
155
  # @private
106
156
  # @param [Saklient::Cloud::Client] client
107
157
  # @param [any] obj
@@ -113,6 +163,34 @@ module Saklient
113
163
  api_deserialize(obj, wrapped)
114
164
  end
115
165
 
166
+ protected
167
+
168
+ # @private
169
+ # @param [any] query
170
+ # @return [void]
171
+ def _on_before_save(query)
172
+ Saklient::Util::set_by_path(query, 'OriginalSettingsHash', get_raw_settings_hash)
173
+ end
174
+
175
+ public
176
+
177
+ # このルータが接続されているスイッチを取得します.
178
+ #
179
+ # @return [Swytch]
180
+ def get_swytch
181
+ model = Saklient::Util::create_class_instance('saklient.cloud.models.Model_Swytch', [@_client])
182
+ id = get_swytch_id
183
+ return model.get_by_id(id)
184
+ end
185
+
186
+ # アプライアンスの設定を反映します.
187
+ #
188
+ # @return [Appliance] this
189
+ def apply
190
+ @_client.request('PUT', _api_path + '/' + Saklient::Util::url_encode(_id) + '/config')
191
+ return self
192
+ end
193
+
116
194
  # アプライアンスを起動します.
117
195
  #
118
196
  # @return [Appliance] this
@@ -145,8 +223,65 @@ module Saklient
145
223
  return self
146
224
  end
147
225
 
226
+ # 作成中のアプライアンスが利用可能になるまで待機します.
227
+ #
228
+ # @param [Fixnum] timeoutSec
229
+ # @return [bool] 成功時はtrue, タイムアウトやエラーによる失敗時はfalseを返します.
230
+ def sleep_while_creating(timeoutSec = 600)
231
+ Saklient::Util::validate_type(timeoutSec, 'Fixnum')
232
+ step = 10
233
+ while 0 < timeoutSec do
234
+ reload
235
+ a = get_availability
236
+ return true if a == Saklient::Cloud::Enums::EAvailability::available
237
+ timeoutSec = 0 if a != Saklient::Cloud::Enums::EAvailability::migrating
238
+ timeoutSec -= step
239
+ sleep(step) if 0 < timeoutSec
240
+ end
241
+ return false
242
+ end
243
+
244
+ # アプライアンスが起動するまで待機します.
245
+ #
246
+ # @param [Fixnum] timeoutSec
247
+ # @return [bool]
248
+ def sleep_until_up(timeoutSec = 600)
249
+ Saklient::Util::validate_type(timeoutSec, 'Fixnum')
250
+ return sleep_until(Saklient::Cloud::Enums::EServerInstanceStatus::up, timeoutSec)
251
+ end
252
+
253
+ # アプライアンスが停止するまで待機します.
254
+ #
255
+ # @param [Fixnum] timeoutSec
256
+ # @return [bool] 成功時はtrue, タイムアウトやエラーによる失敗時はfalseを返します.
257
+ def sleep_until_down(timeoutSec = 600)
258
+ Saklient::Util::validate_type(timeoutSec, 'Fixnum')
259
+ return sleep_until(Saklient::Cloud::Enums::EServerInstanceStatus::down, timeoutSec)
260
+ end
261
+
148
262
  protected
149
263
 
264
+ # アプライアンスが指定のステータスに遷移するまで待機します.
265
+ #
266
+ # @private
267
+ # @param [String] status
268
+ # @param [Fixnum] timeoutSec
269
+ # @return [bool]
270
+ def sleep_until(status, timeoutSec = 600)
271
+ Saklient::Util::validate_type(status, 'String')
272
+ Saklient::Util::validate_type(timeoutSec, 'Fixnum')
273
+ step = 10
274
+ while 0 < timeoutSec do
275
+ reload
276
+ s = get_status
277
+ s = Saklient::Cloud::Enums::EServerInstanceStatus::down if (s).nil?
278
+ return true if s == status
279
+ timeoutSec -= step
280
+ sleep(step) if 0 < timeoutSec
281
+ end
282
+ return false
283
+ end
284
+
150
285
  # @return [bool]
151
286
  attr_accessor :n_id
152
287
 
@@ -300,6 +435,7 @@ module Saklient
300
435
  # @private
301
436
  # @return [Array<String>]
302
437
  def get_tags
438
+ @n_tags = true
303
439
  return @m_tags
304
440
  end
305
441
 
@@ -372,6 +508,47 @@ module Saklient
372
508
 
373
509
  protected
374
510
 
511
+ # @return [bool]
512
+ attr_accessor :n_plan_id
513
+
514
+ # (This method is generated in Translator_default#buildImpl)
515
+ #
516
+ # @private
517
+ # @return [Fixnum]
518
+ def get_plan_id
519
+ return @m_plan_id
520
+ end
521
+
522
+ # (This method is generated in Translator_default#buildImpl)
523
+ #
524
+ # @private
525
+ # @param [Fixnum] v
526
+ # @return [Fixnum]
527
+ def set_plan_id(v)
528
+ Saklient::Util::validate_type(v, 'Fixnum')
529
+ raise Saklient::Errors::SaklientException.new('immutable_field', 'Immutable fields cannot be modified after the resource creation: ' + 'Saklient::Cloud::Resources::Appliance#plan_id') if !@is_new
530
+ @m_plan_id = v
531
+ @n_plan_id = true
532
+ return @m_plan_id
533
+ end
534
+
535
+ public
536
+
537
+ # プラン
538
+ #
539
+ # @return [Fixnum]
540
+ attr_accessor :plan_id
541
+
542
+ def plan_id
543
+ get_plan_id
544
+ end
545
+
546
+ def plan_id=(v)
547
+ set_plan_id(v)
548
+ end
549
+
550
+ protected
551
+
375
552
  # @return [bool]
376
553
  attr_accessor :n_ifaces
377
554
 
@@ -385,7 +562,7 @@ module Saklient
385
562
 
386
563
  public
387
564
 
388
- # プラン
565
+ # インタフェース
389
566
  #
390
567
  # @return [Array<Iface>]
391
568
  attr_reader :ifaces
@@ -396,6 +573,133 @@ module Saklient
396
573
 
397
574
  protected
398
575
 
576
+ # @return [bool]
577
+ attr_accessor :n_raw_annotation
578
+
579
+ # (This method is generated in Translator_default#buildImpl)
580
+ #
581
+ # @private
582
+ # @return [any]
583
+ def get_raw_annotation
584
+ return @m_raw_annotation
585
+ end
586
+
587
+ # (This method is generated in Translator_default#buildImpl)
588
+ #
589
+ # @private
590
+ # @param [any] v
591
+ # @return [any]
592
+ def set_raw_annotation(v)
593
+ raise Saklient::Errors::SaklientException.new('immutable_field', 'Immutable fields cannot be modified after the resource creation: ' + 'Saklient::Cloud::Resources::Appliance#raw_annotation') if !@is_new
594
+ @m_raw_annotation = v
595
+ @n_raw_annotation = true
596
+ return @m_raw_annotation
597
+ end
598
+
599
+ public
600
+
601
+ # 注釈
602
+ #
603
+ # @return [any]
604
+ attr_accessor :raw_annotation
605
+
606
+ def raw_annotation
607
+ get_raw_annotation
608
+ end
609
+
610
+ def raw_annotation=(v)
611
+ set_raw_annotation(v)
612
+ end
613
+
614
+ protected
615
+
616
+ # @return [bool]
617
+ attr_accessor :n_raw_settings
618
+
619
+ # (This method is generated in Translator_default#buildImpl)
620
+ #
621
+ # @private
622
+ # @return [any]
623
+ def get_raw_settings
624
+ @n_raw_settings = true
625
+ return @m_raw_settings
626
+ end
627
+
628
+ # (This method is generated in Translator_default#buildImpl)
629
+ #
630
+ # @private
631
+ # @param [any] v
632
+ # @return [any]
633
+ def set_raw_settings(v)
634
+ @m_raw_settings = v
635
+ @n_raw_settings = true
636
+ return @m_raw_settings
637
+ end
638
+
639
+ public
640
+
641
+ # 設定の生データ
642
+ #
643
+ # @return [any]
644
+ attr_accessor :raw_settings
645
+
646
+ def raw_settings
647
+ get_raw_settings
648
+ end
649
+
650
+ def raw_settings=(v)
651
+ set_raw_settings(v)
652
+ end
653
+
654
+ protected
655
+
656
+ # @return [bool]
657
+ attr_accessor :n_raw_settings_hash
658
+
659
+ # (This method is generated in Translator_default#buildImpl)
660
+ #
661
+ # @private
662
+ # @return [String]
663
+ def get_raw_settings_hash
664
+ return @m_raw_settings_hash
665
+ end
666
+
667
+ public
668
+
669
+ # @private
670
+ # @return [String]
671
+ attr_reader :raw_settings_hash
672
+
673
+ def raw_settings_hash
674
+ get_raw_settings_hash
675
+ end
676
+
677
+ protected
678
+
679
+ # @return [bool]
680
+ attr_accessor :n_status
681
+
682
+ # (This method is generated in Translator_default#buildImpl)
683
+ #
684
+ # @private
685
+ # @return [String]
686
+ def get_status
687
+ return @m_status
688
+ end
689
+
690
+ public
691
+
692
+ # 起動状態 {Saklient::Cloud::Enums::EServerInstanceStatus}
693
+ #
694
+ # @return [String]
695
+ attr_reader :status
696
+
697
+ def status
698
+ get_status
699
+ end
700
+
701
+ protected
702
+
399
703
  # @return [bool]
400
704
  attr_accessor :n_service_class
401
705
 
@@ -420,6 +724,54 @@ module Saklient
420
724
 
421
725
  protected
422
726
 
727
+ # @return [bool]
728
+ attr_accessor :n_availability
729
+
730
+ # (This method is generated in Translator_default#buildImpl)
731
+ #
732
+ # @private
733
+ # @return [String]
734
+ def get_availability
735
+ return @m_availability
736
+ end
737
+
738
+ public
739
+
740
+ # 有効状態 {Saklient::Cloud::Enums::EAvailability}
741
+ #
742
+ # @return [String]
743
+ attr_reader :availability
744
+
745
+ def availability
746
+ get_availability
747
+ end
748
+
749
+ protected
750
+
751
+ # @return [bool]
752
+ attr_accessor :n_swytch_id
753
+
754
+ # (This method is generated in Translator_default#buildImpl)
755
+ #
756
+ # @private
757
+ # @return [String]
758
+ def get_swytch_id
759
+ return @m_swytch_id
760
+ end
761
+
762
+ public
763
+
764
+ # 接続先スイッチID
765
+ #
766
+ # @return [String]
767
+ attr_reader :swytch_id
768
+
769
+ def swytch_id
770
+ get_swytch_id
771
+ end
772
+
773
+ protected
774
+
423
775
  # (This method is generated in Translator_default#buildImpl)
424
776
  #
425
777
  # @param [any] r
@@ -478,6 +830,13 @@ module Saklient
478
830
  @is_incomplete = true
479
831
  end
480
832
  @n_icon = false
833
+ if Saklient::Util::exists_path(r, 'Plan.ID')
834
+ @m_plan_id = (Saklient::Util::get_by_path(r, 'Plan.ID')).nil? ? nil : (Saklient::Util::get_by_path(r, 'Plan.ID').to_s).to_s().to_i(10)
835
+ else
836
+ @m_plan_id = nil
837
+ @is_incomplete = true
838
+ end
839
+ @n_plan_id = false
481
840
  if Saklient::Util::exists_path(r, 'Interfaces')
482
841
  if (Saklient::Util::get_by_path(r, 'Interfaces')).nil?
483
842
  @m_ifaces = []
@@ -494,6 +853,34 @@ module Saklient
494
853
  @is_incomplete = true
495
854
  end
496
855
  @n_ifaces = false
856
+ if Saklient::Util::exists_path(r, 'Remark')
857
+ @m_raw_annotation = Saklient::Util::get_by_path(r, 'Remark')
858
+ else
859
+ @m_raw_annotation = nil
860
+ @is_incomplete = true
861
+ end
862
+ @n_raw_annotation = false
863
+ if Saklient::Util::exists_path(r, 'Settings')
864
+ @m_raw_settings = Saklient::Util::get_by_path(r, 'Settings')
865
+ else
866
+ @m_raw_settings = nil
867
+ @is_incomplete = true
868
+ end
869
+ @n_raw_settings = false
870
+ if Saklient::Util::exists_path(r, 'SettingsHash')
871
+ @m_raw_settings_hash = (Saklient::Util::get_by_path(r, 'SettingsHash')).nil? ? nil : Saklient::Util::get_by_path(r, 'SettingsHash').to_s
872
+ else
873
+ @m_raw_settings_hash = nil
874
+ @is_incomplete = true
875
+ end
876
+ @n_raw_settings_hash = false
877
+ if Saklient::Util::exists_path(r, 'Instance.Status')
878
+ @m_status = (Saklient::Util::get_by_path(r, 'Instance.Status')).nil? ? nil : Saklient::Util::get_by_path(r, 'Instance.Status').to_s
879
+ else
880
+ @m_status = nil
881
+ @is_incomplete = true
882
+ end
883
+ @n_status = false
497
884
  if Saklient::Util::exists_path(r, 'ServiceClass')
498
885
  @m_service_class = (Saklient::Util::get_by_path(r, 'ServiceClass')).nil? ? nil : Saklient::Util::get_by_path(r, 'ServiceClass').to_s
499
886
  else
@@ -501,6 +888,20 @@ module Saklient
501
888
  @is_incomplete = true
502
889
  end
503
890
  @n_service_class = false
891
+ if Saklient::Util::exists_path(r, 'Availability')
892
+ @m_availability = (Saklient::Util::get_by_path(r, 'Availability')).nil? ? nil : Saklient::Util::get_by_path(r, 'Availability').to_s
893
+ else
894
+ @m_availability = nil
895
+ @is_incomplete = true
896
+ end
897
+ @n_availability = false
898
+ if Saklient::Util::exists_path(r, 'Switch.ID')
899
+ @m_swytch_id = (Saklient::Util::get_by_path(r, 'Switch.ID')).nil? ? nil : Saklient::Util::get_by_path(r, 'Switch.ID').to_s
900
+ else
901
+ @m_swytch_id = nil
902
+ @is_incomplete = true
903
+ end
904
+ @n_swytch_id = false
504
905
  end
505
906
 
506
907
  # @private
@@ -531,6 +932,11 @@ module Saklient
531
932
  end
532
933
  end
533
934
  Saklient::Util::set_by_path(ret, 'Icon', withClean ? ((@m_icon).nil? ? nil : @m_icon.api_serialize(withClean)) : ((@m_icon).nil? ? { ID: '0' } : @m_icon.api_serialize_id)) if withClean || @n_icon
935
+ if withClean || @n_plan_id
936
+ Saklient::Util::set_by_path(ret, 'Plan.ID', @m_plan_id)
937
+ else
938
+ missing << 'plan_id' if @is_new
939
+ end
534
940
  if withClean || @n_ifaces
535
941
  Saklient::Util::set_by_path(ret, 'Interfaces', [])
536
942
  for r2 in @m_ifaces
@@ -539,7 +945,17 @@ module Saklient
539
945
  ret[:Interfaces] << v
540
946
  end
541
947
  end
948
+ if withClean || @n_raw_annotation
949
+ Saklient::Util::set_by_path(ret, 'Remark', @m_raw_annotation)
950
+ else
951
+ missing << 'raw_annotation' if @is_new
952
+ end
953
+ Saklient::Util::set_by_path(ret, 'Settings', @m_raw_settings) if withClean || @n_raw_settings
954
+ Saklient::Util::set_by_path(ret, 'SettingsHash', @m_raw_settings_hash) if withClean || @n_raw_settings_hash
955
+ Saklient::Util::set_by_path(ret, 'Instance.Status', @m_status) if withClean || @n_status
542
956
  Saklient::Util::set_by_path(ret, 'ServiceClass', @m_service_class) if withClean || @n_service_class
957
+ Saklient::Util::set_by_path(ret, 'Availability', @m_availability) if withClean || @n_availability
958
+ Saklient::Util::set_by_path(ret, 'Switch.ID', @m_swytch_id) if withClean || @n_swytch_id
543
959
  raise Saklient::Errors::SaklientException.new('required_field', 'Required fields must be set before the Appliance creation: ' + missing.join(', ')) if missing.length > 0
544
960
  return ret
545
961
  end
@@ -267,14 +267,7 @@ module Saklient
267
267
  s = r[:SourceDisk]
268
268
  if !(s).nil?
269
269
  id = s[:ID]
270
- if !(id).nil?
271
- obj = Saklient::Util::create_class_instance('saklient.cloud.resources.Disk', [
272
- @_client,
273
- s,
274
- false
275
- ])
276
- @_source = obj
277
- end
270
+ @_source = Saklient::Cloud::Resources::Resource::create_with('Disk', @_client, s) if !(id).nil?
278
271
  end
279
272
  end
280
273
  end
@@ -331,20 +324,6 @@ module Saklient
331
324
  return self
332
325
  end
333
326
 
334
- # コピー中のアーカイブが利用可能になるまで待機します.
335
- #
336
- # @private
337
- # @yield [Saklient::Cloud::Resources::Archive, bool]
338
- # @yieldreturn [void]
339
- # @param [Fixnum] timeoutSec
340
- # @return [void]
341
- def after_copy(timeoutSec, &callback)
342
- Saklient::Util::validate_type(timeoutSec, 'Fixnum')
343
- Saklient::Util::validate_type(callback, 'Proc')
344
- ret = sleep_while_copying(timeoutSec)
345
- callback.call(self, ret)
346
- end
347
-
348
327
  # コピー中のアーカイブが利用可能になるまで待機します.
349
328
  #
350
329
  # @param [Fixnum] timeoutSec
@@ -358,7 +337,7 @@ module Saklient
358
337
  return true if a == Saklient::Cloud::Enums::EAvailability::available
359
338
  timeoutSec = 0 if a != Saklient::Cloud::Enums::EAvailability::migrating
360
339
  timeoutSec -= step
361
- sleep step if 0 < timeoutSec
340
+ sleep(step) if 0 < timeoutSec
362
341
  end
363
342
  return false
364
343
  end
@@ -501,6 +480,7 @@ module Saklient
501
480
  # @private
502
481
  # @return [Array<String>]
503
482
  def get_tags
483
+ @n_tags = true
504
484
  return @m_tags
505
485
  end
506
486
 
@@ -785,14 +765,14 @@ module Saklient
785
765
  end
786
766
  @n_icon = false
787
767
  if Saklient::Util::exists_path(r, 'DisplayOrder')
788
- @m_display_order = (Saklient::Util::get_by_path(r, 'DisplayOrder')).nil? ? nil : (Saklient::Util::get_by_path(r, 'DisplayOrder').to_s).to_i(10)
768
+ @m_display_order = (Saklient::Util::get_by_path(r, 'DisplayOrder')).nil? ? nil : (Saklient::Util::get_by_path(r, 'DisplayOrder').to_s).to_s().to_i(10)
789
769
  else
790
770
  @m_display_order = nil
791
771
  @is_incomplete = true
792
772
  end
793
773
  @n_display_order = false
794
774
  if Saklient::Util::exists_path(r, 'SizeMB')
795
- @m_size_mib = (Saklient::Util::get_by_path(r, 'SizeMB')).nil? ? nil : (Saklient::Util::get_by_path(r, 'SizeMB').to_s).to_i(10)
775
+ @m_size_mib = (Saklient::Util::get_by_path(r, 'SizeMB')).nil? ? nil : (Saklient::Util::get_by_path(r, 'SizeMB').to_s).to_s().to_i(10)
796
776
  else
797
777
  @m_size_mib = nil
798
778
  @is_incomplete = true
@@ -234,14 +234,7 @@ module Saklient
234
234
  s = r[:SourceArchive]
235
235
  if !(s).nil?
236
236
  id = s[:ID]
237
- if !(id).nil?
238
- obj = Saklient::Util::create_class_instance('saklient.cloud.resources.Archive', [
239
- @_client,
240
- s,
241
- false
242
- ])
243
- @_source = obj
244
- end
237
+ @_source = Saklient::Cloud::Resources::Resource::create_with('Archive', @_client, s) if !(id).nil?
245
238
  end
246
239
  end
247
240
  end
@@ -299,34 +292,20 @@ module Saklient
299
292
  return Saklient::Cloud::Resources::DiskConfig.new(@_client, _id)
300
293
  end
301
294
 
302
- # コピー中のディスクが利用可能になるまで待機します.
303
- #
304
- # @private
305
- # @yield [Saklient::Cloud::Resources::Disk, bool]
306
- # @yieldreturn [void]
307
- # @param [Fixnum] timeoutSec
308
- # @return [void]
309
- def after_copy(timeoutSec, &callback)
310
- Saklient::Util::validate_type(timeoutSec, 'Fixnum')
311
- Saklient::Util::validate_type(callback, 'Proc')
312
- ret = sleep_while_copying(timeoutSec)
313
- callback.call(self, ret)
314
- end
315
-
316
295
  # コピー中のディスクが利用可能になるまで待機します.
317
296
  #
318
297
  # @param [Fixnum] timeoutSec
319
298
  # @return [bool] 成功時はtrue, タイムアウトやエラーによる失敗時はfalseを返します.
320
299
  def sleep_while_copying(timeoutSec = 3600)
321
300
  Saklient::Util::validate_type(timeoutSec, 'Fixnum')
322
- step = 3
301
+ step = 10
323
302
  while 0 < timeoutSec do
324
303
  reload
325
304
  a = get_availability
326
305
  return true if a == Saklient::Cloud::Enums::EAvailability::available
327
306
  timeoutSec = 0 if a != Saklient::Cloud::Enums::EAvailability::migrating
328
307
  timeoutSec -= step
329
- sleep step if 0 < timeoutSec
308
+ sleep(step) if 0 < timeoutSec
330
309
  end
331
310
  return false
332
311
  end
@@ -445,6 +424,7 @@ module Saklient
445
424
  # @private
446
425
  # @return [Array<String>]
447
426
  def get_tags
427
+ @n_tags = true
448
428
  return @m_tags
449
429
  end
450
430
 
@@ -723,7 +703,7 @@ module Saklient
723
703
  end
724
704
  @n_icon = false
725
705
  if Saklient::Util::exists_path(r, 'SizeMB')
726
- @m_size_mib = (Saklient::Util::get_by_path(r, 'SizeMB')).nil? ? nil : (Saklient::Util::get_by_path(r, 'SizeMB').to_s).to_i(10)
706
+ @m_size_mib = (Saklient::Util::get_by_path(r, 'SizeMB')).nil? ? nil : (Saklient::Util::get_by_path(r, 'SizeMB').to_s).to_s().to_i(10)
727
707
  else
728
708
  @m_size_mib = nil
729
709
  @is_incomplete = true
@@ -232,7 +232,7 @@ module Saklient
232
232
  end
233
233
  @n_address = false
234
234
  if Saklient::Util::exists_path(r, 'NetworkMaskLen')
235
- @m_mask_len = (Saklient::Util::get_by_path(r, 'NetworkMaskLen')).nil? ? nil : (Saklient::Util::get_by_path(r, 'NetworkMaskLen').to_s).to_i(10)
235
+ @m_mask_len = (Saklient::Util::get_by_path(r, 'NetworkMaskLen')).nil? ? nil : (Saklient::Util::get_by_path(r, 'NetworkMaskLen').to_s).to_s().to_i(10)
236
236
  else
237
237
  @m_mask_len = nil
238
238
  @is_incomplete = true
@@ -203,7 +203,7 @@ module Saklient
203
203
  end
204
204
  @n_prefix = false
205
205
  if Saklient::Util::exists_path(r, 'IPv6PrefixLen')
206
- @m_prefix_len = (Saklient::Util::get_by_path(r, 'IPv6PrefixLen')).nil? ? nil : (Saklient::Util::get_by_path(r, 'IPv6PrefixLen').to_s).to_i(10)
206
+ @m_prefix_len = (Saklient::Util::get_by_path(r, 'IPv6PrefixLen')).nil? ? nil : (Saklient::Util::get_by_path(r, 'IPv6PrefixLen').to_s).to_s().to_i(10)
207
207
  else
208
208
  @m_prefix_len = nil
209
209
  @is_incomplete = true