Class: MistApi::TunnelProviderOptionsZscaler

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/mist_api/models/tunnel_provider_options_zscaler.rb

Overview

For zscaler-ipsec and zscaler-gre

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(aup_block_internet_until_accepted = false, aup_enabled = false, aup_force_ssl_inspection = false, aup_timeout_in_days = SKIP, auth_required = false, caution_enabled = false, dn_bandwidth = SKIP, idle_time_in_minutes = SKIP, ofw_enabled = false, sub_locations = SKIP, surrogate_ip = false, surrogate_ip_enforced_for_known_browsers = SKIP, surrogate_refresh_time_in_minutes = SKIP, up_bandwidth = SKIP, xff_forward_enabled = false) ⇒ TunnelProviderOptionsZscaler

Returns a new instance of TunnelProviderOptionsZscaler.



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 133

def initialize(aup_block_internet_until_accepted = false,
               aup_enabled = false, aup_force_ssl_inspection = false,
               aup_timeout_in_days = SKIP, auth_required = false,
               caution_enabled = false, dn_bandwidth = SKIP,
               idle_time_in_minutes = SKIP, ofw_enabled = false,
               sub_locations = SKIP, surrogate_ip = false,
               surrogate_ip_enforced_for_known_browsers = SKIP,
               surrogate_refresh_time_in_minutes = SKIP,
               up_bandwidth = SKIP, xff_forward_enabled = false)
  unless aup_block_internet_until_accepted == SKIP
    @aup_block_internet_until_accepted =
      aup_block_internet_until_accepted
  end
  @aup_enabled = aup_enabled unless aup_enabled == SKIP
  @aup_force_ssl_inspection = aup_force_ssl_inspection unless aup_force_ssl_inspection == SKIP
  @aup_timeout_in_days = aup_timeout_in_days unless aup_timeout_in_days == SKIP
  @auth_required = auth_required unless auth_required == SKIP
  @caution_enabled = caution_enabled unless caution_enabled == SKIP
  @dn_bandwidth = dn_bandwidth unless dn_bandwidth == SKIP
  @idle_time_in_minutes = idle_time_in_minutes unless idle_time_in_minutes == SKIP
  @ofw_enabled = ofw_enabled unless ofw_enabled == SKIP
  @sub_locations = sub_locations unless sub_locations == SKIP
  @surrogate_ip = surrogate_ip unless surrogate_ip == SKIP
  unless surrogate_ip_enforced_for_known_browsers == SKIP
    @surrogate_ip_enforced_for_known_browsers =
      surrogate_ip_enforced_for_known_browsers
  end
  unless surrogate_refresh_time_in_minutes == SKIP
    @surrogate_refresh_time_in_minutes =
      surrogate_refresh_time_in_minutes
  end
  @up_bandwidth = up_bandwidth unless up_bandwidth == SKIP
  @xff_forward_enabled = xff_forward_enabled unless xff_forward_enabled == SKIP
end

Instance Attribute Details

#aup_block_internet_until_acceptedTrueClass | FalseClass

TODO: Write general description for this method

Returns:

  • (TrueClass | FalseClass)


14
15
16
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 14

def aup_block_internet_until_accepted
  @aup_block_internet_until_accepted
end

#aup_enabledTrueClass | FalseClass

Can only be ‘true` when `auth_required`==`false`, display Acceptable Use Policy (AUP)

Returns:

  • (TrueClass | FalseClass)


19
20
21
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 19

def aup_enabled
  @aup_enabled
end

#aup_force_ssl_inspectionTrueClass | FalseClass

Proxy HTTPs traffic, requiring Zscaler cert to be installed in browser

Returns:

  • (TrueClass | FalseClass)


23
24
25
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 23

def aup_force_ssl_inspection
  @aup_force_ssl_inspection
end

#aup_timeout_in_daysInteger

Required if ‘aup_enabled`==`true`. Days before AUP is requested again

Returns:

  • (Integer)


27
28
29
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 27

def aup_timeout_in_days
  @aup_timeout_in_days
end

#auth_requiredTrueClass | FalseClass

Enable this option to enforce user authentication

Returns:

  • (TrueClass | FalseClass)


31
32
33
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 31

def auth_required
  @auth_required
end

#caution_enabledTrueClass | FalseClass

Can only be ‘true` when `auth_required`==`false`, display caution notification for non-authenticated users

Returns:

  • (TrueClass | FalseClass)


36
37
38
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 36

def caution_enabled
  @caution_enabled
end

#dn_bandwidthFloat

Download bandwidth cap of the link, in Mbps. Disabled if not set

Returns:

  • (Float)


40
41
42
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 40

def dn_bandwidth
  @dn_bandwidth
end

#idle_time_in_minutesInteger

Required if ‘surrogate_IP`==`true`, idle Time to Disassociation

