comet_backup_ruby_sdk 2.8.0 → 2.9.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/Gemfile.lock +1 -1
  4. data/comet_backup_ruby_sdk.gemspec +1 -1
  5. data/lib/comet/definitions.rb +165 -42
  6. data/lib/comet/models/azure_destination_location.rb +2 -0
  7. data/lib/comet/models/b2destination_location.rb +2 -0
  8. data/lib/comet/models/backup_job_advanced_options.rb +3 -0
  9. data/lib/comet/models/backup_job_detail.rb +1 -0
  10. data/lib/comet/models/backup_job_progress.rb +4 -1
  11. data/lib/comet/models/backup_rule_config.rb +4 -0
  12. data/lib/comet/models/branding_options.rb +2 -0
  13. data/lib/comet/models/comet_destination_location.rb +1 -0
  14. data/lib/comet/models/constellation_check_report.rb +2 -0
  15. data/lib/comet/models/content_measurement.rb +2 -0
  16. data/lib/comet/models/content_measurement_component.rb +12 -0
  17. data/lib/comet/models/default_email_report_policy.rb +4 -0
  18. data/lib/comet/models/destination_config.rb +35 -1
  19. data/lib/comet/models/destination_location.rb +33 -1
  20. data/lib/comet/models/destination_statistics.rb +2 -0
  21. data/lib/comet/models/device_config.rb +1 -0
  22. data/lib/comet/models/file_option.rb +132 -0
  23. data/lib/comet/models/ftpdestination_location.rb +5 -1
  24. data/lib/comet/models/local_destination_location.rb +5 -0
  25. data/lib/comet/models/mac_oscode_sign_properties.rb +1 -0
  26. data/lib/comet/models/mssqllogin_args.rb +2 -0
  27. data/lib/comet/models/my_sqlconnection.rb +2 -0
  28. data/lib/comet/models/office_365custom_setting.rb +3 -0
  29. data/lib/comet/models/office_365custom_setting_v2.rb +9 -0
  30. data/lib/comet/models/organization.rb +85 -70
  31. data/lib/comet/models/restore_job_advanced_options.rb +1 -0
  32. data/lib/comet/models/search_result_file_info.rb +39 -17
  33. data/lib/comet/models/self_backup_export_options.rb +3 -0
  34. data/lib/comet/models/self_backup_target.rb +4 -0
  35. data/lib/comet/models/server_config_options.rb +23 -0
  36. data/lib/comet/models/session_options.rb +2 -0
  37. data/lib/comet/models/sftpdestination_location.rb +7 -0
  38. data/lib/comet/models/size_measurement.rb +3 -0
  39. data/lib/comet/models/source_basic_info.rb +1 -0
  40. data/lib/comet/models/source_config.rb +6 -4
  41. data/lib/comet/models/source_include_pattern.rb +5 -0
  42. data/lib/comet/models/spanned_destination_location.rb +11 -0
  43. data/lib/comet/models/sshconnection.rb +6 -0
  44. data/lib/comet/models/stored_object.rb +7 -0
  45. data/lib/comet/models/streamable_event.rb +42 -0
  46. data/lib/comet/models/user_profile_config.rb +9 -0
  47. data/lib/comet/models/user_profile_fragment.rb +1 -0
  48. data/lib/comet/models/web_interface_branding_properties.rb +2 -0
  49. data/lib/comet/models/webhook_option.rb +35 -16
  50. data/lib/comet_backup_ruby_sdk.rb +1 -0
  51. metadata +3 -2
@@ -15,9 +15,11 @@ module Comet
15
15
  # @type [String] description
16
16
  attr_accessor :description
17
17
 
18
+ # Unix timestamp in seconds
18
19
  # @type [Number] create_time
19
20
  attr_accessor :create_time
20
21
 
22
+ # Unix timestamp in seconds
21
23
  # @type [Number] modify_time
22
24
  attr_accessor :modify_time
23
25
 
@@ -33,9 +35,11 @@ module Comet
33
35
  # @type [Array<String>] post_exec
34
36
  attr_accessor :post_exec
35
37
 
