comet_backup_ruby_sdk 0.2.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 +7 -0
- data/.rubocop.yml +25 -0
- data/Gemfile +15 -0
- data/LICENSE +7 -0
- data/README.md +81 -0
- data/Rakefile +22 -0
- data/comet_backup_ruby_sdk.gemspec +35 -0
- data/lib/comet/api_response_error.rb +27 -0
- data/lib/comet/comet_server.rb +2926 -0
- data/lib/comet/definitions.rb +550 -0
- data/lib/comet/models/add_bucket_response_message.rb +92 -0
- data/lib/comet/models/admin_account_properties_response.rb +76 -0
- data/lib/comet/models/admin_resource_response.rb +84 -0
- data/lib/comet/models/admin_security_options.rb +139 -0
- data/lib/comet/models/admin_u2fregistration.rb +84 -0
- data/lib/comet/models/admin_user_permissions.rb +102 -0
- data/lib/comet/models/available_download.rb +84 -0
- data/lib/comet/models/azure_destination_location.rb +102 -0
- data/lib/comet/models/b2destination_location.rb +110 -0
- data/lib/comet/models/b2storage_extra_info.rb +77 -0
- data/lib/comet/models/b2transaction_totals.rb +80 -0
- data/lib/comet/models/backup_job_advanced_options.rb +98 -0
- data/lib/comet/models/backup_job_detail.rb +199 -0
- data/lib/comet/models/backup_job_progress.rb +92 -0
- data/lib/comet/models/backup_rule_config.rb +188 -0
- data/lib/comet/models/backup_rule_event_triggers.rb +78 -0
- data/lib/comet/models/branding_options.rb +283 -0
- data/lib/comet/models/branding_properties.rb +245 -0
- data/lib/comet/models/browse_disk_drives_response.rb +91 -0
- data/lib/comet/models/browse_edbresponse.rb +91 -0
- data/lib/comet/models/browse_hvresponse.rb +91 -0
- data/lib/comet/models/browse_vssresponse.rb +91 -0
- data/lib/comet/models/bucket_properties.rb +89 -0
- data/lib/comet/models/bucket_usage_info.rb +91 -0
- data/lib/comet/models/comet_apiresponse_message.rb +76 -0
- data/lib/comet/models/comet_destination_location.rb +86 -0
- data/lib/comet/models/constellation_check_report.rb +89 -0
- data/lib/comet/models/constellation_stats.rb +86 -0
- data/lib/comet/models/constellation_status_apiresponse.rb +109 -0
- data/lib/comet/models/content_measurement.rb +89 -0
- data/lib/comet/models/content_measurement_component.rb +84 -0
- data/lib/comet/models/create_group_policy_response.rb +84 -0
- data/lib/comet/models/default_email_report_policy.rb +83 -0
- data/lib/comet/models/destination_config.rb +465 -0
- data/lib/comet/models/destination_location.rb +365 -0
- data/lib/comet/models/destination_statistics.rb +102 -0
- data/lib/comet/models/device_config.rb +96 -0
- data/lib/comet/models/disk_drive.rb +153 -0
- data/lib/comet/models/dispatcher_admin_sources_response.rb +92 -0
- data/lib/comet/models/dispatcher_stored_objects_response.rb +91 -0
- data/lib/comet/models/dispatcher_vault_snapshots_response.rb +91 -0
- data/lib/comet/models/edbfile_info.rb +92 -0
- data/lib/comet/models/email_options.rb +140 -0
- data/lib/comet/models/email_report_config.rb +90 -0
- data/lib/comet/models/email_report_generated_preview.rb +100 -0
- data/lib/comet/models/extra_file_exclusion.rb +82 -0
- data/lib/comet/models/ftpdestination_location.rb +124 -0
- data/lib/comet/models/get_group_policy_response.rb +91 -0
- data/lib/comet/models/get_profile_and_hash_response_message.rb +91 -0
- data/lib/comet/models/get_profile_hash_response_message.rb +84 -0
- data/lib/comet/models/group_policy.rb +83 -0
- data/lib/comet/models/hyper_vmachine_info.rb +78 -0
- data/lib/comet/models/live_user_connection.rb +125 -0
- data/lib/comet/models/local_destination_location.rb +92 -0
- data/lib/comet/models/mac_oscode_sign_properties.rb +113 -0
- data/lib/comet/models/mongo_dbconnection.rb +211 -0
- data/lib/comet/models/new_bucket_detail.rb +78 -0
- data/lib/comet/models/news_entry.rb +76 -0
- data/lib/comet/models/osinfo.rb +92 -0
- data/lib/comet/models/partition.rb +148 -0
- data/lib/comet/models/private_branding_properties.rb +185 -0
- data/lib/comet/models/protected_item_engine_type_policy.rb +84 -0
- data/lib/comet/models/public_branding_properties.rb +122 -0
- data/lib/comet/models/remote_server_address.rb +135 -0
- data/lib/comet/models/remote_storage_option.rb +147 -0
- data/lib/comet/models/replicator_state_apiresponse.rb +138 -0
- data/lib/comet/models/request_storage_vault_response_message.rb +84 -0
- data/lib/comet/models/restore_job_advanced_options.rb +104 -0
- data/lib/comet/models/retention_policy.rb +83 -0
- data/lib/comet/models/retention_range.rb +110 -0
- data/lib/comet/models/s3destination_location.rb +114 -0
- data/lib/comet/models/schedule_config.rb +82 -0
- data/lib/comet/models/search_clause.rb +111 -0
- data/lib/comet/models/server_config_options_branding_fragment.rb +69 -0
- data/lib/comet/models/server_config_options_software_build_role_fragment.rb +69 -0
- data/lib/comet/models/server_meta_version_info.rb +208 -0
- data/lib/comet/models/session_key_regenerated_response.rb +92 -0
- data/lib/comet/models/sftpdestination_location.rb +122 -0
- data/lib/comet/models/size_measurement.rb +80 -0
- data/lib/comet/models/software_build_role_options.rb +74 -0
- data/lib/comet/models/software_update_news_response.rb +102 -0
- data/lib/comet/models/source_basic_info.rb +93 -0
- data/lib/comet/models/source_config.rb +172 -0
- data/lib/comet/models/source_statistics.rb +69 -0
- data/lib/comet/models/spanned_destination_location.rb +77 -0
- data/lib/comet/models/spanned_storage_extra_info.rb +77 -0
- data/lib/comet/models/sshconnection.rb +114 -0
- data/lib/comet/models/stat_result.rb +86 -0
- data/lib/comet/models/storage_free_space_info.rb +98 -0
- data/lib/comet/models/storage_vault_provider_policy.rb +82 -0
- data/lib/comet/models/stored_object.rb +130 -0
- data/lib/comet/models/streamable_event.rb +74 -0
- data/lib/comet/models/swift_destination_location.rb +192 -0
- data/lib/comet/models/test_response.rb +82 -0
- data/lib/comet/models/totp_regenerated_response.rb +100 -0
- data/lib/comet/models/u2fregister_request.rb +78 -0
- data/lib/comet/models/u2fregistered_key.rb +86 -0
- data/lib/comet/models/u2fregistration_challenge_response.rb +122 -0
- data/lib/comet/models/u2fsign_request.rb +101 -0
- data/lib/comet/models/u2fsign_response.rb +94 -0
- data/lib/comet/models/uninstall_config.rb +74 -0
- data/lib/comet/models/update_campaign_device_status.rb +68 -0
- data/lib/comet/models/update_campaign_options.rb +86 -0
- data/lib/comet/models/update_campaign_properties.rb +100 -0
- data/lib/comet/models/update_campaign_status.rb +115 -0
- data/lib/comet/models/update_campaign_status_device_entry.rb +84 -0
- data/lib/comet/models/user_custom_email_settings.rb +77 -0
- data/lib/comet/models/user_on_server.rb +76 -0
- data/lib/comet/models/user_policy.rb +304 -0
- data/lib/comet/models/user_profile_config.rb +300 -0
- data/lib/comet/models/user_profile_fragment.rb +70 -0
- data/lib/comet/models/vault_snapshot.rb +84 -0
- data/lib/comet/models/vsscomponent.rb +92 -0
- data/lib/comet/models/vsswriter_info.rb +85 -0
- data/lib/comet/models/web_interface_branding_properties.rb +100 -0
- data/lib/comet/models/webhook_option.rb +84 -0
- data/lib/comet/models/win_smbauth.rb +92 -0
- data/lib/comet/models/windows_code_sign_properties.rb +130 -0
- data/lib/comet_backup_ruby_sdk.rb +130 -0
- metadata +227 -0
@@ -0,0 +1,115 @@
|
|
1
|
+
#!/usr/bin/env ruby --enable-frozen-string-literal
|
2
|
+
#
|
3
|
+
# Copyright (c) 2020-2020 Comet Licensing Ltd.
|
4
|
+
# Please see the LICENSE file for usage information.
|
5
|
+
#
|
6
|
+
# SPDX-License-Identifier: MIT
|
7
|
+
#
|
8
|
+
# frozen_string_literal: true
|
9
|
+
|
10
|
+
require 'json'
|
11
|
+
|
12
|
+
module Comet
|
13
|
+
|
14
|
+
# UpdateCampaignStatus is a typed class wrapper around the underlying Comet Server API data structure.
|
15
|
+
class UpdateCampaignStatus
|
16
|
+
|
17
|
+
# @type [Boolean] active
|
18
|
+
attr_accessor :active
|
19
|
+
|
20
|
+
# @type [Boolean] upgrade_older
|
21
|
+
attr_accessor :upgrade_older
|
22
|
+
|
23
|
+
# @type [Boolean] reinstall_current_ver
|
24
|
+
attr_accessor :reinstall_current_ver
|
25
|
+
|
26
|
+
# @type [Boolean] downgrade_newer
|
27
|
+
attr_accessor :downgrade_newer
|
28
|
+
|
29
|
+
# @type [Number] start_time
|
30
|
+
attr_accessor :start_time
|
31
|
+
|
32
|
+
# @type [String] target_version
|
33
|
+
attr_accessor :target_version
|
34
|
+
|
35
|
+
# @type [Array<Comet::UpdateCampaignStatusDeviceEntry>] devices
|
36
|
+
attr_accessor :devices
|
37
|
+
|
38
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
39
|
+
attr_accessor :unknown_json_fields
|
40
|
+
|
41
|
+
def initialize
|
42
|
+
@devices = []
|
43
|
+
@unknown_json_fields = {}
|
44
|
+
end
|
45
|
+
|
46
|
+
# @param [String] json_string The complete object in JSON format
|
47
|
+
def from_json(json_string)
|
48
|
+
raise TypeError 'expected string' unless json_string.is_a? String
|
49
|
+
|
50
|
+
from_hash(JSON.parse(json_string))
|
51
|
+
end
|
52
|
+
|
53
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
54
|
+
def from_hash(obj)
|
55
|
+
raise TypeError 'expected hash' unless obj.is_a? Hash
|
56
|
+
|
57
|
+
obj.each do |k, v|
|
58
|
+
case k
|
59
|
+
when 'Active'
|
60
|
+
@active = v
|
61
|
+
when 'UpgradeOlder'
|
62
|
+
@upgrade_older = v
|
63
|
+
when 'ReinstallCurrentVer'
|
64
|
+
@reinstall_current_ver = v
|
65
|
+
when 'DowngradeNewer'
|
66
|
+
@downgrade_newer = v
|
67
|
+
when 'StartTime'
|
68
|
+
@start_time = v
|
69
|
+
when 'TargetVersion'
|
70
|
+
raise TypeError 'expected string' unless v.is_a? String
|
71
|
+
|
72
|
+
@target_version = v
|
73
|
+
when 'Devices'
|
74
|
+
if v.nil?
|
75
|
+
@devices = []
|
76
|
+
else
|
77
|
+
@devices = Array.new(v.length)
|
78
|
+
v.each_with_index do |v1, i1|
|
79
|
+
@devices[i1] = Comet::UpdateCampaignStatusDeviceEntry.new
|
80
|
+
@devices[i1].from_hash(v1)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
else
|
84
|
+
@unknown_json_fields[k] = v
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
# @return [Hash] The complete object as a Ruby hash
|
90
|
+
def to_hash
|
91
|
+
ret = {}
|
92
|
+
ret['Active'] = @active
|
93
|
+
ret['UpgradeOlder'] = @upgrade_older
|
94
|
+
ret['ReinstallCurrentVer'] = @reinstall_current_ver
|
95
|
+
ret['DowngradeNewer'] = @downgrade_newer
|
96
|
+
ret['StartTime'] = @start_time
|
97
|
+
ret['TargetVersion'] = @target_version
|
98
|
+
ret['Devices'] = @devices
|
99
|
+
@unknown_json_fields.each do |k, v|
|
100
|
+
ret[k] = v
|
101
|
+
end
|
102
|
+
ret
|
103
|
+
end
|
104
|
+
|
105
|
+
# @return [Hash] The complete object as a Ruby hash
|
106
|
+
def to_h
|
107
|
+
to_hash
|
108
|
+
end
|
109
|
+
|
110
|
+
# @return [String] The complete object as a JSON string
|
111
|
+
def to_json(options = {})
|
112
|
+
to_hash.to_json(options)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
#!/usr/bin/env ruby --enable-frozen-string-literal
|
2
|
+
#
|
3
|
+
# Copyright (c) 2020-2020 Comet Licensing Ltd.
|
4
|
+
# Please see the LICENSE file for usage information.
|
5
|
+
#
|
6
|
+
# SPDX-License-Identifier: MIT
|
7
|
+
#
|
8
|
+
# frozen_string_literal: true
|
9
|
+
|
10
|
+
require 'json'
|
11
|
+
|
12
|
+
module Comet
|
13
|
+
|
14
|
+
# UpdateCampaignStatusDeviceEntry is a typed class wrapper around the underlying Comet Server API data structure.
|
15
|
+
class UpdateCampaignStatusDeviceEntry
|
16
|
+
|
17
|
+
# @type [String] username
|
18
|
+
attr_accessor :username
|
19
|
+
|
20
|
+
# @type [String] device_id
|
21
|
+
attr_accessor :device_id
|
22
|
+
|
23
|
+
# @type [Number] status
|
24
|
+
attr_accessor :status
|
25
|
+
|
26
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
27
|
+
attr_accessor :unknown_json_fields
|
28
|
+
|
29
|
+
def initialize
|
30
|
+
@unknown_json_fields = {}
|
31
|
+
end
|
32
|
+
|
33
|
+
# @param [String] json_string The complete object in JSON format
|
34
|
+
def from_json(json_string)
|
35
|
+
raise TypeError 'expected string' unless json_string.is_a? String
|
36
|
+
|
37
|
+
from_hash(JSON.parse(json_string))
|
38
|
+
end
|
39
|
+
|
40
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
41
|
+
def from_hash(obj)
|
42
|
+
raise TypeError 'expected hash' unless obj.is_a? Hash
|
43
|
+
|
44
|
+
obj.each do |k, v|
|
45
|
+
case k
|
46
|
+
when 'Username'
|
47
|
+
raise TypeError 'expected string' unless v.is_a? String
|
48
|
+
|
49
|
+
@username = v
|
50
|
+
when 'DeviceID'
|
51
|
+
raise TypeError 'expected string' unless v.is_a? String
|
52
|
+
|
53
|
+
@device_id = v
|
54
|
+
when 'Status'
|
55
|
+
@status = v
|
56
|
+
else
|
57
|
+
@unknown_json_fields[k] = v
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# @return [Hash] The complete object as a Ruby hash
|
63
|
+
def to_hash
|
64
|
+
ret = {}
|
65
|
+
ret['Username'] = @username
|
66
|
+
ret['DeviceID'] = @device_id
|
67
|
+
ret['Status'] = @status
|
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,77 @@
|
|
1
|
+
#!/usr/bin/env ruby --enable-frozen-string-literal
|
2
|
+
#
|
3
|
+
# Copyright (c) 2020-2020 Comet Licensing Ltd.
|
4
|
+
# Please see the LICENSE file for usage information.
|
5
|
+
#
|
6
|
+
# SPDX-License-Identifier: MIT
|
7
|
+
#
|
8
|
+
# frozen_string_literal: true
|
9
|
+
|
10
|
+
require 'json'
|
11
|
+
|
12
|
+
module Comet
|
13
|
+
|
14
|
+
# UserCustomEmailSettings is a typed class wrapper around the underlying Comet Server API data structure.
|
15
|
+
class UserCustomEmailSettings
|
16
|
+
|
17
|
+
# @type [Array<Comet::EmailReportConfig>] reports
|
18
|
+
attr_accessor :reports
|
19
|
+
|
20
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
21
|
+
attr_accessor :unknown_json_fields
|
22
|
+
|
23
|
+
def initialize
|
24
|
+
@reports = []
|
25
|
+
@unknown_json_fields = {}
|
26
|
+
end
|
27
|
+
|
28
|
+
# @param [String] json_string The complete object in JSON format
|
29
|
+
def from_json(json_string)
|
30
|
+
raise TypeError 'expected string' unless json_string.is_a? String
|
31
|
+
|
32
|
+
from_hash(JSON.parse(json_string))
|
33
|
+
end
|
34
|
+
|
35
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
36
|
+
def from_hash(obj)
|
37
|
+
raise TypeError 'expected hash' unless obj.is_a? Hash
|
38
|
+
|
39
|
+
obj.each do |k, v|
|
40
|
+
case k
|
41
|
+
when 'Reports'
|
42
|
+
if v.nil?
|
43
|
+
@reports = []
|
44
|
+
else
|
45
|
+
@reports = Array.new(v.length)
|
46
|
+
v.each_with_index do |v1, i1|
|
47
|
+
@reports[i1] = Comet::EmailReportConfig.new
|
48
|
+
@reports[i1].from_hash(v1)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
else
|
52
|
+
@unknown_json_fields[k] = v
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# @return [Hash] The complete object as a Ruby hash
|
58
|
+
def to_hash
|
59
|
+
ret = {}
|
60
|
+
ret['Reports'] = @reports
|
61
|
+
@unknown_json_fields.each do |k, v|
|
62
|
+
ret[k] = v
|
63
|
+
end
|
64
|
+
ret
|
65
|
+
end
|
66
|
+
|
67
|
+
# @return [Hash] The complete object as a Ruby hash
|
68
|
+
def to_h
|
69
|
+
to_hash
|
70
|
+
end
|
71
|
+
|
72
|
+
# @return [String] The complete object as a JSON string
|
73
|
+
def to_json(options = {})
|
74
|
+
to_hash.to_json(options)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#!/usr/bin/env ruby --enable-frozen-string-literal
|
2
|
+
#
|
3
|
+
# Copyright (c) 2020-2020 Comet Licensing Ltd.
|
4
|
+
# Please see the LICENSE file for usage information.
|
5
|
+
#
|
6
|
+
# SPDX-License-Identifier: MIT
|
7
|
+
#
|
8
|
+
# frozen_string_literal: true
|
9
|
+
|
10
|
+
require 'json'
|
11
|
+
|
12
|
+
module Comet
|
13
|
+
|
14
|
+
# UserOnServer is a typed class wrapper around the underlying Comet Server API data structure.
|
15
|
+
class UserOnServer
|
16
|
+
|
17
|
+
# @type [Number] server_id
|
18
|
+
attr_accessor :server_id
|
19
|
+
|
20
|
+
# @type [String] username
|
21
|
+
attr_accessor :username
|
22
|
+
|
23
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
24
|
+
attr_accessor :unknown_json_fields
|
25
|
+
|
26
|
+
def initialize
|
27
|
+
@unknown_json_fields = {}
|
28
|
+
end
|
29
|
+
|
30
|
+
# @param [String] json_string The complete object in JSON format
|
31
|
+
def from_json(json_string)
|
32
|
+
raise TypeError 'expected string' unless json_string.is_a? String
|
33
|
+
|
34
|
+
from_hash(JSON.parse(json_string))
|
35
|
+
end
|
36
|
+
|
37
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
38
|
+
def from_hash(obj)
|
39
|
+
raise TypeError 'expected hash' unless obj.is_a? Hash
|
40
|
+
|
41
|
+
obj.each do |k, v|
|
42
|
+
case k
|
43
|
+
when 'ServerID'
|
44
|
+
@server_id = v
|
45
|
+
when 'Username'
|
46
|
+
raise TypeError 'expected string' unless v.is_a? String
|
47
|
+
|
48
|
+
@username = v
|
49
|
+
else
|
50
|
+
@unknown_json_fields[k] = v
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# @return [Hash] The complete object as a Ruby hash
|
56
|
+
def to_hash
|
57
|
+
ret = {}
|
58
|
+
ret['ServerID'] = @server_id
|
59
|
+
ret['Username'] = @username
|
60
|
+
@unknown_json_fields.each do |k, v|
|
61
|
+
ret[k] = v
|
62
|
+
end
|
63
|
+
ret
|
64
|
+
end
|
65
|
+
|
66
|
+
# @return [Hash] The complete object as a Ruby hash
|
67
|
+
def to_h
|
68
|
+
to_hash
|
69
|
+
end
|
70
|
+
|
71
|
+
# @return [String] The complete object as a JSON string
|
72
|
+
def to_json(options = {})
|
73
|
+
to_hash.to_json(options)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,304 @@
|
|
1
|
+
#!/usr/bin/env ruby --enable-frozen-string-literal
|
2
|
+
#
|
3
|
+
# Copyright (c) 2020-2020 Comet Licensing Ltd.
|
4
|
+
# Please see the LICENSE file for usage information.
|
5
|
+
#
|
6
|
+
# SPDX-License-Identifier: MIT
|
7
|
+
#
|
8
|
+
# frozen_string_literal: true
|
9
|
+
|
10
|
+
require 'json'
|
11
|
+
|
12
|
+
module Comet
|
13
|
+
|
14
|
+
# UserPolicy is a typed class wrapper around the underlying Comet Server API data structure.
|
15
|
+
class UserPolicy
|
16
|
+
|
17
|
+
# @type [Boolean] prevent_request_storage_vault
|
18
|
+
attr_accessor :prevent_request_storage_vault
|
19
|
+
|
20
|
+
# @type [Boolean] prevent_add_custom_storage_vault
|
21
|
+
attr_accessor :prevent_add_custom_storage_vault
|
22
|
+
|
23
|
+
# @type [Boolean] prevent_edit_storage_vault
|
24
|
+
attr_accessor :prevent_edit_storage_vault
|
25
|
+
|
26
|
+
# @type [Boolean] hide_cloud_storage_branding
|
27
|
+
attr_accessor :hide_cloud_storage_branding
|
28
|
+
|
29
|
+
# @type [Boolean] prevent_delete_storage_vault
|
30
|
+
attr_accessor :prevent_delete_storage_vault
|
31
|
+
|
32
|
+
# @type [Comet::StorageVaultProviderPolicy] storage_vault_providers
|
33
|
+
attr_accessor :storage_vault_providers
|
34
|
+
|
35
|
+
# @type [Boolean] prevent_new_protected_item
|
36
|
+
attr_accessor :prevent_new_protected_item
|
37
|
+
|
38
|
+
# @type [Boolean] prevent_edit_protected_item
|
39
|
+
attr_accessor :prevent_edit_protected_item
|
40
|
+
|
41
|
+
# @type [Boolean] prevent_delete_protected_item
|
42
|
+
attr_accessor :prevent_delete_protected_item
|
43
|
+
|
44
|
+
# @type [Comet::ProtectedItemEngineTypePolicy] protected_item_engine_types
|
45
|
+
attr_accessor :protected_item_engine_types
|
46
|
+
|
47
|
+
# @type [Array<Comet::ExtraFileExclusion>] file_and_folder_mandatory_exclusions
|
48
|
+
attr_accessor :file_and_folder_mandatory_exclusions
|
49
|
+
|
50
|
+
# @type [Number] mode_schedule_skip_already_running
|
51
|
+
attr_accessor :mode_schedule_skip_already_running
|
52
|
+
|
53
|
+
# @type [Number] mode_admin_reset_password
|
54
|
+
attr_accessor :mode_admin_reset_password
|
55
|
+
|
56
|
+
# @type [Number] mode_admin_view_filenames
|
57
|
+
attr_accessor :mode_admin_view_filenames
|
58
|
+
|
59
|
+
# @type [Number] mode_require_user_reset_password
|
60
|
+
attr_accessor :mode_require_user_reset_password
|
61
|
+
|
62
|
+
# @type [Boolean] prevent_delete_single_snapshots
|
63
|
+
attr_accessor :prevent_delete_single_snapshots
|
64
|
+
|
65
|
+
# @type [Boolean] prevent_change_account_password
|
66
|
+
attr_accessor :prevent_change_account_password
|
67
|
+
|
68
|
+
# @type [Boolean] prevent_change_email_settings
|
69
|
+
attr_accessor :prevent_change_email_settings
|
70
|
+
|
71
|
+
# @type [Boolean] prevent_change_account_name
|
72
|
+
attr_accessor :prevent_change_account_name
|
73
|
+
|
74
|
+
# @type [Boolean] prevent_open_app_ui
|
75
|
+
attr_accessor :prevent_open_app_ui
|
76
|
+
|
77
|
+
# @type [Boolean] require_password_open_app_ui
|
78
|
+
attr_accessor :require_password_open_app_ui
|
79
|
+
|
80
|
+
# @type [Boolean] hide_app_import
|
81
|
+
attr_accessor :hide_app_import
|
82
|
+
|
83
|
+
# @type [Boolean] hide_app_version
|
84
|
+
attr_accessor :hide_app_version
|
85
|
+
|
86
|
+
# @type [Boolean] prevent_open_web_ui
|
87
|
+
attr_accessor :prevent_open_web_ui
|
88
|
+
|
89
|
+
# @type [Boolean] prevent_view_device_names
|
90
|
+
attr_accessor :prevent_view_device_names
|
91
|
+
|
92
|
+
# @type [Comet::DefaultEmailReportPolicy] default_email_reports
|
93
|
+
attr_accessor :default_email_reports
|
94
|
+
|
95
|
+
# @type [Comet::RetentionPolicy] default_storage_vault_retention
|
96
|
+
attr_accessor :default_storage_vault_retention
|
97
|
+
|
98
|
+
# @type [Boolean] enforce_storage_vault_retention
|
99
|
+
attr_accessor :enforce_storage_vault_retention
|
100
|
+
|
101
|
+
# @type [Boolean] prevent_protected_item_retention
|
102
|
+
attr_accessor :prevent_protected_item_retention
|
103
|
+
|
104
|
+
# @type [Hash{String => Comet::SourceConfig}] default_sources
|
105
|
+
attr_accessor :default_sources
|
106
|
+
|
107
|
+
# @type [Hash{String => Comet::BackupRuleConfig}] default_sources_backup_rules
|
108
|
+
attr_accessor :default_sources_backup_rules
|
109
|
+
|
110
|
+
# @type [Hash{String => Comet::BackupRuleConfig}] default_backup_rules
|
111
|
+
attr_accessor :default_backup_rules
|
112
|
+
|
113
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
114
|
+
attr_accessor :unknown_json_fields
|
115
|
+
|
116
|
+
def initialize
|
117
|
+
@file_and_folder_mandatory_exclusions = []
|
118
|
+
@default_sources = {}
|
119
|
+
@default_sources_backup_rules = {}
|
120
|
+
@default_backup_rules = {}
|
121
|
+
@unknown_json_fields = {}
|
122
|
+
end
|
123
|
+
|
124
|
+
# @param [String] json_string The complete object in JSON format
|
125
|
+
def from_json(json_string)
|
126
|
+
raise TypeError 'expected string' unless json_string.is_a? String
|
127
|
+
|
128
|
+
from_hash(JSON.parse(json_string))
|
129
|
+
end
|
130
|
+
|
131
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
132
|
+
def from_hash(obj)
|
133
|
+
raise TypeError 'expected hash' unless obj.is_a? Hash
|
134
|
+
|
135
|
+
obj.each do |k, v|
|
136
|
+
case k
|
137
|
+
when 'PreventRequestStorageVault'
|
138
|
+
@prevent_request_storage_vault = v
|
139
|
+
when 'PreventAddCustomStorageVault'
|
140
|
+
@prevent_add_custom_storage_vault = v
|
141
|
+
when 'PreventEditStorageVault'
|
142
|
+
@prevent_edit_storage_vault = v
|
143
|
+
when 'HideCloudStorageBranding'
|
144
|
+
@hide_cloud_storage_branding = v
|
145
|
+
when 'PreventDeleteStorageVault'
|
146
|
+
@prevent_delete_storage_vault = v
|
147
|
+
when 'StorageVaultProviders'
|
148
|
+
@storage_vault_providers = Comet::StorageVaultProviderPolicy.new
|
149
|
+
@storage_vault_providers.from_hash(v)
|
150
|
+
when 'PreventNewProtectedItem'
|
151
|
+
@prevent_new_protected_item = v
|
152
|
+
when 'PreventEditProtectedItem'
|
153
|
+
@prevent_edit_protected_item = v
|
154
|
+
when 'PreventDeleteProtectedItem'
|
155
|
+
@prevent_delete_protected_item = v
|
156
|
+
when 'ProtectedItemEngineTypes'
|
157
|
+
@protected_item_engine_types = Comet::ProtectedItemEngineTypePolicy.new
|
158
|
+
@protected_item_engine_types.from_hash(v)
|
159
|
+
when 'FileAndFolderMandatoryExclusions'
|
160
|
+
if v.nil?
|
161
|
+
@file_and_folder_mandatory_exclusions = []
|
162
|
+
else
|
163
|
+
@file_and_folder_mandatory_exclusions = Array.new(v.length)
|
164
|
+
v.each_with_index do |v1, i1|
|
165
|
+
@file_and_folder_mandatory_exclusions[i1] = Comet::ExtraFileExclusion.new
|
166
|
+
@file_and_folder_mandatory_exclusions[i1].from_hash(v1)
|
167
|
+
end
|
168
|
+
end
|
169
|
+
when 'ModeScheduleSkipAlreadyRunning'
|
170
|
+
@mode_schedule_skip_already_running = v
|
171
|
+
when 'ModeAdminResetPassword'
|
172
|
+
@mode_admin_reset_password = v
|
173
|
+
when 'ModeAdminViewFilenames'
|
174
|
+
@mode_admin_view_filenames = v
|
175
|
+
when 'ModeRequireUserResetPassword'
|
176
|
+
@mode_require_user_reset_password = v
|
177
|
+
when 'PreventDeleteSingleSnapshots'
|
178
|
+
@prevent_delete_single_snapshots = v
|
179
|
+
when 'PreventChangeAccountPassword'
|
180
|
+
@prevent_change_account_password = v
|
181
|
+
when 'PreventChangeEmailSettings'
|
182
|
+
@prevent_change_email_settings = v
|
183
|
+
when 'PreventChangeAccountName'
|
184
|
+
@prevent_change_account_name = v
|
185
|
+
when 'PreventOpenAppUI'
|
186
|
+
@prevent_open_app_ui = v
|
187
|
+
when 'RequirePasswordOpenAppUI'
|
188
|
+
@require_password_open_app_ui = v
|
189
|
+
when 'HideAppImport'
|
190
|
+
@hide_app_import = v
|
191
|
+
when 'HideAppVersion'
|
192
|
+
@hide_app_version = v
|
193
|
+
when 'PreventOpenWebUI'
|
194
|
+
@prevent_open_web_ui = v
|
195
|
+
when 'PreventViewDeviceNames'
|
196
|
+
@prevent_view_device_names = v
|
197
|
+
when 'DefaultEmailReports'
|
198
|
+
@default_email_reports = Comet::DefaultEmailReportPolicy.new
|
199
|
+
@default_email_reports.from_hash(v)
|
200
|
+
when 'DefaultStorageVaultRetention'
|
201
|
+
@default_storage_vault_retention = Comet::RetentionPolicy.new
|
202
|
+
@default_storage_vault_retention.from_hash(v)
|
203
|
+
when 'EnforceStorageVaultRetention'
|
204
|
+
@enforce_storage_vault_retention = v
|
205
|
+
when 'PreventProtectedItemRetention'
|
206
|
+
@prevent_protected_item_retention = v
|
207
|
+
when 'DefaultSources'
|
208
|
+
@default_sources = {}
|
209
|
+
if v.nil?
|
210
|
+
@default_sources = {}
|
211
|
+
else
|
212
|
+
v.each do |k1, v1|
|
213
|
+
@default_sources[k1] = Comet::SourceConfig.new
|
214
|
+
@default_sources[k1].from_hash(v1)
|
215
|
+
end
|
216
|
+
end
|
217
|
+
when 'DefaultSourcesBackupRules'
|
218
|
+
@default_sources_backup_rules = {}
|
219
|
+
if v.nil?
|
220
|
+
@default_sources_backup_rules = {}
|
221
|
+
else
|
222
|
+
v.each do |k1, v1|
|
223
|
+
@default_sources_backup_rules[k1] = Comet::BackupRuleConfig.new
|
224
|
+
@default_sources_backup_rules[k1].from_hash(v1)
|
225
|
+
end
|
226
|
+
end
|
227
|
+
when 'DefaultBackupRules'
|
228
|
+
@default_backup_rules = {}
|
229
|
+
if v.nil?
|
230
|
+
@default_backup_rules = {}
|
231
|
+
else
|
232
|
+
v.each do |k1, v1|
|
233
|
+
@default_backup_rules[k1] = Comet::BackupRuleConfig.new
|
234
|
+
@default_backup_rules[k1].from_hash(v1)
|
235
|
+
end
|
236
|
+
end
|
237
|
+
else
|
238
|
+
@unknown_json_fields[k] = v
|
239
|
+
end
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
# @return [Hash] The complete object as a Ruby hash
|
244
|
+
def to_hash
|
245
|
+
ret = {}
|
246
|
+
ret['PreventRequestStorageVault'] = @prevent_request_storage_vault
|
247
|
+
ret['PreventAddCustomStorageVault'] = @prevent_add_custom_storage_vault
|
248
|
+
ret['PreventEditStorageVault'] = @prevent_edit_storage_vault
|
249
|
+
ret['HideCloudStorageBranding'] = @hide_cloud_storage_branding
|
250
|
+
ret['PreventDeleteStorageVault'] = @prevent_delete_storage_vault
|
251
|
+
ret['StorageVaultProviders'] = @storage_vault_providers
|
252
|
+
ret['PreventNewProtectedItem'] = @prevent_new_protected_item
|
253
|
+
ret['PreventEditProtectedItem'] = @prevent_edit_protected_item
|
254
|
+
ret['PreventDeleteProtectedItem'] = @prevent_delete_protected_item
|
255
|
+
ret['ProtectedItemEngineTypes'] = @protected_item_engine_types
|
256
|
+
unless @file_and_folder_mandatory_exclusions.nil?
|
257
|
+
ret['FileAndFolderMandatoryExclusions'] = @file_and_folder_mandatory_exclusions
|
258
|
+
end
|
259
|
+
unless @mode_schedule_skip_already_running.nil?
|
260
|
+
ret['ModeScheduleSkipAlreadyRunning'] = @mode_schedule_skip_already_running
|
261
|
+
end
|
262
|
+
unless @mode_admin_reset_password.nil?
|
263
|
+
ret['ModeAdminResetPassword'] = @mode_admin_reset_password
|
264
|
+
end
|
265
|
+
unless @mode_admin_view_filenames.nil?
|
266
|
+
ret['ModeAdminViewFilenames'] = @mode_admin_view_filenames
|
267
|
+
end
|
268
|
+
unless @mode_require_user_reset_password.nil?
|
269
|
+
ret['ModeRequireUserResetPassword'] = @mode_require_user_reset_password
|
270
|
+
end
|
271
|
+
ret['PreventDeleteSingleSnapshots'] = @prevent_delete_single_snapshots
|
272
|
+
ret['PreventChangeAccountPassword'] = @prevent_change_account_password
|
273
|
+
ret['PreventChangeEmailSettings'] = @prevent_change_email_settings
|
274
|
+
ret['PreventChangeAccountName'] = @prevent_change_account_name
|
275
|
+
ret['PreventOpenAppUI'] = @prevent_open_app_ui
|
276
|
+
ret['RequirePasswordOpenAppUI'] = @require_password_open_app_ui
|
277
|
+
ret['HideAppImport'] = @hide_app_import
|
278
|
+
ret['HideAppVersion'] = @hide_app_version
|
279
|
+
ret['PreventOpenWebUI'] = @prevent_open_web_ui
|
280
|
+
ret['PreventViewDeviceNames'] = @prevent_view_device_names
|
281
|
+
ret['DefaultEmailReports'] = @default_email_reports
|
282
|
+
ret['DefaultStorageVaultRetention'] = @default_storage_vault_retention
|
283
|
+
ret['EnforceStorageVaultRetention'] = @enforce_storage_vault_retention
|
284
|
+
ret['PreventProtectedItemRetention'] = @prevent_protected_item_retention
|
285
|
+
ret['DefaultSources'] = @default_sources
|
286
|
+
ret['DefaultSourcesBackupRules'] = @default_sources_backup_rules
|
287
|
+
ret['DefaultBackupRules'] = @default_backup_rules
|
288
|
+
@unknown_json_fields.each do |k, v|
|
289
|
+
ret[k] = v
|
290
|
+
end
|
291
|
+
ret
|
292
|
+
end
|
293
|
+
|
294
|
+
# @return [Hash] The complete object as a Ruby hash
|
295
|
+
def to_h
|
296
|
+
to_hash
|
297
|
+
end
|
298
|
+
|
299
|
+
# @return [String] The complete object as a JSON string
|
300
|
+
def to_json(options = {})
|
301
|
+
to_hash.to_json(options)
|
302
|
+
end
|
303
|
+
end
|
304
|
+
end
|