comet_backup_ruby_sdk 2.10.0 → 2.11.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf7e87fdc27ef3763c733ea58dc87801cee0f836a83aae1ef1bb7675a83d4af8
4
- data.tar.gz: db96863bb3c92d8d1809b7db280af67c46c10922520ccb3ad3bc27de1d7aed65
3
+ metadata.gz: 5d6a5ccdbb19a7a417c00bfbd4dfc033b95a0e173188156efaac65217517e6d7
4
+ data.tar.gz: 9b824422ee089951b33143150891724d457a0e945d8377d704e830356908db85
5
5
  SHA512:
6
- metadata.gz: 8bab833349a8fd00d7f32392f2fe4d1b796fb7c7299cdab66988b14e307a14ad24a50840aea05586fd37337a7e41fc0be606b1a6b5328e5ed8a78c0327e044df
7
- data.tar.gz: 5997a150f92013e65f975872bd0028245fcb3d7f228a4bf81ed790fc0042d1db5227d84b36b9e5869ec83922c9e181d06d6aafae52d9951686a7c99f29d9fdda
6
+ metadata.gz: a5a9419659e7d24216dd9221af230f9012c3c17d42cc476428f33583189835e95937f6dbac9d517ad72440528315e649b856ccb8472cf00bdd250874adcfb373
7
+ data.tar.gz: cd7d60617d3682eb905f926837dce922e8474d2ca5551337b377ad170498614d46111f7645e47caedd620f2e864d2baa2b6f9408b9a0a54f2488d9b60ab81de5
data/.gitignore CHANGED
File without changes
data/.rubocop.yml CHANGED
File without changes
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2023-08-02 v2.11.0
4
+
5
+ - Based on Comet 23.6.9
6
+ - Support new API endpoints for managing external admin authentication sources
7
+ - Support Object Lock policy option
8
+ - Update docstrings for various types and fields
9
+
3
10
  ## 2023-07-11 v2.10.0
4
11
 
5
12
  - Based on Comet 23.6.5
