comet_backup_ruby_sdk 2.10.0 → 2.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  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