38
+ # One of the DESTINATIONTYPE_ constants
36
39
  # @type [Number] destination_type
37
40
  attr_accessor :destination_type
38
41
 
42
+ # The URL for the target Comet Server Storage Role, including http/https and trailing slash
39
43
  # @type [String] comet_server
40
44
  attr_accessor :comet_server
41
45
 
@@ -82,6 +86,7 @@ module Comet
82
86
  # @type [String] sftpusername
83
87
  attr_accessor :sftpusername
84
88
 
89
+ # The directory on the SFTP server in which data is stored.
85
90
  # @type [String] sftpremote_path
86
91
  attr_accessor :sftpremote_path
87
92
 
@@ -89,15 +94,21 @@ module Comet
89
94
  # @type [Number] sftpauth_mode
90
95
  attr_accessor :sftpauth_mode
91
96
 
97
+ # For use with DESTINATION_SFTP_AUTHMODE_PASSWORD only: the SSH password to connect with
92
98
  # @type [String] sftppassword
93
99
  attr_accessor :sftppassword
94
100
 
101
+ # For use with DESTINATION_SFTP_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in
102
+ # OpenSSH format.
95
103
  # @type [String] sftpprivate_key
96
104
  attr_accessor :sftpprivate_key
97
105
 
106
+ # If true, then the SFTPCustomAuth_KnownHostsFile will be used to verify the remote SSH server's
107
+ # host key, using Trust On First Use (TOFU).
98
108
  # @type [Boolean] sftpcustom_auth__use_known_hosts_file
99
109
  attr_accessor :sftpcustom_auth__use_known_hosts_file
100
110
 
111
+ # If SFTPCustomAuth_UseKnownHostFile is true, the path to the SSH known_hosts file.
101
112
  # @type [String] sftpcustom_auth__known_hosts_file
102
113
  attr_accessor :sftpcustom_auth__known_hosts_file
103
114
 
@@ -110,19 +121,23 @@ module Comet
110
121
  # @type [String] ftppassword
111
122
  attr_accessor :ftppassword
112
123
 
124
+ # If true, store data in the default home directory given by the FTP server. If false, store data in
125
+ # the FTPCustomBaseDirectory path.
113
126
  # @type [Boolean] ftpbase_use_home_directory
114
127
  attr_accessor :ftpbase_use_home_directory
115
128
 
129
+ # If FTPBaseUseHomeDirectory is false, this field controls the path where data is stored.
116
130
  # @type [String] ftpcustom_base_directory
117
131
  attr_accessor :ftpcustom_base_directory
118
132
 
119
- # One of the FTPS_MODE_ constants.
133
+ # Control whether this is plaintext FTP or secure FTPS by using one of the FTPS_MODE_ constants.
120
134
  # @type [Number] ftpsmode
121
135
  attr_accessor :ftpsmode
122
136
 
123
137
  # @type [Number] ftpport
124
138
  attr_accessor :ftpport
125
139
 
140
+ # If set to zero, uses a system default value that is not unlimited.
126
141
  # @type [Number] ftpmax_connections
127
142
  attr_accessor :ftpmax_connections
128
143
 
@@ -148,12 +163,17 @@ module Comet
148
163
  # @type [String] localcopy_path
149
164
  attr_accessor :localcopy_path
150
165
 
166
+ # If logging in to a Windows network share (SMB/CIFS) is required, enter the username here.
151
167
  # @type [String] localcopy_win_smbusername
152
168
  attr_accessor :localcopy_win_smbusername
153
169
 
170
+ # If logging in to a Windows network share (SMB/CIFS) is required, enter the password here. The
171
+ # password may be hashed as per the LocalcopyWinSMBPasswordFormat field.
154
172
  # @type [String] localcopy_win_smbpassword
155
173
  attr_accessor :localcopy_win_smbpassword
156
174
 
175
+ # One of the PASSWORD_FORMAT_ constants. It controls the hash format of the LocalcopyWinSMBPassword
176
+ # field.
157
177
  # @type [Number] localcopy_win_smbpassword_format
158
178
  attr_accessor :localcopy_win_smbpassword_format
159
179
 
