Class: MistApi::DeviceprofileGateway

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

Overview

Gateway Template is applied to a site for gateway(s) in a site.

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(name = nil, additional_config_cmds = SKIP, bgp_config = SKIP, created_time = SKIP, dhcpd_config = SKIP, dns_override = false, dns_servers = SKIP, dns_suffix = SKIP, extra_routes = SKIP, extra_routes6 = SKIP, gateway_matching = SKIP, id = SKIP, idp_profiles = SKIP, ip_configs = SKIP, modified_time = SKIP, networks = SKIP, ntp_override = false, ntp_servers = SKIP, oob_ip_config = SKIP, org_id = SKIP, path_preferences = SKIP, port_config = SKIP, router_id = SKIP, routing_policies = SKIP, service_policies = SKIP, tunnel_configs = SKIP, tunnel_provider_options = SKIP, url_filtering_deny_msg = 'Access to this URL Category has been blocked', vrf_config = SKIP, vrf_instances = SKIP, ssr_additional_config_cmds = SKIP, additional_properties = nil) ⇒ DeviceprofileGateway

Returns a new instance of DeviceprofileGateway.



229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 229

def initialize(
  name = nil, additional_config_cmds = SKIP, bgp_config = SKIP,
  created_time = SKIP, dhcpd_config = SKIP, dns_override = false,
  dns_servers = SKIP, dns_suffix = SKIP, extra_routes = SKIP,
  extra_routes6 = SKIP, gateway_matching = SKIP, id = SKIP,
  idp_profiles = SKIP, ip_configs = SKIP, modified_time = SKIP,
  networks = SKIP, ntp_override = false, ntp_servers = SKIP,
  oob_ip_config = SKIP, org_id = SKIP, path_preferences = SKIP,
  port_config = SKIP, router_id = SKIP, routing_policies = SKIP,
  service_policies = SKIP, tunnel_configs = SKIP,
  tunnel_provider_options = SKIP,
  url_filtering_deny_msg = 'Access to this URL Category has been blocked',
  vrf_config = SKIP, vrf_instances = SKIP,
  ssr_additional_config_cmds = SKIP, additional_properties = nil
)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @additional_config_cmds = additional_config_cmds unless additional_config_cmds == SKIP
  @bgp_config = bgp_config unless bgp_config == SKIP
  @created_time = created_time unless created_time == SKIP
  @dhcpd_config = dhcpd_config unless dhcpd_config == SKIP
  @dns_override = dns_override unless dns_override == SKIP
  @dns_servers = dns_servers unless dns_servers == SKIP
  @dns_suffix = dns_suffix unless dns_suffix == SKIP
  @extra_routes = extra_routes unless extra_routes == SKIP
  @extra_routes6 = extra_routes6 unless extra_routes6 == SKIP
  @gateway_matching = gateway_matching unless gateway_matching == SKIP
  @id = id unless id == SKIP
  @idp_profiles = idp_profiles unless idp_profiles == SKIP
  @ip_configs = ip_configs unless ip_configs == SKIP
  @modified_time = modified_time unless modified_time == SKIP
  @name = name
  @networks = networks unless networks == SKIP
  @ntp_override = ntp_override unless ntp_override == SKIP
  @ntp_servers = ntp_servers unless ntp_servers == SKIP
  @oob_ip_config = oob_ip_config unless oob_ip_config == SKIP
  @org_id = org_id unless org_id == SKIP
  @path_preferences = path_preferences unless path_preferences == SKIP
  @port_config = port_config unless port_config == SKIP
  @router_id = router_id unless router_id == SKIP
  @routing_policies = routing_policies unless routing_policies == SKIP
  @service_policies = service_policies unless service_policies == SKIP
  @tunnel_configs = tunnel_configs unless tunnel_configs == SKIP
  @tunnel_provider_options = tunnel_provider_options unless tunnel_provider_options == SKIP
  @type = 'gateway'
  @url_filtering_deny_msg = url_filtering_deny_msg unless url_filtering_deny_msg == SKIP
  @vrf_config = vrf_config unless vrf_config == SKIP
  @vrf_instances = vrf_instances unless vrf_instances == SKIP
  unless ssr_additional_config_cmds == SKIP
    @ssr_additional_config_cmds =
      ssr_additional_config_cmds
  end
  @additional_properties = additional_properties