Returns:

  • (Integer)


44
45
46
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 44

def idle_time_in_minutes
  @idle_time_in_minutes
end

#ofw_enabledTrueClass | FalseClass

If ‘true`, enable the firewall control option

Returns:

  • (TrueClass | FalseClass)


48
49
50
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 48

def ofw_enabled
  @ofw_enabled
end

#sub_locationsArray[TunnelProviderOptionsZscalerSubLocation]

‘sub-locations` can be used for specific uses cases to define different configuration based on the user network



53
54
55
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 53

def sub_locations
  @sub_locations
end

#surrogate_ipTrueClass | FalseClass

Can only be ‘true` when `auth_required`==`true`. Map a user to a private IP address so it applies the user’s policies, instead of the location’s policies

Returns:

  • (TrueClass | FalseClass)


59
60
61
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 59

def surrogate_ip
  @surrogate_ip
end

#surrogate_ip_enforced_for_known_browsersTrueClass | FalseClass

Can only be ‘true` when `surrogate_IP`==`true`, enforce surrogate IP for known browsers

Returns:

  • (TrueClass | FalseClass)


64
65
66
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 64

def surrogate_ip_enforced_for_known_browsers
  @surrogate_ip_enforced_for_known_browsers
end

#surrogate_refresh_time_in_minutesInteger