@@ -166,9 +186,20 @@ module Comet
166
186
  # @type [Comet::StorjDestinationLocation] storj
167
187
  attr_accessor :storj
168
188
 
189
+ # A list of underlying destinations, that will be combined and presented as one.
169
190
  # @type [Array<Comet::DestinationLocation>] span_targets
170
191
  attr_accessor :span_targets
171
192
 
193
+ # If true, this Spanned destination will use a consistent hashing scheme
194
+ # to immediately find specific files on exactly one of the target destinations.
195
+ # In the Static Slots mode, the span targets cannot be moved or merged, and
196
+ # the files must always remain in their original location.
197
+ #
198
+ # If false, the Spanned destination system will search all targets to find
199
+ # the requested file. This is slightly slower, but allows you to freely merge,
200
+ # split, and reorder the underlying destination locations.
201
+ #
202
+ # The default option is false.
172
203
  # @type [Boolean] span_use_static_slots
173
204
  attr_accessor :span_use_static_slots
174
205
 
@@ -195,6 +226,9 @@ module Comet
195
226
  # @type [Comet::DestinationStatistics] statistics
196
227
  attr_accessor :statistics
197
228
 
229
+ # Configure the retention policy for this Storage Vault. The rules will be applied to any snapshot
230
+ # inside this Storage Vault, unless that snapshot belongs to a Protected Item source that has an
231
+ # overriding retention policy.
198
232
  # @type [Comet::RetentionPolicy] default_retention
199
233
  attr_accessor :default_retention
200
234
 
@@ -10,11 +10,16 @@ require 'json'
10
10
  module Comet
11
11
 
12
12
  # DestinationLocation is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # DestinationLocation describes the underlying storage location for a Storage Vault.
14
+ # Prior to Comet 17.3.3 this was an embedded part of the DestinationConfig type.
15
+ # This type is available in Comet 17.3.3 and later.
13
16
  class DestinationLocation
14
17
 
18
+ # One of the DESTINATIONTYPE_ constants
15
19
  # @type [Number] destination_type
16
20
  attr_accessor :destination_type
17
21
 
22
+ # The URL for the target Comet Server Storage Role, including http/https and trailing slash
18
23
  # @type [String] comet_server
19
24
  attr_accessor :comet_server
20
25
 
@@ -61,6 +66,7 @@ module Comet
61
66
  # @type [String] sftpusername
62
67
  attr_accessor :sftpusername
63
68
 
69
+ # The directory on the SFTP server in which data is stored.
64
70
  # @type [String] sftpremote_path
65
71
  attr_accessor :sftpremote_path
66
72
 
@@ -68,15 +74,21 @@ module Comet
68
74
  # @type [Number] sftpauth_mode
69
75
  attr_accessor :sftpauth_mode
70
76
 
77
+ # For use with DESTINATION_SFTP_AUTHMODE_PASSWORD only: the SSH password to connect with
71
78
  # @type [String] sftppassword
72
79
  attr_accessor :sftppassword
73
80
 
81
+ # For use with DESTINATION_SFTP_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in
82
+ # OpenSSH format.
74
83
  # @type [String] sftpprivate_key
75
84
  attr_accessor :sftpprivate_key
76
85
 
86
+ # If true, then the SFTPCustomAuth_KnownHostsFile will be used to verify the remote SSH server's
87
+ # host key, using Trust On First Use (TOFU).
77
88
  # @type [Boolean] sftpcustom_auth__use_known_hosts_file
78
89
  attr_accessor :sftpcustom_auth__use_known_hosts_file
79
90
 
91
+ # If SFTPCustomAuth_UseKnownHostFile is true, the path to the SSH known_hosts file.
80
92
  # @type [String] sftpcustom_auth__known_hosts_file
81
93
  attr_accessor :sftpcustom_auth__known_hosts_file
82
94
 
@@ -89,19 +101,23 @@ module Comet
89
101
  # @type [String] ftppassword
90
102
  attr_accessor :ftppassword
91
103
 
104
+ # If true, store data in the default home directory given by the FTP server. If false, store data in
105
+ # the FTPCustomBaseDirectory path.
92
106
  # @type [Boolean] ftpbase_use_home_directory
