comet_backup_ruby_sdk 0.2.0 → 0.3.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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/Gemfile.lock +43 -0
  4. data/README.md +20 -4
  5. data/RELEASING.md +10 -0
  6. data/comet_backup_ruby_sdk.gemspec +1 -1
  7. data/lib/comet/comet_server.rb +184 -136
  8. data/lib/comet/definitions.rb +4 -4
  9. data/lib/comet/models/add_bucket_response_message.rb +15 -5
  10. data/lib/comet/models/admin_account_properties_response.rb +8 -2
  11. data/lib/comet/models/admin_resource_response.rb +13 -4
  12. data/lib/comet/models/admin_security_options.rb +18 -5
  13. data/lib/comet/models/admin_u2fregistration.rb +11 -3
  14. data/lib/comet/models/admin_user_permissions.rb +6 -2
  15. data/lib/comet/models/available_download.rb +10 -4
  16. data/lib/comet/models/azure_destination_location.rb +16 -7
  17. data/lib/comet/models/b2destination_location.rb +17 -6
  18. data/lib/comet/models/b2storage_extra_info.rb +6 -2
  19. data/lib/comet/models/b2transaction_totals.rb +15 -2
  20. data/lib/comet/models/backup_job_advanced_options.rb +12 -2
  21. data/lib/comet/models/backup_job_detail.rb +53 -10
  22. data/lib/comet/models/backup_job_progress.rb +21 -2
  23. data/lib/comet/models/backup_rule_config.rb +27 -7
  24. data/lib/comet/models/backup_rule_event_triggers.rb +6 -2
  25. data/lib/comet/models/branding_options.rb +59 -25
  26. data/lib/comet/models/branding_properties.rb +51 -21
  27. data/lib/comet/models/browse_disk_drives_response.rb +11 -3
  28. data/lib/comet/models/browse_edbresponse.rb +11 -3
  29. data/lib/comet/models/browse_hvresponse.rb +11 -3
  30. data/lib/comet/models/browse_vssresponse.rb +11 -3
  31. data/lib/comet/models/bucket_properties.rb +15 -3
  32. data/lib/comet/models/bucket_usage_info.rb +8 -2
  33. data/lib/comet/models/comet_apiresponse_message.rb +11 -3
  34. data/lib/comet/models/comet_destination_location.rb +12 -5
  35. data/lib/comet/models/constellation_check_report.rb +12 -2
  36. data/lib/comet/models/constellation_stats.rb +18 -2
  37. data/lib/comet/models/constellation_status_apiresponse.rb +9 -4
  38. data/lib/comet/models/content_measurement.rb +12 -2
  39. data/lib/comet/models/content_measurement_component.rb +10 -3
  40. data/lib/comet/models/create_group_policy_response.rb +13 -4
  41. data/lib/comet/models/default_email_report_policy.rb +6 -2
  42. data/lib/comet/models/destination_config.rb +101 -32
  43. data/lib/comet/models/destination_location.rb +78 -28
  44. data/lib/comet/models/destination_statistics.rb +16 -3
  45. data/lib/comet/models/device_config.rb +9 -3
  46. data/lib/comet/models/disk_drive.rb +34 -7
  47. data/lib/comet/models/dispatcher_admin_sources_response.rb +12 -4
  48. data/lib/comet/models/dispatcher_stored_objects_response.rb +11 -3
  49. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +11 -3
  50. data/lib/comet/models/edbfile_info.rb +12 -5
  51. data/lib/comet/models/email_options.rb +21 -8
  52. data/lib/comet/models/email_report_config.rb +10 -2
  53. data/lib/comet/models/email_report_generated_preview.rb +17 -6
  54. data/lib/comet/models/extra_file_exclusion.rb +11 -3
  55. data/lib/comet/models/ftpdestination_location.rb +23 -6
  56. data/lib/comet/models/get_group_policy_response.rb +14 -4
  57. data/lib/comet/models/get_profile_and_hash_response_message.rb +14 -4
  58. data/lib/comet/models/get_profile_hash_response_message.rb +13 -4
  59. data/lib/comet/models/group_policy.rb +9 -3
  60. data/lib/comet/models/hyper_vmachine_info.rb +10 -4
  61. data/lib/comet/models/job_entry.rb +93 -0
  62. data/lib/comet/models/live_user_connection.rb +20 -7
  63. data/lib/comet/models/local_destination_location.rb +15 -5
  64. data/lib/comet/models/mac_oscode_sign_properties.rb +21 -6
  65. data/lib/comet/models/mongo_dbconnection.rb +33 -14
  66. data/lib/comet/models/new_bucket_detail.rb +10 -4
  67. data/lib/comet/models/news_entry.rb +11 -3
  68. data/lib/comet/models/osinfo.rb +12 -5
  69. data/lib/comet/models/partition.rb +32 -8
  70. data/lib/comet/models/private_branding_properties.rb +39 -15
  71. data/lib/comet/models/protected_item_engine_type_policy.rb +7 -3
  72. data/lib/comet/models/public_branding_properties.rb +18 -8
  73. data/lib/comet/models/remote_server_address.rb +19 -7
  74. data/lib/comet/models/remote_storage_option.rb +22 -7
  75. data/lib/comet/models/replicator_state_apiresponse.rb +40 -4
  76. data/lib/comet/models/request_storage_vault_response_message.rb +13 -4
  77. data/lib/comet/models/restore_job_advanced_options.rb +15 -4
  78. data/lib/comet/models/retention_policy.rb +9 -2
  79. data/lib/comet/models/retention_range.rb +30 -2
  80. data/lib/comet/models/s3destination_location.rb +16 -7
  81. data/lib/comet/models/schedule_config.rb +15 -2
  82. data/lib/comet/models/search_clause.rb +14 -6
  83. data/lib/comet/models/server_config_options_branding_fragment.rb +7 -2
  84. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +7 -2
  85. data/lib/comet/models/server_meta_version_info.rb +45 -7
  86. data/lib/comet/models/session_key_regenerated_response.rb +15 -5
  87. data/lib/comet/models/sftpdestination_location.rb +21 -8
  88. data/lib/comet/models/size_measurement.rb +15 -2
  89. data/lib/comet/models/software_build_role_options.rb +6 -2
  90. data/lib/comet/models/software_update_news_response.rb +13 -6
  91. data/lib/comet/models/source_basic_info.rb +11 -3
  92. data/lib/comet/models/source_config.rb +22 -8
  93. data/lib/comet/models/source_statistics.rb +7 -2
  94. data/lib/comet/models/spanned_destination_location.rb +6 -2
  95. data/lib/comet/models/spanned_storage_extra_info.rb +6 -2
  96. data/lib/comet/models/sshconnection.rb +19 -7
  97. data/lib/comet/models/stat_result.rb +18 -2
  98. data/lib/comet/models/storage_free_space_info.rb +14 -2
  99. data/lib/comet/models/storage_vault_provider_policy.rb +8 -2
  100. data/lib/comet/models/stored_object.rb +27 -5
  101. data/lib/comet/models/streamable_event.rb +9 -2
  102. data/lib/comet/models/swift_destination_location.rb +32 -15
  103. data/lib/comet/models/test_response.rb +11 -3
  104. data/lib/comet/models/totp_regenerated_response.rb +17 -6
  105. data/lib/comet/models/u2fregister_request.rb +10 -4
  106. data/lib/comet/models/u2fregistered_key.rb +12 -5
  107. data/lib/comet/models/u2fregistration_challenge_response.rb +15 -5
  108. data/lib/comet/models/u2fsign_request.rb +12 -5
  109. data/lib/comet/models/u2fsign_response.rb +14 -6
  110. data/lib/comet/models/uninstall_config.rb +6 -2
  111. data/lib/comet/models/update_campaign_device_status.rb +9 -2
  112. data/lib/comet/models/update_campaign_options.rb +6 -2
  113. data/lib/comet/models/update_campaign_properties.rb +11 -3
  114. data/lib/comet/models/update_campaign_status.rb +11 -3
  115. data/lib/comet/models/update_campaign_status_device_entry.rb +13 -4
  116. data/lib/comet/models/user_custom_email_settings.rb +6 -2
  117. data/lib/comet/models/user_on_server.rb +11 -3
  118. data/lib/comet/models/user_policy.rb +22 -2
  119. data/lib/comet/models/user_profile_config.rb +41 -12
  120. data/lib/comet/models/user_profile_fragment.rb +8 -3
  121. data/lib/comet/models/vault_snapshot.rb +13 -4
  122. data/lib/comet/models/vsscomponent.rb +12 -5
  123. data/lib/comet/models/vsswriter_info.rb +8 -3
  124. data/lib/comet/models/web_interface_branding_properties.rb +14 -6
  125. data/lib/comet/models/webhook_option.rb +10 -3
  126. data/lib/comet/models/win_smbauth.rb +15 -5
  127. data/lib/comet/models/windows_code_sign_properties.rb +26 -9
  128. data/lib/comet_backup_ruby_sdk.rb +1 -0
  129. metadata +6 -2