end

Instance Attribute Details

#additional_config_cmdsArray[String]

additional CLI commands to append to the generated Junos config. Note: no check is done

Returns:

  • (Array[String])


15
16
17
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 15

def additional_config_cmds
  @additional_config_cmds
end

#bgp_configHash[String, BgpConfig]

additional CLI commands to append to the generated Junos config. Note: no check is done

Returns:



20
21
22
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 20

def bgp_config
  @bgp_config
end

#created_timeFloat

When the object has been created, in epoch

Returns:

  • (Float)


24
25
26
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 24

def created_time
  @created_time
end

#dhcpd_configDhcpdConfig

When the object has been created, in epoch

Returns:



28
29
30
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 28

def dhcpd_config
  @dhcpd_config
end

#dns_overrideTrueClass | FalseClass

When the object has been created, in epoch

Returns:

  • (TrueClass | FalseClass)


32
33
34
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 32

def dns_override
  @dns_override
end

#dns_serversArray[String]

Global dns settings. To keep compatibility, dns settings in ‘ip_config` and `oob_ip_config` will overwrite this setting

Returns:

  • (Array[String])


37
38
39
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 37

def dns_servers
  @dns_servers
end

#dns_suffixArray[String]

Global dns settings. To keep compatibility, dns settings in ‘ip_config` and `oob_ip_config` will overwrite this setting

Returns:

  • (Array[String])


42
43
44
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 42

def dns_suffix
  @dns_suffix
end

#extra_routesHash[String, GatewayExtraRoute]

Property key is the destination CIDR (e.g. “10.0.0.0/8”), the destination Network name or a variable (e.g. “{myvar}”)

Returns:



47
48
49
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 47

def extra_routes
  @extra_routes
end

#extra_routes6Hash[String, GatewayExtraRoute]

Property key is the destination CIDR (e.g. “2a02:1234:420a:10c9::/64”), the destination Network name or a variable (e.g. “{myvar}”)

Returns:



52
53
54
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 52

def extra_routes6
  @extra_routes6
end

#gateway_matchingGatewayMatching

Gateway matching

Returns:



56
57
58
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 56

def gateway_matching
  @gateway_matching
end

#idUUID | String

Unique ID of the object instance in the Mist Organization

Returns:

  • (UUID | String)


60
61
62
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 60

def id
  @id
end

#idp_profilesHash[String, IdpProfile]

Property key is the profile name

Returns:



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

def idp_profiles
  @idp_profiles
end

#ip_configsHash[String, GatewayIpConfigProperty]

Property key is the network name

Returns:



68
69
70
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 68

def ip_configs
  @ip_configs
end

#modified_timeFloat

When the object has been modified for the last time, in epoch

Returns:

  • (Float)


72
73
74
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 72

def modified_time
  @modified_time
end

#nameString

When the object has been modified for the last time, in epoch

Returns:

  • (String)


76
77
78
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 76

def name
  @name
end

#networksArray[Network]

When the object has been modified for the last time, in epoch

Returns:



80
81
82
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 80

def networks
  @networks
end

#ntp_overrideTrueClass | FalseClass

When the object has been modified for the last time, in epoch

Returns:

  • (TrueClass | FalseClass)


84
85
86
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 84

def ntp_override
  @ntp_override
end

#ntp_serversArray[String]

List of NTP servers specific to this device. By default, those in Site Settings will be used

Returns:

  • (Array[String])


89
90
91
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 89

def ntp_servers
  @ntp_servers
end

#oob_ip_configGatewayOobIpConfig

Out-of-band (vme/em0/fxp0) IP config

Returns:



93
94
95
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 93

def oob_ip_config
  @oob_ip_config
end

#org_idUUID | String

Out-of-band (vme/em0/fxp0) IP config

Returns:

  • (UUID | String)


97
98
99
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 97

def org_id
  @org_id
end

#path_preferencesHash[String, GatewayPathPreferences]

Property key is the path name

Returns:



101
102
103
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 101

def path_preferences
  @path_preferences
end

#port_configHash[String, GatewayPortConfig]

Property key is the port(s) name or range (e.g. “ge-0/0/0-10”)

Returns:



105
106
107
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 105

def port_config
  @port_config
end

#router_idString

Auto assigned if not set

Returns:

  • (String)