93
107
  attr_accessor :ftpbase_use_home_directory
94
108
 
109
+ # If FTPBaseUseHomeDirectory is false, this field controls the path where data is stored.
95
110
  # @type [String] ftpcustom_base_directory
96
111
  attr_accessor :ftpcustom_base_directory
97
112
 
98
- # One of the FTPS_MODE_ constants.
113
+ # Control whether this is plaintext FTP or secure FTPS by using one of the FTPS_MODE_ constants.
99
114
  # @type [Number] ftpsmode
100
115
  attr_accessor :ftpsmode
101
116
 
102
117
  # @type [Number] ftpport
103
118
  attr_accessor :ftpport
104
119
 
120
+ # If set to zero, uses a system default value that is not unlimited.
105
121
  # @type [Number] ftpmax_connections
106
122
  attr_accessor :ftpmax_connections
107
123
 
@@ -127,12 +143,17 @@ module Comet
127
143
  # @type [String] localcopy_path
128
144
  attr_accessor :localcopy_path
129
145
 
146
+ # If logging in to a Windows network share (SMB/CIFS) is required, enter the username here.
130
147
  # @type [String] localcopy_win_smbusername
131
148
  attr_accessor :localcopy_win_smbusername
132
149
 
150
+ # If logging in to a Windows network share (SMB/CIFS) is required, enter the password here. The
151
+ # password may be hashed as per the LocalcopyWinSMBPasswordFormat field.
133
152
  # @type [String] localcopy_win_smbpassword
134
153
  attr_accessor :localcopy_win_smbpassword
135
154
 
155
+ # One of the PASSWORD_FORMAT_ constants. It controls the hash format of the LocalcopyWinSMBPassword
156
+ # field.
136
157
  # @type [Number] localcopy_win_smbpassword_format
137
158
  attr_accessor :localcopy_win_smbpassword_format
138
159
 
@@ -145,9 +166,20 @@ module Comet
145
166
  # @type [Comet::StorjDestinationLocation] storj
146
167
  attr_accessor :storj
147
168
 
169
+ # A list of underlying destinations, that will be combined and presented as one.
148
170
  # @type [Array<Comet::DestinationLocation>] span_targets
149
171
  attr_accessor :span_targets
150
172
 
173
+ # If true, this Spanned destination will use a consistent hashing scheme
174
+ # to immediately find specific files on exactly one of the target destinations.
175
+ # In the Static Slots mode, the span targets cannot be moved or merged, and
176
+ # the files must always remain in their original location.
177
+ #
178
+ # If false, the Spanned destination system will search all targets to find
179
+ # the requested file. This is slightly slower, but allows you to freely merge,
180
+ # split, and reorder the underlying destination locations.
181
+ #
182
+ # The default option is false.
151
183
  # @type [Boolean] span_use_static_slots
152
184
  attr_accessor :span_use_static_slots
153
185
 
@@ -21,9 +21,11 @@ module Comet
21
21
  # @type [String] last_successful_deep_verify__guid
22
22
  attr_accessor :last_successful_deep_verify__guid
23
23
 
24
+ # Unix timestamp in seconds
24
25
  # @type [Number] last_successful_deep_verify__start_time
25
26
  attr_accessor :last_successful_deep_verify__start_time
26
27
 
28
+ # Unix timestamp in seconds
27
29
  # @type [Number] last_successful_deep_verify__end_time
28
30
  attr_accessor :last_successful_deep_verify__end_time
29
31
 
@@ -15,6 +15,7 @@ module Comet
15
15
  # @type [String] friendly_name
16
16
  attr_accessor :friendly_name
17
17
 
18
+ # Unix timestamp in seconds
18
19
  # @type [Number] registration_time
19
20
  attr_accessor :registration_time
20
21
 