data/Gemfile CHANGED
File without changes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comet_backup_ruby_sdk (2.10.0)
4
+ comet_backup_ruby_sdk (2.11.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/LICENSE CHANGED
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
@@ -12,7 +12,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
12
12
 
13
13
  Gem::Specification.new do |spec|
14
14
  spec.name = 'comet_backup_ruby_sdk'
15
- spec.version = '2.10.0'
15
+ spec.version = '2.11.0'
16
16
  spec.authors = ['Comet Licensing Ltd.']
17
17
  spec.email = ['hello@cometbackup.com']
18
18
 
@@ -136,6 +136,28 @@ module Comet
136
136
  ret
137
137
  end
138
138
 
139
+ # AdminAccountSessionUpgrade
140
+ #
141
+ # Upgrade a session key which is pending an MFA upgrade to a full session key.
142
+ #
143
+ # You must supply administrator authentication credentials to use this API.
144
+ #
145
+ # @param [String] session_key The session key to upgrade
146
+ # @return [Comet::CometAPIResponseMessage]
147
+ def admin_account_session_upgrade(session_key)
148
+ submit_params = {}
149
+ raise TypeError, "'session_key' expected String, got #{session_key.class}" unless session_key.is_a? String
150
+
151
+ submit_params['SessionKey'] = session_key
152
+
153
+ body = perform_request('api/v1/admin/account/session-upgrade', submit_params)
154
+ json_body = JSON.parse body
155
+ check_status json_body
156
+ ret = Comet::CometAPIResponseMessage.new
157
+ ret.from_hash(json_body)
158
+ ret
159
+ end
160
+
139
161
  # AdminAccountSetProperties
140
162
  #
141
163
  # Update settings for your own admin account.
@@ -2188,6 +2210,102 @@ module Comet
2188
2210
  ret
2189
2211
  end
2190
2212
 
2213
+ # AdminExternalAuthSourcesDelete
2214
+ #
2215
+ # Delete an external admin authentication source.
2216
+ #
2217
+ # You must supply administrator authentication credentials to use this API.
2218
+ #
2219
+ # @param [String] source_id (No description available)
2220
+ # @return [Comet::CometAPIResponseMessage]
2221
+ def admin_external_auth_sources_delete(source_id)
2222
+ submit_params = {}
2223
+ raise TypeError, "'source_id' expected String, got #{source_id.class}" unless source_id.is_a? String
2224
+
2225
+ submit_params['SourceID'] = source_id
2226
+
2227
+ body = perform_request('api/v1/admin/external-auth-sources/delete', submit_params)
2228
+ json_body = JSON.parse body
2229
+ check_status json_body
2230
+ ret = Comet::CometAPIResponseMessage.new
2231
+ ret.from_hash(json_body)
2232
+ ret
2233
+ end
2234
+
2235
+ # AdminExternalAuthSourcesGet
2236
+ #
2237
+ # Get a map of all external admin authentication sources.
2238
+ #
2239
+ # You must supply administrator authentication credentials to use this API.
2240
+ #
2241
+ # @return [Hash{String => Comet::ExternalAuthenticationSource}]
2242
+ def admin_external_auth_sources_get
2243
+ body = perform_request('api/v1/admin/external-auth-sources/get')
2244
+ json_body = JSON.parse body
2245
+ check_status json_body
2246
+ ret = {}
2247
+ if json_body.nil?
2248
+ ret = {}
2249
+ else
2250
+ json_body.each do |k, v|
2251
+ ret[k] = Comet::ExternalAuthenticationSource.new
2252
+ ret[k].from_hash(v)
2253
+ end
2254
+ end
2255
+ ret
2256
+ end
2257
+
2258
+ # AdminExternalAuthSourcesNew
2259
+ #
2260
+ # Create an external admin authentication source.
2261
+ #
2262
+ # You must supply administrator authentication credentials to use this API.
2263
+ #
2264
+ # @param [Comet::ExternalAuthenticationSource] source (No description available)
2265
+ # @param [String] source_id (Optional) (No description available)
2266
+ # @return [Comet::ExternalAuthenticationSourceResponse]
2267
+ def admin_external_auth_sources_new(source, source_id = nil)
2268
+ submit_params = {}
2269
+ raise TypeError, "'source' expected Comet::ExternalAuthenticationSource, got #{source.class}" unless source.is_a? Comet::ExternalAuthenticationSource
2270
+
2271
+ submit_params['Source'] = source.to_json
2272
+ unless source_id.nil?
2273
+ raise TypeError, "'source_id' expected String, got #{source_id.class}" unless source_id.is_a? String
2274
+
2275
+ submit_params['SourceID'] = source_id
2276
+ end
2277
+
2278
+ body = perform_request('api/v1/admin/external-auth-sources/new', submit_params)
2279
+ json_body = JSON.parse body
2280
+ check_status json_body
2281
+ ret = Comet::ExternalAuthenticationSourceResponse.new
2282
+ ret.from_hash(json_body)
2283
+ ret
2284
+ end
2285
+
2286
+ # AdminExternalAuthSourcesSet
2287
+ #
2288
+ # Updates the current tenant's external admin authentication sources. This will set all.
2289
+ # sources for the tenant; none will be preserved.
2290
+ #
2291
+ # You must supply administrator authentication credentials to use this API.
2292
+ #
2293
+ # @param [Hash{String => Comet::ExternalAuthenticationSource}] sources (No description available)
2294
+ # @return [Comet::CometAPIResponseMessage]
2295
+ def admin_external_auth_sources_set(sources)
2296
+ submit_params = {}
2297
+ raise TypeError, "'sources' expected Hash, got #{sources.class}" unless sources.is_a? Hash
2298
+
2299
+ submit_params['Sources'] = sources.to_json
2300
+
2301
+ body = perform_request('api/v1/admin/external-auth-sources/set', submit_params)
2302
+ json_body = JSON.parse body
2303
+ check_status json_body
2304
+ ret = Comet::CometAPIResponseMessage.new
2305
+ ret.from_hash(json_body)
2306
+ ret
2307
+ end
2308
+
2191
2309
  # AdminGetJobLog
2192
2310
  #
2193
2311
  # Get the report log entries for a single job, in plaintext format.
@@ -7,13 +7,13 @@
7
7
 
8
8
  module Comet
9
9
 
10
- APPLICATION_VERSION = '23.6.5'
10
+ APPLICATION_VERSION = '23.6.9'
11
11
 
12
12
  APPLICATION_VERSION_MAJOR = 23
13
13
 
14
14
  APPLICATION_VERSION_MINOR = 6
15
15
 
16
- APPLICATION_VERSION_REVISION = 5
16
+ APPLICATION_VERSION_REVISION = 9
17
17
 
18
18
  # AutoRetentionLevel: The system will automatically choose how often to run an automatic Retention Pass after each backup job.
19
19
  BACKUPJOBAUTORETENTION_AUTOMATIC = 0
@@ -390,6 +390,15 @@ module Comet
390
390
  # When resetting a password with the API, set the PasswordFormat to this value. The Comet Server will re-hash the credential automatically.
391
391
  PASSWORD_FORMAT_PLAINTEXT = 0
392
392
 
393
+ # OidcProvider
394
+ PROVIDER_GENERIC = 'oidc'
395
+
396
+ # OidcProvider
397
+ PROVIDER_AZUREADV2 = 'azure-ad-v2'
398
+
399
+ # OidcProvider
400
+ PROVIDER_GOOGLE = 'google'
401
+
393
402
  # PSAType
394
403
  PSA_TYPE_GENERIC = 0
395
404
 
@@ -404,6 +413,9 @@ module Comet
404
413
  # RemoteServerType
405
414
  REMOTESERVER_LDAP = 'ldap'
406
415
 
416
+ # RemoteServerType
417
+ REMOTESERVER_OIDC = 'oidc'
418
+
407
419
  # RemoteServerType
408
420
  REMOTESERVER_B2 = 'b2'
409
421
 
@@ -974,8 +986,8 @@ module Comet
974
986
  # WebAuthnDeviceType
975
987
  WEBAUTHN_DEVICE_TYPE__TPM_LINUX = 6
976
988
 
977
- # WindowsCodesignMethod: When upgrading from a version of Comet Server prior to 22.12.7, this option will be automatically converted to a more specific type.
978
- # @deprecated This const has been deprecated since Comet version 22.12.7
989
+ # WindowsCodesignMethod: When upgrading from a version of Comet Server prior to 23.3.0, this option will be automatically converted to a more specific type.
990
+ # @deprecated This const has been deprecated since Comet version 23.3.0
979
991
  WINDOWSCODESIGN_METHOD_AUTO = 0
980
992
 
981
993
  # WindowsCodesignMethod: Do not perform Authenticode codesigning
@@ -33,6 +33,9 @@ module Comet
33
33
  # @type [Boolean] allow_edit_webhooks
34
34
  attr_accessor :allow_edit_webhooks
35
35
 
36
+ # @type [Boolean] allow_edit_external_auth_sources
37
+ attr_accessor :allow_edit_external_auth_sources
38
+
36
39
  # @type [Boolean] deny_constellation_role
37
40
  attr_accessor :deny_constellation_role
38
41
 
@@ -103,6 +106,8 @@ module Comet
103
106
  @allow_edit_remote_storage = v
104
107
  when 'AllowEditWebhooks'
105
108
  @allow_edit_webhooks = v
109
+ when 'AllowEditExternalAuthSources'
110
+ @allow_edit_external_auth_sources = v
106
111
  when 'DenyConstellationRole'
107
112
  @deny_constellation_role = v
108
113
  when 'DenyViewServerHistory'
@@ -158,6 +163,9 @@ module Comet
158
163
  unless @allow_edit_webhooks.nil?
159
164
  ret['AllowEditWebhooks'] = @allow_edit_webhooks
160
165
  end
166
+ unless @allow_edit_external_auth_sources.nil?
167
+ ret['AllowEditExternalAuthSources'] = @allow_edit_external_auth_sources
168
+ end
161
169
  unless @deny_constellation_role.nil?
162
170
  ret['DenyConstellationRole'] = @deny_constellation_role
163
171
  end
@@ -107,8 +107,8 @@ module Comet
107
107
  # @type [String] windows_code_sign_pkcs11module
108
108
  attr_accessor :windows_code_sign_pkcs11module
109
109
 
110
+ # This field was deprecated between 23.3.0 and 23.6.x, but is now used again.
110
111
  # @type [String] windows_code_sign_pkcs11certfile
111
- # @deprecated This member has been deprecated since Comet version 22.12.7
112
112
  attr_accessor :windows_code_sign_pkcs11certfile
113
113
 
114
114
  # @type [String] windows_code_sign_pkcs11key_id
@@ -84,8 +84,8 @@ module Comet
84
84
  # @type [String] windows_code_sign_pkcs11module
85
85
  attr_accessor :windows_code_sign_pkcs11module
86
86
 
87
+ # This field was deprecated between 23.3.0 and 23.6.x, but is now used again.
87
88
  # @type [String] windows_code_sign_pkcs11certfile
88
- # @deprecated This member has been deprecated since Comet version 22.12.7
89
89
  attr_accessor :windows_code_sign_pkcs11certfile
90
90
 
91
91
  # @type [String] windows_code_sign_pkcs11key_id
@@ -30,6 +30,9 @@ module Comet
30
30
  # @type [Comet::ExternalLDAPAuthenticationSourceSettings] ldap
31
31
  attr_accessor :ldap
32
32
 
33
+ # @type [Comet::OidcConfig] oidc
34
+ attr_accessor :oidc
35
+
33
36
  # @type [Comet::B2VirtualStorageRoleSettings] b2
34
37
  attr_accessor :b2
35
38
 
@@ -66,6 +69,7 @@ module Comet
66
69
  @username = ''
67
70
  @password = ''
68
71
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
72
+ @oidc = Comet::OidcConfig.new
69
73
  @b2 = Comet::B2VirtualStorageRoleSettings.new
70
74
  @wasabi = Comet::WasabiVirtualStorageRoleSettings.new
71
75
  @custom = Comet::CustomRemoteBucketSettings.new
@@ -112,6 +116,9 @@ module Comet
112
116
  when 'LDAP'
113
117
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
114
118
  @ldap.from_hash(v)
119
+ when 'OIDC'
120
+ @oidc = Comet::OidcConfig.new
121
+ @oidc.from_hash(v)
115
122
  when 'B2'
116
123
  @b2 = Comet::B2VirtualStorageRoleSettings.new
117
124
  @b2.from_hash(v)
@@ -156,6 +163,9 @@ module Comet
156
163
  unless @ldap.nil?
157
164
  ret['LDAP'] = @ldap
158
165
  end
166
+ unless @oidc.nil?
167
+ ret['OIDC'] = @oidc
168
+ end
159
169
  unless @b2.nil?
160
170
  ret['B2'] = @b2
161
171
  end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2020-2023 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+
8
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # ExternalAuthenticationSourceDisplay is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class ExternalAuthenticationSourceDisplay
14
+
15
+ # @type [String] display_name
16
+ attr_accessor :display_name
17
+
18
+ # @type [String] login_start_url
19
+ attr_accessor :login_start_url
20
+
21
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
22
+ attr_accessor :unknown_json_fields
23
+
24
+ def initialize
25
+ clear
26
+ end
27
+
28
+ def clear
29
+ @display_name = ''
30
+ @login_start_url = ''
31
+ @unknown_json_fields = {}
32
+ end
33
+
34
+ # @param [String] json_string The complete object in JSON format
35
+ def from_json(json_string)
36
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
37
+
38
+ from_hash(JSON.parse(json_string))
39
+ end
40
+
41
+ # @param [Hash] obj The complete object as a Ruby hash
42
+ def from_hash(obj)
43
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
+
45
+ obj.each do |k, v|
46
+ case k
47
+ when 'DisplayName'
48
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
49
+
50
+ @display_name = v
51
+ when 'LoginStartURL'
52
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
53
+
54
+ @login_start_url = v
55
+ else
56
+ @unknown_json_fields[k] = v
57
+ end
58
+ end
59
+ end
60
+
61
+ # @return [Hash] The complete object as a Ruby hash
62
+ def to_hash
63
+ ret = {}
64
+ ret['DisplayName'] = @display_name
65
+ ret['LoginStartURL'] = @login_start_url
66
+ @unknown_json_fields.each do |k, v|
67
+ ret[k] = v
68
+ end
69
+ ret
70
+ end
71
+
72
+ # @return [Hash] The complete object as a Ruby hash
73
+ def to_h
74
+ to_hash
75
+ end
76
+
77
+ # @return [String] The complete object as a JSON string
78
+ def to_json(options = {})
79
+ to_hash.to_json(options)
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2020-2023 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+
8
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # ExternalAuthenticationSourceResponse is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class ExternalAuthenticationSourceResponse
14
+
15
+ # @type [Number] status
16
+ attr_accessor :status
17
+
18
+ # @type [String] message
19
+ attr_accessor :message
20
+
21
+ # @type [String] id
22
+ attr_accessor :id
23
+
24
+ # @type [Comet::ExternalAuthenticationSource] source
25
+ attr_accessor :source
26
+
27
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
28
+ attr_accessor :unknown_json_fields
29
+
30
+ def initialize
31
+ clear
32
+ end
33
+
34
+ def clear
35
+ @status = 0
36
+ @message = ''
37
+ @id = ''
38
+ @source = Comet::ExternalAuthenticationSource.new
39
+ @unknown_json_fields = {}
40
+ end
41
+
42
+ # @param [String] json_string The complete object in JSON format
43
+ def from_json(json_string)
44
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
45
+
46
+ from_hash(JSON.parse(json_string))
47
+ end
48
+
49
+ # @param [Hash] obj The complete object as a Ruby hash
50
+ def from_hash(obj)
51
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
52
+
53
+ obj.each do |k, v|
54
+ case k
55
+ when 'Status'
56
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
57
+
58
+ @status = v
59
+ when 'Message'
60
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
61
+
62
+ @message = v
63
+ when 'ID'
64
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
65
+
66
+ @id = v
67
+ when 'Source'
68
+ @source = Comet::ExternalAuthenticationSource.new
69
+ @source.from_hash(v)
70
+ else
71
+ @unknown_json_fields[k] = v
72
+ end
73
+ end
74
+ end
75
+
76
+ # @return [Hash] The complete object as a Ruby hash
77
+ def to_hash
78
+ ret = {}
79
+ ret['Status'] = @status
80
+ ret['Message'] = @message
81
+ ret['ID'] = @id
82
+ ret['Source'] = @source
83
+ @unknown_json_fields.each do |k, v|
84
+ ret[k] = v
85
+ end
86
+ ret
87
+ end
88
+
89
+ # @return [Hash] The complete object as a Ruby hash
90
+ def to_h
91
+ to_hash
92
+ end
93
+
94
+ # @return [String] The complete object as a JSON string
95
+ def to_json(options = {})
96
+ to_hash.to_json(options)
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2020-2023 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+
8
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # OidcClaim is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class OidcClaim
14
+
15
+ # @type [String] name
16
+ attr_accessor :name
17
+
18
+ # @type [String] value
19
+ attr_accessor :value
20
+
21
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
22
+ attr_accessor :unknown_json_fields
23
+
24
+ def initialize
25
+ clear
26
+ end
27
+
28
+ def clear
29
+ @name = ''
30
+ @value = ''
31
+ @unknown_json_fields = {}
32
+ end
33
+
34
+ # @param [String] json_string The complete object in JSON format
35
+ def from_json(json_string)
36
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
37
+
38
+ from_hash(JSON.parse(json_string))
39
+ end
40
+
41
+ # @param [Hash] obj The complete object as a Ruby hash
42
+ def from_hash(obj)
43
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
+
45
+ obj.each do |k, v|
46
+ case k
47
+ when 'Name'
48
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
49
+
50
+ @name = v
51
+ when 'Value'
52
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
53
+
54
+ @value = v
55
+ else
56
+ @unknown_json_fields[k] = v
57
+ end
58
+ end
59
+ end
60
+
61
+ # @return [Hash] The complete object as a Ruby hash
62
+ def to_hash
63
+ ret = {}
64
+ ret['Name'] = @name
65
+ unless @value.nil?
66
+ ret['Value'] = @value
67
+ end
68
+ @unknown_json_fields.each do |k, v|
69
+ ret[k] = v
70
+ end
71
+ ret
72
+ end
73
+
74
+ # @return [Hash] The complete object as a Ruby hash
75
+ def to_h
76
+ to_hash
77
+ end
78
+
79
+ # @return [String] The complete object as a JSON string
80
+ def to_json(options = {})
81
+ to_hash.to_json(options)
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,203 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2020-2023 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+
8
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # OidcConfig is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class OidcConfig
14
+
15
+ # @type [String] display_name
16
+ attr_accessor :display_name
17
+
18
+ # @type [Array<String>] hosts
19
+ attr_accessor :hosts
20
+
21
+ # @type [String] organization_id
22
+ attr_accessor :organization_id
23
+
24
+ # @type [String] provider
25
+ attr_accessor :provider
26
+
27
+ # @type [String] client_id
28
+ attr_accessor :client_id
29
+
30
+ # @type [String] client_secret
31
+ attr_accessor :client_secret
32
+
33
+ # @type [Boolean] skip_mfa
34
+ attr_accessor :skip_mfa
35
+
36
+ # @type [Array<String>] scopes
37
+ attr_accessor :scopes
38
+
39
+ # @type [Array<Comet::OidcClaim>] required_claims
40
+ attr_accessor :required_claims
41
+
42
+ # @type [String] generic_op_discovery_document_url
43
+ attr_accessor :generic_op_discovery_document_url
44
+
45
+ # @type [String] azure_adv2op_tenant_id
46
+ attr_accessor :azure_adv2op_tenant_id
47
+
48
+ # @type [String] google_op_hosted_domain
49
+ attr_accessor :google_op_hosted_domain
50
+
51
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
52
+ attr_accessor :unknown_json_fields
53
+
54
+ def initialize
55
+ clear
56
+ end
57
+
58
+ def clear
59
+ @display_name = ''
60
+ @hosts = []
61
+ @organization_id = ''
62
+ @provider = ''
63
+ @client_id = ''
64
+ @client_secret = ''
65
+ @scopes = []
66
+ @required_claims = []
67
+ @generic_op_discovery_document_url = ''
68
+ @azure_adv2op_tenant_id = ''
69
+ @google_op_hosted_domain = ''
70
+ @unknown_json_fields = {}
71
+ end
72
+
73
+ # @param [String] json_string The complete object in JSON format
74
+ def from_json(json_string)
75
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
76
+
77
+ from_hash(JSON.parse(json_string))
78
+ end
79
+
80
+ # @param [Hash] obj The complete object as a Ruby hash
81
+ def from_hash(obj)
82
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
83
+
84
+ obj.each do |k, v|
85
+ case k
86
+ when 'DisplayName'
87
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
88
+
89
+ @display_name = v
90
+ when 'Hosts'
91
+ if v.nil?
92
+ @hosts = []
93
+ else
94
+ @hosts = Array.new(v.length)
95
+ v.each_with_index do |v1, i1|
96
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
97
+
98
+ @hosts[i1] = v1
99
+ end
100
+ end
101
+ when 'OrganizationID'
102
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
103
+
104
+ @organization_id = v
105
+ when 'Provider'
106
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
107
+
108
+ @provider = v
109
+ when 'ClientID'
110
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
111
+
112
+ @client_id = v
113
+ when 'ClientSecret'
114
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
115
+
116
+ @client_secret = v
117
+ when 'SkipMFA'
118
+ @skip_mfa = v
119
+ when 'Scopes'
120
+ if v.nil?
121
+ @scopes = []
122
+ else
123
+ @scopes = Array.new(v.length)
124
+ v.each_with_index do |v1, i1|
125
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
126
+
127
+ @scopes[i1] = v1
128
+ end
129
+ end
130
+ when 'RequiredClaims'
131
+ if v.nil?
132
+ @required_claims = []
133
+ else
134
+ @required_claims = Array.new(v.length)
135
+ v.each_with_index do |v1, i1|
136
+ @required_claims[i1] = Comet::OidcClaim.new
137
+ @required_claims[i1].from_hash(v1)
138
+ end
139
+ end
140
+ when 'DiscoveryDocumentURL'
141
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
142
+
143
+ @generic_op_discovery_document_url = v
144
+ when 'AzureTenantID'
145
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
146
+
147
+ @azure_adv2op_tenant_id = v
148
+ when 'GoogleHostedDomain'
149
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
150
+
151
+ @google_op_hosted_domain = v
152
+ else
153
+ @unknown_json_fields[k] = v
154
+ end
155
+ end
156
+ end
157
+
158
+ # @return [Hash] The complete object as a Ruby hash
159
+ def to_hash
160
+ ret = {}
161
+ ret['DisplayName'] = @display_name
162
+ unless @hosts.nil?
163
+ ret['Hosts'] = @hosts
164
+ end
165
+ unless @organization_id.nil?
166
+ ret['OrganizationID'] = @organization_id
167
+ end
168
+ ret['Provider'] = @provider
169
+ ret['ClientID'] = @client_id
170
+ ret['ClientSecret'] = @client_secret
171
+ ret['SkipMFA'] = @skip_mfa
172
+ unless @scopes.nil?
173
+ ret['Scopes'] = @scopes
174
+ end
175
+ unless @required_claims.nil?
176
+ ret['RequiredClaims'] = @required_claims
177
+ end
178
+ unless @generic_op_discovery_document_url.nil?
179
+ ret['DiscoveryDocumentURL'] = @generic_op_discovery_document_url
180
+ end
181
+ unless @azure_adv2op_tenant_id.nil?
182
+ ret['AzureTenantID'] = @azure_adv2op_tenant_id
183
+ end
184
+ unless @google_op_hosted_domain.nil?
185
+ ret['GoogleHostedDomain'] = @google_op_hosted_domain
186
+ end
187
+ @unknown_json_fields.each do |k, v|
188
+ ret[k] = v
189
+ end
190
+ ret
191
+ end
192
+
193
+ # @return [Hash] The complete object as a Ruby hash
194
+ def to_h
195
+ to_hash
196
+ end
197
+
198
+ # @return [String] The complete object as a JSON string
199
+ def to_json(options = {})
200
+ to_hash.to_json(options)
201
+ end
202
+ end
203
+ end
@@ -60,8 +60,8 @@ module Comet
60
60
  # @type [String] windows_code_sign_pkcs11module
61
61
  attr_accessor :windows_code_sign_pkcs11module
62
62
 
63
+ # This field was deprecated between 23.3.0 and 23.6.x, but is now used again.
63
64
  # @type [String] windows_code_sign_pkcs11certfile
64
- # @deprecated This member has been deprecated since Comet version 22.12.7
65
65
  attr_accessor :windows_code_sign_pkcs11certfile
66
66
 
67
67
  # @type [String] windows_code_sign_pkcs11key_id
@@ -30,6 +30,9 @@ module Comet
30
30
  # @type [Comet::ExternalLDAPAuthenticationSourceSettings] ldap
31
31
  attr_accessor :ldap
32
32
 
33
+ # @type [Comet::OidcConfig] oidc
34
+ attr_accessor :oidc
35
+
33
36
  # @type [Comet::B2VirtualStorageRoleSettings] b2
34
37
  attr_accessor :b2
35
38
 
@@ -63,6 +66,7 @@ module Comet
63
66
  @username = ''
64
67
  @password = ''
65
68
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
69
+ @oidc = Comet::OidcConfig.new
66
70
  @b2 = Comet::B2VirtualStorageRoleSettings.new
67
71
  @wasabi = Comet::WasabiVirtualStorageRoleSettings.new
68
72
  @custom = Comet::CustomRemoteBucketSettings.new
@@ -108,6 +112,9 @@ module Comet
108
112
  when 'LDAP'
109
113
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
110
114
  @ldap.from_hash(v)
115
+ when 'OIDC'
116
+ @oidc = Comet::OidcConfig.new
117
+ @oidc.from_hash(v)
111
118
  when 'B2'
112
119
  @b2 = Comet::B2VirtualStorageRoleSettings.new
113
120
  @b2.from_hash(v)
@@ -149,6 +156,9 @@ module Comet
149
156
  unless @ldap.nil?
150
157
  ret['LDAP'] = @ldap
151
158
  end
159
+ unless @oidc.nil?
160
+ ret['OIDC'] = @oidc
161
+ end
152
162
  unless @b2.nil?
153
163
  ret['B2'] = @b2
154
164
  end
@@ -30,6 +30,9 @@ module Comet
30
30
  # @type [Comet::ExternalLDAPAuthenticationSourceSettings] ldap
31
31
  attr_accessor :ldap
32
32
 
33
+ # @type [Comet::OidcConfig] oidc
34
+ attr_accessor :oidc
35
+
33
36
  # @type [Comet::B2VirtualStorageRoleSettings] b2
34
37
  attr_accessor :b2
35
38
 
@@ -72,6 +75,7 @@ module Comet
72
75
  @username = ''
73
76
  @password = ''
74
77
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
78
+ @oidc = Comet::OidcConfig.new
75
79
  @b2 = Comet::B2VirtualStorageRoleSettings.new
76
80
  @wasabi = Comet::WasabiVirtualStorageRoleSettings.new
77
81
  @custom = Comet::CustomRemoteBucketSettings.new
@@ -118,6 +122,9 @@ module Comet
118
122
  when 'LDAP'
119
123
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
120
124
  @ldap.from_hash(v)
125
+ when 'OIDC'
126
+ @oidc = Comet::OidcConfig.new
127
+ @oidc.from_hash(v)
121
128
  when 'B2'
122
129
  @b2 = Comet::B2VirtualStorageRoleSettings.new
123
130
  @b2.from_hash(v)
@@ -167,6 +174,9 @@ module Comet
167
174
  unless @ldap.nil?
168
175
  ret['LDAP'] = @ldap
169
176
  end
177
+ unless @oidc.nil?
178
+ ret['OIDC'] = @oidc
179
+ end
170
180
  unless @b2.nil?
171
181
  ret['B2'] = @b2
172
182
  end
@@ -30,6 +30,9 @@ module Comet
30
30
  # @type [Comet::ExternalLDAPAuthenticationSourceSettings] ldap
31
31
  attr_accessor :ldap
32
32
 
33
+ # @type [Comet::OidcConfig] oidc
34
+ attr_accessor :oidc
35
+
33
36
  # @type [Comet::B2VirtualStorageRoleSettings] b2
34
37
  attr_accessor :b2
35
38
 
@@ -66,6 +69,7 @@ module Comet
66
69
  @username = ''
67
70
  @password = ''
68
71
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
72
+ @oidc = Comet::OidcConfig.new
69
73
  @b2 = Comet::B2VirtualStorageRoleSettings.new
70
74
  @wasabi = Comet::WasabiVirtualStorageRoleSettings.new
71
75
  @custom = Comet::CustomRemoteBucketSettings.new
@@ -112,6 +116,9 @@ module Comet
112
116
  when 'LDAP'
113
117
  @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
114
118
  @ldap.from_hash(v)
119
+ when 'OIDC'
120
+ @oidc = Comet::OidcConfig.new
121
+ @oidc.from_hash(v)
115
122
  when 'B2'
116
123
  @b2 = Comet::B2VirtualStorageRoleSettings.new
117
124
  @b2.from_hash(v)
@@ -157,6 +164,9 @@ module Comet
157
164
  unless @ldap.nil?
158
165
  ret['LDAP'] = @ldap
159
166
  end
167
+ unless @oidc.nil?
168
+ ret['OIDC'] = @oidc
169
+ end
160
170
  unless @b2.nil?
161
171
  ret['B2'] = @b2
162
172
  end
@@ -41,11 +41,14 @@ module Comet
41
41
  # @type [Number] archive_format
42
42
  attr_accessor :archive_format
43
43
 
44
+ # Default disabled. For RESTORETYPE_FILE and RESTORETYPE_WINDISK. Used to continue the restore job
45
+ # when unreadable data chunks are found.
44
46
  # Corresponds to the "Allow partial file restores (zero-out unrecoverable data)" option
45
47
  # This field is available in Comet 23.6.4 and later.
46
48
  # @type [Boolean] skip_unreadable_chunks
47
49
  attr_accessor :skip_unreadable_chunks
48
50
 
51
+ # Default disabled. Used to store the index files on disk instead of in memory.
49
52
  # Corresponds to the "Prefer temporary files instead of RAM (slower)" option
50
53
  # This field is available in Comet 23.6.4 and later.
51
54
  # @type [Boolean] on_disk_indexes_key
@@ -51,6 +51,9 @@ module Comet
51
51
  # @type [Number] expired_in_seconds
52
52
  attr_accessor :expired_in_seconds
53
53
 
54
+ # @type [Array<Comet::ExternalAuthenticationSourceDisplay>] external_authentication_sources
55
+ attr_accessor :external_authentication_sources
56
+
54
57
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
55
58
  attr_accessor :unknown_json_fields
56
59
 
@@ -66,6 +69,7 @@ module Comet
66
69
  @accent_color = ''
67
70
  @prune_logs_after_days = 0
68
71
  @expired_in_seconds = 0
72
+ @external_authentication_sources = []
69
73
  @unknown_json_fields = {}
70
74
  end
71
75
 
@@ -118,6 +122,16 @@ module Comet
118
122
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
119
123
 
120
124
  @expired_in_seconds = v
125
+ when 'ExternalAuthenticationSources'
126
+ if v.nil?
127
+ @external_authentication_sources = []
128
+ else
129
+ @external_authentication_sources = Array.new(v.length)
130
+ v.each_with_index do |v1, i1|
131
+ @external_authentication_sources[i1] = Comet::ExternalAuthenticationSourceDisplay.new
132
+ @external_authentication_sources[i1].from_hash(v1)
133
+ end
134
+ end
121
135
  else
122
136
  @unknown_json_fields[k] = v
123
137
  end
@@ -138,6 +152,9 @@ module Comet
138
152
  ret['AllowAuthenticatedDownloads'] = @allow_authenticated_downloads
139
153
  ret['PruneLogsAfterDays'] = @prune_logs_after_days
140
154
  ret['ExpiredInSeconds'] = @expired_in_seconds
155
+ unless @external_authentication_sources.nil?
156
+ ret['ExternalAuthenticationSources'] = @external_authentication_sources
157
+ end
141
158
  @unknown_json_fields.each do |k, v|
142
159
  ret[k] = v
143
160
  end
@@ -99,6 +99,9 @@ module Comet
99
99
  # @type [Boolean] prevent_protected_item_retention
100
100
  attr_accessor :prevent_protected_item_retention
101
101
 
102
+ # @type [Boolean] allow_edit_object_lock_retention
103
+ attr_accessor :allow_edit_object_lock_retention
104
+
102
105
  # @type [Hash{String => Comet::SourceConfig}] default_sources
103
106
  attr_accessor :default_sources
104
107
 
@@ -230,6 +233,8 @@ module Comet
230
233
  @enforce_storage_vault_retention = v
231
234
  when 'PreventProtectedItemRetention'
232
235
  @prevent_protected_item_retention = v
236
+ when 'AllowEditObjectLockRetention'
237
+ @allow_edit_object_lock_retention = v
233
238
  when 'DefaultSources'
234
239
  @default_sources = {}
235
240
  if v.nil?
@@ -322,6 +327,7 @@ module Comet
322
327
  ret['DefaultStorageVaultRetention'] = @default_storage_vault_retention
323
328
  ret['EnforceStorageVaultRetention'] = @enforce_storage_vault_retention
324
329
  ret['PreventProtectedItemRetention'] = @prevent_protected_item_retention
330
+ ret['AllowEditObjectLockRetention'] = @allow_edit_object_lock_retention
325
331
  ret['DefaultSources'] = @default_sources
326
332
  ret['DefaultSourcesBackupRules'] = @default_sources_backup_rules
327
333
  ret['DefaultSourcesWithOSRestriction'] = @default_sources_with_osrestriction
@@ -32,8 +32,8 @@ module Comet
32
32
  # @type [String] windows_code_sign_pkcs11module
33
33
  attr_accessor :windows_code_sign_pkcs11module
34
34
 
35
+ # This field was deprecated between 23.3.0 and 23.6.x, but is now used again.
35
36
  # @type [String] windows_code_sign_pkcs11certfile
36
- # @deprecated This member has been deprecated since Comet version 22.12.7
37
37
  attr_accessor :windows_code_sign_pkcs11certfile
38
38
 
39
39
  # @type [String] windows_code_sign_pkcs11key_id
@@ -70,6 +70,8 @@ require_relative 'comet/models/email_report_config'
70
70
  require_relative 'comet/models/email_report_generated_preview'
71
71
  require_relative 'comet/models/email_reporting_option'
72
72
  require_relative 'comet/models/external_authentication_source'
73
+ require_relative 'comet/models/external_authentication_source_display'
74
+ require_relative 'comet/models/external_authentication_source_response'
73
75
  require_relative 'comet/models/external_ldapauthentication_source_server'
74
76
  require_relative 'comet/models/external_ldapauthentication_source_settings'
75
77
  require_relative 'comet/models/extra_file_exclusion'
@@ -104,6 +106,8 @@ require_relative 'comet/models/office_365custom_setting'
104
106
  require_relative 'comet/models/office_365custom_setting_v2'
105
107
  require_relative 'comet/models/office_365mixed_virtual_account'
106
108
  require_relative 'comet/models/office_365object_info'
109
+ require_relative 'comet/models/oidc_claim'
110
+ require_relative 'comet/models/oidc_config'
107
111
  require_relative 'comet/models/organization'
108
112
  require_relative 'comet/models/organization_login_urlresponse'
109
113
  require_relative 'comet/models/organization_response'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comet_backup_ruby_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.10.0
4
+ version: 2.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Comet Licensing Ltd.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-11 00:00:00.000000000 Z
11
+ date: 2023-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -148,6 +148,8 @@ files:
148
148
  - lib/comet/models/email_report_generated_preview.rb
149
149
  - lib/comet/models/email_reporting_option.rb
150
150
  - lib/comet/models/external_authentication_source.rb
151
+ - lib/comet/models/external_authentication_source_display.rb
152
+ - lib/comet/models/external_authentication_source_response.rb
151
153
  - lib/comet/models/external_ldapauthentication_source_server.rb
152
154
  - lib/comet/models/external_ldapauthentication_source_settings.rb
153
155
  - lib/comet/models/extra_file_exclusion.rb
@@ -182,6 +184,8 @@ files:
182
184
  - lib/comet/models/office_365custom_setting_v2.rb
183
185
  - lib/comet/models/office_365mixed_virtual_account.rb
184
186
  - lib/comet/models/office_365object_info.rb
187
+ - lib/comet/models/oidc_claim.rb
188
+ - lib/comet/models/oidc_config.rb
185
189
  - lib/comet/models/organization.rb
186
190
  - lib/comet/models/organization_login_urlresponse.rb
187
191
  - lib/comet/models/organization_response.rb