comet_backup_ruby_sdk 0.3.1 → 1.3.0

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