@@ -0,0 +1,132 @@
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
+ # FileOption is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # FileOption defines the configuration for Comet Server to log live events to a file. See the SEVT_
14
+ # constants for more information.
15
+ # This type is available in Comet 23.3.7 and later.
16
+ class FileOption
17
+
18
+ # The prefix for the log filename. It will be stored in the same file location as the Comet Server
19
+ # log files
20
+ # @type [String] filename
21
+ attr_accessor :filename
22
+
23
+ # Configure a subset of allowed event types (see SEVT_ constants). If the array is empty, all events
24
+ # will be sent
25
+ # @type [Array<Number>] allow_event_types
26
+ attr_accessor :allow_event_types
27
+
28
+ # One of the STREAM_LEVEL_ constants. This controls how much data is logged into the file
29
+ # @type [String] level
30
+ attr_accessor :level
31
+
32
+ # Enables pruning of log files
33
+ # @type [Boolean] pruning_enabled
34
+ attr_accessor :pruning_enabled
35
+
36
+ # Limit in days to keep log files when PruningEnabled is set to true. If not set or 0, uses server's
37
+ # PruneLogsAfterDays
38
+ # @type [Number] pruning_limit
39
+ attr_accessor :pruning_limit
40
+
41
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
42
+ attr_accessor :unknown_json_fields
43
+
44
+ def initialize
45
+ clear
46
+ end
47
+
48
+ def clear
49
+ @filename = ''
50
+ @allow_event_types = []
51
+ @level = ''
52
+ @pruning_limit = 0
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 'Filename'
70
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
71
+
72
+ @filename = v
73
+ when 'AllowEventTypes'
74
+ if v.nil?
75
+ @allow_event_types = []
76
+ else
77
+ @allow_event_types = Array.new(v.length)
78
+ v.each_with_index do |v1, i1|
79
+ raise TypeError, "'v1' expected Numeric, got #{v1.class}" unless v1.is_a? Numeric
80
+
81
+ @allow_event_types[i1] = v1
82
+ end
83
+ end
84
+ when 'Level'
85
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
86
+
87
+ @level = v
88
+ when 'PruningEnabled'
89
+ @pruning_enabled = v
90
+ when 'PruningLimit'
91
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
92
+
93
+ @pruning_limit = v
94
+ else
95
+ @unknown_json_fields[k] = v
96
+ end
97
+ end
98
+ end
99
+
100
+ # @return [Hash] The complete object as a Ruby hash
101
+ def to_hash
102
+ ret = {}
103
+ ret['Filename'] = @filename
104
+ unless @allow_event_types.nil?
105
+ ret['AllowEventTypes'] = @allow_event_types
106
+ end
107
+ unless @level.nil?
108
+ ret['Level'] = @level
109
+ end
110
+ unless @pruning_enabled.nil?
111
+ ret['PruningEnabled'] = @pruning_enabled
112
+ end
113
+ unless @pruning_limit.nil?
114
+ ret['PruningLimit'] = @pruning_limit
115
+ end
116
+ @unknown_json_fields.each do |k, v|
117
+ ret[k] = v
118
+ end
119
+ ret
120
+ end
121
+
122
+ # @return [Hash] The complete object as a Ruby hash
123
+ def to_h
124
+ to_hash
125
+ end
126
+
127
+ # @return [String] The complete object as a JSON string
128
+ def to_json(options = {})
129
+ to_hash.to_json(options)
130
+ end
131
+ end
132
+ end
@@ -21,19 +21,23 @@ module Comet
21
21
  # @type [String] ftppassword
22
22
  attr_accessor :ftppassword
23
23
 
24
+ # If true, store data in the default home directory given by the FTP server. If false, store data in
25
+ # the FTPCustomBaseDirectory path.
24
26
  # @type [Boolean] ftpbase_use_home_directory
25
27
  attr_accessor :ftpbase_use_home_directory
26
28
 
29
+ # If FTPBaseUseHomeDirectory is false, this field controls the path where data is stored.
27
30
  # @type [String] ftpcustom_base_directory
28
31
  attr_accessor :ftpcustom_base_directory
29
32
 
30
- # One of the FTPS_MODE_ constants.
33
+ # Control whether this is plaintext FTP or secure FTPS by using one of the FTPS_MODE_ constants.
31
34
  # @type [Number] ftpsmode
32
35
  attr_accessor :ftpsmode
33
36
 
34
37
  # @type [Number] ftpport