@@ -27,30 +27,39 @@ module Comet
27
27
  attr_accessor :unknown_json_fields
28
28
 
29
29
  def initialize
30
+ clear
31
+ end
32
+
33
+ def clear
34
+ @status = 0
35
+ @message = ''
36
+ @profile_hash = ''
30
37
  @unknown_json_fields = {}
31
38
  end
32
39
 
33
40
  # @param [String] json_string The complete object in JSON format
34
41
  def from_json(json_string)
35
- raise TypeError 'expected string' unless json_string.is_a? String
42
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
36
43
 
37
44
  from_hash(JSON.parse(json_string))
38
45
  end
39
46
 
40
47
  # @param [Hash] obj The complete object as a Ruby hash
41
48
  def from_hash(obj)
42
- raise TypeError 'expected hash' unless obj.is_a? Hash
49
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
43
50
 
44
51
  obj.each do |k, v|
45
52
  case k
46
53
  when 'Status'
54
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
47
56
  @status = v
48
57
  when 'Message'
49
- raise TypeError 'expected string' unless v.is_a? String
58
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
50
59
 
51
60
  @message = v
52
61
  when 'ProfileHash'
53
- raise TypeError 'expected string' unless v.is_a? String
62
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
54
63
 
55
64
  @profile_hash = v