109
110
111
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 109

def router_id
  @router_id
end

#routing_policiesHash[String, GwRoutingPolicy]

Property key is the routing policy name

Returns:



113
114
115
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 113

def routing_policies
  @routing_policies
end

#service_policiesArray[ServicePolicy]

Property key is the routing policy name

Returns:



117
118
119
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 117

def service_policies
  @service_policies
end

#ssr_additional_config_cmdsArray[String]

additional CLI commands to append to the generated SSR config. Note: no check is done

Returns:

  • (Array[String])


148
149
150
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 148

def ssr_additional_config_cmds
  @ssr_additional_config_cmds
end

#tunnel_configsHash[String, TunnelConfig]

Property key is the tunnel name

Returns:



121
122
123
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 121

def tunnel_configs
  @tunnel_configs
end

#tunnel_provider_optionsTunnelProviderOptions

Property key is the tunnel name



125
126
127
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 125

def tunnel_provider_options
  @tunnel_provider_options
end

#typeString (readonly)

Device Type. enum: ‘gateway`

Returns:

  • (String)


129
130
131
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 129

def type
  @type
end

#url_filtering_deny_msgString

When a service policy denies a app_category, what message to show in user’s browser

Returns:

  • (String)


134
135
136
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 134

def url_filtering_deny_msg
  @url_filtering_deny_msg
end

#vrf_configVrfConfig

When a service policy denies a app_category, what message to show in user’s browser

Returns:



139
140
141
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 139

def vrf_config
  @vrf_config
end

#vrf_instancesHash[String, GatewayVrfInstance]

Property key is the network name

Returns:



143
144
145
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 143

def vrf_instances
  @vrf_instances
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 286

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  name = hash.key?('name') ? hash['name'] : nil
  additional_config_cmds =
    hash.key?('additional_config_cmds') ? hash['additional_config_cmds'] : SKIP
  bgp_config = BgpConfig.from_hash(hash['bgp_config']) if hash['bgp_config']

  bgp_config = SKIP unless hash.key?('bgp_config')
  created_time = hash.key?('created_time') ? hash['created_time'] : SKIP
  dhcpd_config = DhcpdConfig.from_hash(hash['dhcpd_config']) if hash['dhcpd_config']
  dns_override = hash['dnsOverride'] ||= false
  dns_servers = hash.key?('dns_servers') ? hash['dns_servers'] : SKIP
  dns_suffix = hash.key?('dns_suffix') ? hash['dns_suffix'] : SKIP
  extra_routes = GatewayExtraRoute.from_hash(hash['extra_routes']) if hash['extra_routes']

  extra_routes = SKIP unless hash.key?('extra_routes')
  extra_routes6 = GatewayExtraRoute.from_hash(hash['extra_routes6']) if hash['extra_routes6']

  extra_routes6 = SKIP unless hash.key?('extra_routes6')
  gateway_matching = GatewayMatching.from_hash(hash['gateway_matching']) if
    hash['gateway_matching']
  id = hash.key?('id') ? hash['id'] : SKIP
  idp_profiles = IdpProfile.from_hash(hash['idp_profiles']) if hash['idp_profiles']

  idp_profiles = SKIP unless hash.key?('idp_profiles')
  ip_configs = GatewayIpConfigProperty.from_hash(hash['ip_configs']) if hash['ip_configs']

  ip_configs = SKIP unless hash.key?('ip_configs')
  modified_time = hash.key?('modified_time') ? hash['modified_time'] : SKIP
  # Parameter is an array, so we need to iterate through it
  networks = nil
  unless hash['networks'].nil?
    networks = []
    hash['networks'].each do |structure|
      networks << (Network.from_hash(structure) if structure)
    end
  end

  networks = SKIP unless hash.key?('networks')
  ntp_override = hash['ntpOverride'] ||= false
  ntp_servers = hash.key?('ntp_servers') ? hash['ntp_servers'] : SKIP
  oob_ip_config = GatewayOobIpConfig.from_hash(hash['oob_ip_config']) if hash['oob_ip_config']
  org_id = hash.key?('org_id') ? hash['org_id'] : SKIP
  path_preferences = GatewayPathPreferences.from_hash(hash['path_preferences']) if
    hash['path_preferences']

  path_preferences = SKIP unless hash.key?('path_preferences')
  port_config = GatewayPortConfig.from_hash(hash['port_config']) if hash['port_config']

  port_config = SKIP unless hash.key?('port_config')
  router_id = hash.key?('router_id') ? hash['router_id'] : SKIP
  routing_policies = GwRoutingPolicy.from_hash(hash['routing_policies']) if
    hash['routing_policies']

  routing_policies = SKIP unless hash.key?('routing_policies')
  # Parameter is an array, so we need to iterate through it
  service_policies = nil
  unless hash['service_policies'].nil?
    service_policies = []
    hash['service_policies'].each do |structure|
      service_policies << (ServicePolicy.from_hash(structure) if structure)
    end
  end

  service_policies = SKIP unless hash.key?('service_policies')
  tunnel_configs = TunnelConfig.from_hash(hash['tunnel_configs']) if hash['tunnel_configs']

  tunnel_configs = SKIP unless hash.key?('tunnel_configs')
  tunnel_provider_options = TunnelProviderOptions.from_hash(hash['tunnel_provider_options']) if
    hash['tunnel_provider_options']
  url_filtering_deny_msg =
    hash['url_filtering_deny_msg'] ||= 'Access to this URL Category has been blocked'
  vrf_config = VrfConfig.from_hash(hash['vrf_config']) if hash['vrf_config']
  vrf_instances = GatewayVrfInstance.from_hash(hash['vrf_instances']) if hash['vrf_instances']

  vrf_instances = SKIP unless hash.key?('vrf_instances')
  ssr_additional_config_cmds =
    hash.key?('ssr_additional_config_cmds') ? hash['ssr_additional_config_cmds'] : SKIP

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  DeviceprofileGateway.new(name,
                           additional_config_cmds,
                           bgp_config,
                           created_time,
                           dhcpd_config,
                           dns_override,
                           dns_servers,
                           dns_suffix,
                           extra_routes,
                           extra_routes6,
                           gateway_matching,
                           id,
                           idp_profiles,
                           ip_configs,
                           modified_time,
                           networks,
                           ntp_override,
                           ntp_servers,
                           oob_ip_config,
                           org_id,
                           path_preferences,
                           port_config,
                           router_id,
                           routing_policies,
                           service_policies,
                           tunnel_configs,
                           tunnel_provider_options,
                           url_filtering_deny_msg,
                           vrf_config,
                           vrf_instances,
                           ssr_additional_config_cmds,
                           additional_properties)
end

.namesObject

A mapping from model property names to API property names.



151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 151

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['additional_config_cmds'] = 'additional_config_cmds'
  @_hash['bgp_config'] = 'bgp_config'
  @_hash['created_time'] = 'created_time'
  @_hash['dhcpd_config'] = 'dhcpd_config'
  @_hash['dns_override'] = 'dnsOverride'
  @_hash['dns_servers'] = 'dns_servers'
  @_hash['dns_suffix'] = 'dns_suffix'
  @_hash['extra_routes'] = 'extra_routes'
  @_hash['extra_routes6'] = 'extra_routes6'
  @_hash['gateway_matching'] = 'gateway_matching'
  @_hash['id'] = 'id'
  @_hash['idp_profiles'] = 'idp_profiles'
  @_hash['ip_configs'] = 'ip_configs'
  @_hash['modified_time'] = 'modified_time'
  @_hash['name'] = 'name'
  @_hash['networks'] = 'networks'
  @_hash['ntp_override'] = 'ntpOverride'
  @_hash['ntp_servers'] = 'ntp_servers'
  @_hash['oob_ip_config'] = 'oob_ip_config'
  @_hash['org_id'] = 'org_id'
  @_hash['path_preferences'] = 'path_preferences'
  @_hash['port_config'] = 'port_config'
  @_hash['router_id'] = 'router_id'
  @_hash['routing_policies'] = 'routing_policies'
  @_hash['service_policies'] = 'service_policies'
  @_hash['tunnel_configs'] = 'tunnel_configs'
  @_hash['tunnel_provider_options'] = 'tunnel_provider_options'
  @_hash['type'] = 'type'
  @_hash['url_filtering_deny_msg'] = 'url_filtering_deny_msg'
  @_hash['vrf_config'] = 'vrf_config'
  @_hash['vrf_instances'] = 'vrf_instances'
  @_hash['ssr_additional_config_cmds'] = 'ssr_additional_config_cmds'
  @_hash
end

.nullablesObject

An array for nullable fields



225
226
227
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 225

def self.nullables
  []
end

.optionalsObject

An array for optional fields



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
220
221
222
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 189

def self.optionals
  %w[
    additional_config_cmds
    bgp_config
    created_time
    dhcpd_config
    dns_override
    dns_servers
    dns_suffix
    extra_routes
    extra_routes6
    gateway_matching
    id
    idp_profiles
    ip_configs
    modified_time
    networks
    ntp_override
    ntp_servers
    oob_ip_config
    org_id
    path_preferences
    port_config
    router_id
    routing_policies
    service_policies
    tunnel_configs
    tunnel_provider_options
    url_filtering_deny_msg
    vrf_config
    vrf_instances
    ssr_additional_config_cmds
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 429

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} additional_config_cmds: #{@additional_config_cmds.inspect}, bgp_config:"\
  " #{@bgp_config.inspect}, created_time: #{@created_time.inspect}, dhcpd_config:"\
  " #{@dhcpd_config.inspect}, dns_override: #{@dns_override.inspect}, dns_servers:"\
  " #{@dns_servers.inspect}, dns_suffix: #{@dns_suffix.inspect}, extra_routes:"\
  " #{@extra_routes.inspect}, extra_routes6: #{@extra_routes6.inspect}, gateway_matching:"\
  " #{@gateway_matching.inspect}, id: #{@id.inspect}, idp_profiles: #{@idp_profiles.inspect},"\
  " ip_configs: #{@ip_configs.inspect}, modified_time: #{@modified_time.inspect}, name:"\
  " #{@name.inspect}, networks: #{@networks.inspect}, ntp_override: #{@ntp_override.inspect},"\
  " ntp_servers: #{@ntp_servers.inspect}, oob_ip_config: #{@oob_ip_config.inspect}, org_id:"\
  " #{@org_id.inspect}, path_preferences: #{@path_preferences.inspect}, port_config:"\
  " #{@port_config.inspect}, router_id: #{@router_id.inspect}, routing_policies:"\
  " #{@routing_policies.inspect}, service_policies: #{@service_policies.inspect},"\
  " tunnel_configs: #{@tunnel_configs.inspect}, tunnel_provider_options:"\
  " #{@tunnel_provider_options.inspect}, type: #{@type.inspect}, url_filtering_deny_msg:"\
  " #{@url_filtering_deny_msg.inspect}, vrf_config: #{@vrf_config.inspect}, vrf_instances:"\
  " #{@vrf_instances.inspect}, ssr_additional_config_cmds:"\
  " #{@ssr_additional_config_cmds.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
# File 'lib/mist_api/models/deviceprofile_gateway.rb', line 410

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} additional_config_cmds: #{@additional_config_cmds}, bgp_config:"\
  " #{@bgp_config}, created_time: #{@created_time}, dhcpd_config: #{@dhcpd_config},"\
  " dns_override: #{@dns_override}, dns_servers: #{@dns_servers}, dns_suffix: #{@dns_suffix},"\
  " extra_routes: #{@extra_routes}, extra_routes6: #{@extra_routes6}, gateway_matching:"\
  " #{@gateway_matching}, id: #{@id}, idp_profiles: #{@idp_profiles}, ip_configs:"\
  " #{@ip_configs}, modified_time: #{@modified_time}, name: #{@name}, networks: #{@networks},"\
  " ntp_override: #{@ntp_override}, ntp_servers: #{@ntp_servers}, oob_ip_config:"\
  " #{@oob_ip_config}, org_id: #{@org_id}, path_preferences: #{@path_preferences},"\
  " port_config: #{@port_config}, router_id: #{@router_id}, routing_policies:"\
  " #{@routing_policies}, service_policies: #{@service_policies}, tunnel_configs:"\
  " #{@tunnel_configs}, tunnel_provider_options: #{@tunnel_provider_options}, type: #{@type},"\
  " url_filtering_deny_msg: #{@url_filtering_deny_msg}, vrf_config: #{@vrf_config},"\
  " vrf_instances: #{@vrf_instances}, ssr_additional_config_cmds:"\
  " #{@ssr_additional_config_cmds}, additional_properties: #{@additional_properties}>"
end