Required if ‘surrogate_IP_enforced_for_known_browsers`==`true`, must be lower or equal than `idle_time_in_minutes`, refresh Time for re-validation of Surrogacy

Returns:

  • (Integer)


70
71
72
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 70

def surrogate_refresh_time_in_minutes
  @surrogate_refresh_time_in_minutes
end

#up_bandwidthFloat

Download bandwidth cap of the link, in Mbps. Disabled if not set

Returns:

  • (Float)


74
75
76
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 74

def up_bandwidth
  @up_bandwidth
end

#xff_forward_enabledTrueClass | FalseClass

Location uses proxy chaining to forward traffic

Returns:

  • (TrueClass | FalseClass)


78
79
80
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 78

def xff_forward_enabled
  @xff_forward_enabled
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 169

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  aup_block_internet_until_accepted =
    hash['aup_block_internet_until_accepted'] ||= false
  aup_enabled = hash['aup_enabled'] ||= false
  aup_force_ssl_inspection = hash['aup_force_ssl_inspection'] ||= false
  aup_timeout_in_days =
    hash.key?('aup_timeout_in_days') ? hash['aup_timeout_in_days'] : SKIP
  auth_required = hash['auth_required'] ||= false
  caution_enabled = hash['caution_enabled'] ||= false
  dn_bandwidth = hash.key?('dn_bandwidth') ? hash['dn_bandwidth'] : SKIP
  idle_time_in_minutes =
    hash.key?('idle_time_in_minutes') ? hash['idle_time_in_minutes'] : SKIP
  ofw_enabled = hash['ofw_enabled'] ||= false
  # Parameter is an array, so we need to iterate through it
  sub_locations = nil
  unless hash['sub_locations'].nil?
    sub_locations = []
    hash['sub_locations'].each do |structure|
      sub_locations << (TunnelProviderOptionsZscalerSubLocation.from_hash(structure) if structure)
    end
  end

  sub_locations = SKIP unless hash.key?('sub_locations')
  surrogate_ip = hash['surrogate_IP'] ||= false
  surrogate_ip_enforced_for_known_browsers =
    hash.key?('surrogate_IP_enforced_for_known_browsers') ? hash['surrogate_IP_enforced_for_known_browsers'] : SKIP
  surrogate_refresh_time_in_minutes =
    hash.key?('surrogate_refresh_time_in_minutes') ? hash['surrogate_refresh_time_in_minutes'] : SKIP
  up_bandwidth = hash.key?('up_bandwidth') ? hash['up_bandwidth'] : SKIP
  xff_forward_enabled = hash['xff_forward_enabled'] ||= false

  # Create object from extracted values.
  TunnelProviderOptionsZscaler.new(aup_block_internet_until_accepted,
                                   aup_enabled,
                                   aup_force_ssl_inspection,
                                   aup_timeout_in_days,
                                   auth_required,
                                   caution_enabled,
                                   dn_bandwidth,
                                   idle_time_in_minutes,
                                   ofw_enabled,
                                   sub_locations,
                                   surrogate_ip,
                                   surrogate_ip_enforced_for_known_browsers,
                                   surrogate_refresh_time_in_minutes,
                                   up_bandwidth,
                                   xff_forward_enabled)
end

.namesObject

A mapping from model property names to API property names.



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 81

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['aup_block_internet_until_accepted'] =
    'aup_block_internet_until_accepted'
  @_hash['aup_enabled'] = 'aup_enabled'
  @_hash['aup_force_ssl_inspection'] = 'aup_force_ssl_inspection'
  @_hash['aup_timeout_in_days'] = 'aup_timeout_in_days'
  @_hash['auth_required'] = 'auth_required'
  @_hash['caution_enabled'] = 'caution_enabled'
  @_hash['dn_bandwidth'] = 'dn_bandwidth'
  @_hash['idle_time_in_minutes'] = 'idle_time_in_minutes'
  @_hash['ofw_enabled'] = 'ofw_enabled'
  @_hash['sub_locations'] = 'sub_locations'
  @_hash['surrogate_ip'] = 'surrogate_IP'
  @_hash['surrogate_ip_enforced_for_known_browsers'] =
    'surrogate_IP_enforced_for_known_browsers'
  @_hash['surrogate_refresh_time_in_minutes'] =
    'surrogate_refresh_time_in_minutes'
  @_hash['up_bandwidth'] = 'up_bandwidth'
  @_hash['xff_forward_enabled'] = 'xff_forward_enabled'
  @_hash
end

.nullablesObject

An array for nullable fields



126
127
128
129
130
131
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 126

def self.nullables
  %w[
    dn_bandwidth
    up_bandwidth
  ]
end

.optionalsObject

An array for optional fields



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 105

def self.optionals
  %w[
    aup_block_internet_until_accepted
    aup_enabled
    aup_force_ssl_inspection
    aup_timeout_in_days
    auth_required
    caution_enabled
    dn_bandwidth
    idle_time_in_minutes
    ofw_enabled
    sub_locations
    surrogate_ip
    surrogate_ip_enforced_for_known_browsers
    surrogate_refresh_time_in_minutes
    up_bandwidth
    xff_forward_enabled
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



236
237
238
239
240
241
242
243
244
245
246
247
248
249
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 236

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} aup_block_internet_until_accepted:"\
  " #{@aup_block_internet_until_accepted.inspect}, aup_enabled: #{@aup_enabled.inspect},"\
  " aup_force_ssl_inspection: #{@aup_force_ssl_inspection.inspect}, aup_timeout_in_days:"\
  " #{@aup_timeout_in_days.inspect}, auth_required: #{@auth_required.inspect},"\
  " caution_enabled: #{@caution_enabled.inspect}, dn_bandwidth: #{@dn_bandwidth.inspect},"\
  " idle_time_in_minutes: #{@idle_time_in_minutes.inspect}, ofw_enabled:"\
  " #{@ofw_enabled.inspect}, sub_locations: #{@sub_locations.inspect}, surrogate_ip:"\
  " #{@surrogate_ip.inspect}, surrogate_ip_enforced_for_known_browsers:"\
  " #{@surrogate_ip_enforced_for_known_browsers.inspect}, surrogate_refresh_time_in_minutes:"\
  " #{@surrogate_refresh_time_in_minutes.inspect}, up_bandwidth: #{@up_bandwidth.inspect},"\
  " xff_forward_enabled: #{@xff_forward_enabled.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



222
223
224
225
226
227
228
229
230
231
232
233
# File 'lib/mist_api/models/tunnel_provider_options_zscaler.rb', line 222

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} aup_block_internet_until_accepted: #{@aup_block_internet_until_accepted},"\
  " aup_enabled: #{@aup_enabled}, aup_force_ssl_inspection: #{@aup_force_ssl_inspection},"\
  " aup_timeout_in_days: #{@aup_timeout_in_days}, auth_required: #{@auth_required},"\
  " caution_enabled: #{@caution_enabled}, dn_bandwidth: #{@dn_bandwidth},"\
  " idle_time_in_minutes: #{@idle_time_in_minutes}, ofw_enabled: #{@ofw_enabled},"\
  " sub_locations: #{@sub_locations}, surrogate_ip: #{@surrogate_ip},"\
  " surrogate_ip_enforced_for_known_browsers: #{@surrogate_ip_enforced_for_known_browsers},"\
  " surrogate_refresh_time_in_minutes: #{@surrogate_refresh_time_in_minutes}, up_bandwidth:"\
  " #{@up_bandwidth}, xff_forward_enabled: #{@xff_forward_enabled}>"
end