56
65
  else
@@ -27,24 +27,30 @@ module Comet
27
27
  attr_accessor :unknown_json_fields
28
28
 
29
29
  def initialize
30
+ clear
31
+ end
32
+
33
+ def clear
34
+ @description = ''
35
+ @policy = Comet::UserPolicy.new
30
36
  @unknown_json_fields = {}
31
37
  end
32
38
 
33
39
  # @param [String] json_string The complete object in JSON format
34
40
  def from_json(json_string)
35
- raise TypeError 'expected string' unless json_string.is_a? String
41
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
36
42
 
37
43
  from_hash(JSON.parse(json_string))
38
44
  end
39
45
 
40
46
  # @param [Hash] obj The complete object as a Ruby hash
41
47
  def from_hash(obj)
42
- raise TypeError 'expected hash' unless obj.is_a? Hash
48
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
43
49
 
44
50
  obj.each do |k, v|
45
51
  case k
46
52
  when 'Description'
47
- raise TypeError 'expected string' unless v.is_a? String
53
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
48
54
 
49
55
  @description = v
50
56
  when 'Policy'
@@ -24,28 +24,34 @@ module Comet
24
24
  attr_accessor :unknown_json_fields
25
25
 
26
26
  def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @id = ''
32
+ @display_name = ''
27
33
  @unknown_json_fields = {}
28
34
  end
29
35
 
30
36
  # @param [String] json_string The complete object in JSON format
31
37
  def from_json(json_string)
32
- raise TypeError 'expected string' unless json_string.is_a? String
38
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
33
39
 
34
40
  from_hash(JSON.parse(json_string))
35
41
  end
36
42
 
37
43
  # @param [Hash] obj The complete object as a Ruby hash
38
44
  def from_hash(obj)
39
- raise TypeError 'expected hash' unless obj.is_a? Hash
45
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
40
46
 
41
47
  obj.each do |k, v|
42
48
  case k
43
49
  when 'ID'
44
- raise TypeError 'expected string' unless v.is_a? String
50
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
45
51
 