35
38
  attr_accessor :ftpport
36
39
 
40
+ # If set to zero, uses a system default value that is not unlimited.
37
41
  # @type [Number] ftpmax_connections
38
42
  attr_accessor :ftpmax_connections
39
43
 
@@ -15,12 +15,17 @@ module Comet
15
15
  # @type [String] localcopy_path
16
16
  attr_accessor :localcopy_path
17
17
 
18
+ # If logging in to a Windows network share (SMB/CIFS) is required, enter the username here.
18
19
  # @type [String] localcopy_win_smbusername
19
20
  attr_accessor :localcopy_win_smbusername
20
21
 
22
+ # If logging in to a Windows network share (SMB/CIFS) is required, enter the password here. The
23
+ # password may be hashed as per the LocalcopyWinSMBPasswordFormat field.
21
24
  # @type [String] localcopy_win_smbpassword
22
25
  attr_accessor :localcopy_win_smbpassword
23
26
 
27
+ # One of the PASSWORD_FORMAT_ constants. It controls the hash format of the LocalcopyWinSMBPassword
28
+ # field.
24
29
  # @type [Number] localcopy_win_smbpassword_format
25
30
  attr_accessor :localcopy_win_smbpassword_format
26
31
 
@@ -12,6 +12,7 @@ module Comet
12
12
  # MacOSCodeSignProperties is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class MacOSCodeSignProperties
14
14
 
15
+ # One of the MACOSCODESIGN_LEVEL_ constants
15
16
  # @type [Number] level
16
17
  attr_accessor :level
17
18
 
@@ -27,6 +27,8 @@ module Comet
27
27
  # @type [Boolean] method_is_oledb_32bit
28
28
  attr_accessor :method_is_oledb_32bit
29
29
 
30
+ # If this MSSQLLoginArgs structure is used for a restore job (RestoreJobAdvancedOptions) using
31
+ # RESTORETYPE_MSSQL, then, this field controls the RECOVERY / NO RECOVERY option state.
30
32
  # @type [Boolean] restore_no_recovery
31
33
  attr_accessor :restore_no_recovery
32
34
 
@@ -18,9 +18,11 @@ module Comet
18
18
  # @type [String] port
19
19
  attr_accessor :port
20
20
 
21
+ # Optional
21
22
  # @type [String] username
22
23
  attr_accessor :username
23
24
 
25
+ # Optional
24
26
  # @type [String] password
25
27
  attr_accessor :password
26
28
 
@@ -10,6 +10,9 @@ require 'json'
10
10
  module Comet
11
11
 
12
12
  # Office365CustomSetting is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # Office365CustomSetting is used in the EngineProps for an Office 365 Protected Item (see
14
+ # ENGINE_BUILTIN_MSOFFICE).
15
+ # If present, it will be automatically converted to the replacement Office365CustomSettingV2 type.
13
16
  # @deprecated This type has been deprecated since Comet version 21.9.xx
14
17
  class Office365CustomSetting
15
18
 
@@ -10,14 +10,23 @@ require 'json'
10
10
  module Comet
11
11
 
12
12
  # Office365CustomSettingV2 is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # Office365CustomSettingV2 is used in the EngineProps for an Office 365 Protected Item (see
14
+ # ENGINE_BUILTIN_MSOFFICE).
15
+ # This type is available in Comet 21.9.xx and later.
13
16
  class Office365CustomSettingV2
14
17
 
18
+ # If true, then backup the entire Office 365 Tenant except the selected members. If false, backup
19
+ # the selected members only.
15
20
  # @type [Boolean] organization
16
21
  attr_accessor :organization
17
22
 
23
+ # Key can be the ID of user, group or SharePoint
24
+ # Value is a bitset of the SERVICE_ constants, to select which services to back up for this member.
18
25
  # @type [Hash{String => Number}] backup_options
19
26
  attr_accessor :backup_options
20
27
 
28
+ # Key must be a group ID
29
+ # Value is a bitset of the SERVICE_ constants, to select which services to back up for this member.
21
30
  # @type [Hash{String => Number}] member_backup_options
22
31
  attr_accessor :member_backup_options
23
32