46
52
  @id = v
47
53
  when 'Name'
48
- raise TypeError 'expected string' unless v.is_a? String
54
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
49
55
 
50
56
  @display_name = v
51
57
  else
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2020 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+ #
8
+ # frozen_string_literal: true
9
+
10
+ require 'json'
11
+
12
+ module Comet
13
+
14
+ # JobEntry is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class JobEntry
16
+
17
+ # @type [Number] time
18
+ attr_accessor :time
19
+
20
+ # @type [String] severity
21
+ attr_accessor :severity
22
+
23
+ # @type [String] message
24
+ attr_accessor :message
25
+
26
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
27
+ attr_accessor :unknown_json_fields
28
+
29
+ def initialize
30
+ clear
31
+ end
32
+
33
+ def clear
34
+ @time = 0
35
+ @severity = ''
36
+ @message = ''
37
+ @unknown_json_fields = {}
38
+ end
39
+
40
+ # @param [String] json_string The complete object in JSON format
41
+ def from_json(json_string)
42
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
43
+
44
+ from_hash(JSON.parse(json_string))
45
+ end
46
+
47
+ # @param [Hash] obj The complete object as a Ruby hash
48
+ def from_hash(obj)
49
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
50
+
51
+ obj.each do |k, v|
52
+ case k
53
+ when 'Time'
54
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
56
+ @time = v
57
+ when 'Severity'
58
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
59
+
60
+ @severity = v
61
+ when 'Message'
62
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
63
+
64
+ @message = v
65
+ else
66
+ @unknown_json_fields[k] = v
67
+ end
68
+ end
69
+ end
70
+
71
+ # @return [Hash] The complete object as a Ruby hash
72
+ def to_hash
73
+ ret = {}
74
+ ret['Time'] = @time
75
+ ret['Severity'] = @severity
76
+ ret['Message'] = @message
77
+ @unknown_json_fields.each do |k, v|
78
+ ret[k] = v
79
+ end
80
+ ret
81
+ end
82
+
83
+ # @return [Hash] The complete object as a Ruby hash
84
+ def to_h
85
+ to_hash
86
+ end
87
+
88
+ # @return [String] The complete object as a JSON string
89
+ def to_json(options = {})
90
+ to_hash.to_json(options)
91
+ end
92
+ end
93
+ end
@@ -42,46 +42,59 @@ module Comet
42
42
  attr_accessor :unknown_json_fields
43
43
 
44
44
  def initialize
45
+ clear
46
+ end
47
+
48
+ def clear
49
+ @username = ''
50
+ @device_id = ''
51
+ @reported_version = ''
52
+ @reported_platform = ''
53
+ @reported_platform_version = Comet::OSInfo.new
54
+ @ipaddress = ''
55
+ @connection_time = 0
45
56
  @unknown_json_fields = {}
46
57
  end
47
58
 
48
59
  # @param [String] json_string The complete object in JSON format
49
60
  def from_json(json_string)
50
- raise TypeError 'expected string' unless json_string.is_a? String
61
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
51
62
 
52
63
  from_hash(JSON.parse(json_string))
53
64
  end
54
65
 
55
66
  # @param [Hash] obj The complete object as a Ruby hash
56
67
  def from_hash(obj)
57
- raise TypeError 'expected hash' unless obj.is_a? Hash
68
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
58
69
 
59
70
  obj.each do |k, v|
60
71
  case k
61
72
  when 'Username'
62
- raise TypeError 'expected string' unless v.is_a? String
73
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
63
74
 
64
75
  @username = v
65
76
  when 'DeviceID'
66
- raise TypeError 'expected string' unless v.is_a? String
77
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
67
78
 
68
79
  @device_id = v
69
80
  when 'ReportedVersion'
70
- raise TypeError 'expected string' unless v.is_a? String
81
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
71
82
 
72
83
  @reported_version = v
73
84
  when 'ReportedPlatform'
74
- raise TypeError 'expected string' unless v.is_a? String
85
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
75
86
 
76
87
  @reported_platform = v
77
88
  when 'ReportedPlatformVersion'
78
89
  @reported_platform_version = Comet::OSInfo.new
79
90
  @reported_platform_version.from_hash(v)
80
91
  when 'IPAddress'
81
- raise TypeError 'expected string' unless v.is_a? String
92
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
82
93
 
83
94
  @ipaddress = v
84
95
  when 'ConnectionTime'
96
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
97
+
85
98
  @connection_time = v
86
99
  when 'AllowsFilenames'
87
100
  @allows_filenames = v
@@ -30,35 +30,45 @@ module Comet
30
30
  attr_accessor :unknown_json_fields
31
31
 
32
32
  def initialize
33
+ clear
34
+ end
35
+
36
+ def clear
37
+ @localcopy_path = ''
38
+ @localcopy_win_smbusername = ''
39
+ @localcopy_win_smbpassword = ''
40
+ @localcopy_win_smbpassword_format = 0
33
41
  @unknown_json_fields = {}
34
42
  end
35
43
 
36
44
  # @param [String] json_string The complete object in JSON format
37
45
  def from_json(json_string)
38
- raise TypeError 'expected string' unless json_string.is_a? String
46
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
39
47
 
40
48
  from_hash(JSON.parse(json_string))
41
49
  end
42
50
 
43
51
  # @param [Hash] obj The complete object as a Ruby hash
44
52
  def from_hash(obj)
45
- raise TypeError 'expected hash' unless obj.is_a? Hash
53
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
54
 
47
55
  obj.each do |k, v|
48
56
  case k
49
57
  when 'LocalcopyPath'
50
- raise TypeError 'expected string' unless v.is_a? String
58
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
51
59
 
52
60
  @localcopy_path = v
53
61
  when 'LocalcopyWinSMBUsername'
54
- raise TypeError 'expected string' unless v.is_a? String
62
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
55
63
 
56
64
  @localcopy_win_smbusername = v
57
65
  when 'LocalcopyWinSMBPassword'
58
- raise TypeError 'expected string' unless v.is_a? String
66
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
59
67
 
60
68
  @localcopy_win_smbpassword = v
61
69
  when 'LocalcopyWinSMBPasswordFormat'
70
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
+
62
72
  @localcopy_win_smbpassword_format = v
63
73
  else
64
74
  @unknown_json_fields[k] = v
@@ -39,44 +39,59 @@ module Comet
39
39
  attr_accessor :unknown_json_fields
40
40
 
41
41
  def initialize
42
+ clear
43
+ end
44
+
45
+ def clear
46
+ @level = 0
47
+ @sshserver = Comet::SSHConnection.new
48
+ @certificate_name = ''
49
+ @app_certificate_name = ''
50
+ @apple_id = ''
51
+ @apple_idpass = ''
52
+ @apple_idpass_format = 0
42
53
  @unknown_json_fields = {}
43
54
  end
44
55
 
45
56
  # @param [String] json_string The complete object in JSON format
46
57
  def from_json(json_string)
47
- raise TypeError 'expected string' unless json_string.is_a? String
58
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
48
59
 
49
60
  from_hash(JSON.parse(json_string))
50
61
  end
51
62
 
52
63
  # @param [Hash] obj The complete object as a Ruby hash
53
64
  def from_hash(obj)
54
- raise TypeError 'expected hash' unless obj.is_a? Hash
65
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
55
66
 
56
67
  obj.each do |k, v|
57
68
  case k
58
69
  when 'Level'
70
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
+
59
72
  @level = v
60
73
  when 'SSHServer'
61
74
  @sshserver = Comet::SSHConnection.new
62
75
  @sshserver.from_hash(v)
63
76
  when 'CertificateName'
64
- raise TypeError 'expected string' unless v.is_a? String
77
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
65
78
 
66
79
  @certificate_name = v
67
80
  when 'AppCertificateName'
68
- raise TypeError 'expected string' unless v.is_a? String
81
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
69
82
 
70
83
  @app_certificate_name = v
71
84
  when 'AppleID'
72
- raise TypeError 'expected string' unless v.is_a? String
85
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
73
86
 
74
87
  @apple_id = v
75
88
  when 'AppleIDPass'
76
- raise TypeError 'expected string' unless v.is_a? String
89
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
77
90
 
78
91
  @apple_idpass = v
79
92
  when 'AppleIDPassFormat'
93
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
94
+
80
95
  @apple_idpass_format = v
81
96
  else
82
97
  @unknown_json_fields[k] = v
@@ -75,57 +75,76 @@ module Comet
75
75
  attr_accessor :unknown_json_fields
76
76
 
77
77
  def initialize
78
+ clear
79
+ end
80
+
81
+ def clear
82
+ @server = ''
83
+ @port = 0
84
+ @username = ''
85
+ @password = ''
86
+ @authentication_db = ''
87
+ @mongo_shell_path = ''
88
+ @mongodump_path = ''
89
+ @read_preference = ''
90
+ @replica_name = ''
78
91
  @replica_members = []
92
+ @client_sslpempath = ''
93
+ @server_sslpempath = ''
94
+ @sslclient_key_password = ''
95
+ @sshconnection = Comet::SSHConnection.new
79
96
  @unknown_json_fields = {}
80
97
  end
81
98
 
82
99
  # @param [String] json_string The complete object in JSON format
83
100
  def from_json(json_string)
84
- raise TypeError 'expected string' unless json_string.is_a? String
101
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
85
102
 
86
103
  from_hash(JSON.parse(json_string))
87
104
  end
88
105
 
89
106
  # @param [Hash] obj The complete object as a Ruby hash
90
107
  def from_hash(obj)
91
- raise TypeError 'expected hash' unless obj.is_a? Hash
108
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
92
109
 
93
110
  obj.each do |k, v|
94
111
  case k
95
112
  when 'Server'
96
- raise TypeError 'expected string' unless v.is_a? String
113
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
97
114
 
98
115
  @server = v
99
116
  when 'Port'
117
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
118
+
100
119
  @port = v
101
120
  when 'Username'
102
- raise TypeError 'expected string' unless v.is_a? String
121
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
103
122
 
104
123
  @username = v
105
124
  when 'Password'
106
- raise TypeError 'expected string' unless v.is_a? String
125
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
107
126
 
108
127
  @password = v
109
128
  when 'AuthenticationDB'
110
- raise TypeError 'expected string' unless v.is_a? String
129
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
111
130
 
112
131
  @authentication_db = v
113
132
  when 'MongoShellPath'
114
- raise TypeError 'expected string' unless v.is_a? String
133
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
115
134
 
116
135
  @mongo_shell_path = v
117
136
  when 'MongodumpPath'
118
- raise TypeError 'expected string' unless v.is_a? String
137
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
119
138
 
120
139
  @mongodump_path = v
121
140
  when 'ReadPreference'
122
- raise TypeError 'expected string' unless v.is_a? String
141
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
123
142
 
124
143
  @read_preference = v
125
144
  when 'UseReplica'
126
145
  @use_replica = v
127
146
  when 'ReplicaName'
128
- raise TypeError 'expected string' unless v.is_a? String
147
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
129
148
 
130
149
  @replica_name = v
131
150
  when 'ReplicaMembers'
@@ -134,7 +153,7 @@ module Comet
134
153
  else
135
154
  @replica_members = Array.new(v.length)
136
155
  v.each_with_index do |v1, i1|
137
- raise TypeError 'expected string' unless v1.is_a? String
156
+ raise TypeError "'v1' expected String, got #{v1.class}" unless v1.is_a? String
138
157
 
139
158
  @replica_members[i1] = v1
140
159
  end
@@ -142,15 +161,15 @@ module Comet
142
161
  when 'UseSSL'
143
162
  @use_ssl = v
144
163
  when 'ClientSSLPEMPath'
145
- raise TypeError 'expected string' unless v.is_a? String
164
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
146
165
 
147
166
  @client_sslpempath = v
148
167
  when 'ServerSSLPEMPath'
149
- raise TypeError 'expected string' unless v.is_a? String
168
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
150
169
 
151
170
  @server_sslpempath = v
152
171
  when 'SSLClientKeyPassword'
153
- raise TypeError 'expected string' unless v.is_a? String
172
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
154
173
 
155
174
  @sslclient_key_password = v
156
175
  when 'AllowInvalidCertificate'